Comment créer un bot Discord avec intelligence artificielle
Un bot Discord avec IA peut automatiser les interactions sur votre serveur en utilisant des modèles de langage pour répondre intelligemment aux messages. Cette intégration transforme votre bot en assistant conversationnel capable de comprendre le contexte et de fournir des réponses pertinentes.
- Créer l'application Discord et obtenir le token. Rendez-vous sur https://discord.com/developers/applications et cliquez sur "New Application". Nommez votre bot, puis accédez à l'onglet "Bot" dans le menu latéral. Cliquez sur "Add Bot" et copiez le token affiché. Activez les "Privileged Gateway Intents" si votre bot doit lire le contenu des messages.
- Installer les dépendances Python. Créez un dossier pour votre projet et ouvrez un terminal. Installez discord.py avec `pip install discord.py`. Installez ensuite la bibliothèque OpenAI avec `pip install openai`. Créez un fichier requirements.txt contenant ces dépendances pour faciliter le déploiement.
- Configurer l'accès à l'API OpenAI. Créez un compte sur https://platform.openai.com et générez une clé API dans la section "API keys". Créez un fichier .env dans votre projet et ajoutez `DISCORD_TOKEN=votre_token_discord` et `OPENAI_API_KEY=votre_cle_openai`. Installez python-dotenv avec `pip install python-dotenv` pour charger ces variables.
- Programmer la structure de base du bot. Créez un fichier main.py et importez discord, openai et os. Initialisez le client Discord avec `client = discord.Client(intents=discord.Intents.all())`. Chargez vos variables d'environnement avec `load_dotenv()` et configurez openai.api_key. Créez l'événement `@client.event async def on_ready()` pour confirmer la connexion.
- Implémenter la logique de traitement des messages. Créez l'événement `@client.event async def on_message(message)` pour intercepter les messages. Ignorez les messages du bot lui-même avec `if message.author == client.user: return`. Détectez si le bot est mentionné avec `if client.user.mentioned_in(message)`. Extrayez le contenu du message et préparez-le pour l'API OpenAI.
- Intégrer l'API OpenAI pour générer les réponses. Créez une fonction asynchrone qui appelle l'API OpenAI avec `openai.ChatCompletion.create()`. Utilisez le modèle "gpt-3.5-turbo" avec un système prompt définissant le rôle du bot. Configurez max_tokens à 150 et temperature à 0.7 pour des réponses équilibrées. Gérez les erreurs avec try-except pour éviter les plantages.
- Tester et inviter le bot sur votre serveur. Dans l'onglet "OAuth2" > "URL Generator" de votre application Discord, sélectionnez "bot" dans les scopes et les permissions nécessaires. Copiez l'URL générée et ouvrez-la pour inviter le bot sur votre serveur. Lancez votre script avec `python main.py` et testez en mentionnant le bot dans un canal.
- Déployer le bot en production. Hébergez votre bot sur une plateforme comme Heroku, Railway ou un VPS. Configurez les variables d'environnement sur la plateforme choisie. Créez un Procfile avec `worker: python main.py` pour Heroku. Surveillez les logs pour identifier les erreurs et optimisez les performances.