Skip to content

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_KEY n'est pas configure, le handler ne fait rien.

Configuration du modele

ParametreValeur
Modelellama-3.3-70b-versatile
Temperature1.1
Max tokens300
Timeout10 secondes
APIGroq (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 /help pour 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 :

SituationReponse
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.