Chat IA (Nekobot)
Le bot repond aux mentions avec une personnalite trash talk via l'API Groq.
Declenchement
Le chat est declenche uniquement quand le bot est mentionne (@Nekobot) dans un message. Les messages sans mention sont ignores.
Filtres appliques :
- Les bots sont ignores.
- Les DMs sont ignores.
- Seul le serveur configure (
DISCORD_GUILD_ID) est accepte. - Si
GROQ_API_KEYn'est pas configure, le handler ne fait rien.
Configuration du modele
| Parametre | Valeur |
|---|---|
| Modele | llama-3.3-70b-versatile |
| Temperature | 1.1 |
| Max tokens | 300 |
| Timeout | 10 secondes |
| API | Groq (api.groq.com) |
Personnalite
Le system prompt definit la personnalite du bot :
- Trash talk et insultes (serveur prive entre amis).
- Reponses courtes : 1 a 3 phrases maximum.
- Tutoiement, argot francais, emojis humiliants avec parcimonie.
- Ne donne jamais d'informations techniques sur le bot.
- Redirige vers
/helppour les questions techniques.
Memoire de conversation
La memoire est geree via une Map<channelId, messages[]> en memoire :
- Chaque salon conserve les 10 derniers messages (user + assistant).
- Le format est
{ role: 'user', content: 'username: message' }. - La memoire se reinitialise au redemarrage du bot.
- Chaque reponse du bot est ajoutee a l'historique du salon.
Messages de fallback
Deux cas sont geres avec des messages de fallback :
| Situation | Reponse |
|---|---|
| Mention sans texte | "T'as ping pour rien fdp ? Formule une phrase..." |
| API Groq injoignable ou erreur | "Meme mon API veut pas te repondre mdr" |
Indicateur de saisie
Avant d'appeler l'API, le bot envoie un indicateur de saisie (sendTyping) dans le salon pour montrer qu'il prepare une reponse.
Desactivation
Pour desactiver completement le chatbot, il suffit de retirer ou vider la variable d'environnement GROQ_API_KEY dans le .env. Le handler verifie cette variable au debut de chaque message.
