Création d'un Bot
Étape 1. Créez une application (suivez le lien).
Étape 2. Ajoutez un bot (cliquez sur le bouton "Ajouter un Bot").

Étape 2.1. Dans la section Installation, sélectionnez Lien d'installation → Aucun.

Étape 2.2. Dans la section Bot, désactivez Bot public, puis activez les Intents suivants :
- Message Content Intent
- Server Members Intent
Vous pouvez également activer Presence Intent pour une utilisation future.


Étape 3. Obtenez le jeton (Réinitialiser le jeton).
Étape 4. Ajoutez le bot au serveur :
- Allez dans OAuth2 → Générateur d'URL.
- Dans Scopes, sélectionnez bot.
- Dans Permissions du bot, choisissez Envoyer des messages, Lire l'historique des messages et toute autre permission requise.
Ensuite, ouvrez le lien généré, sélectionnez le serveur où vous souhaitez ajouter le bot et confirmez l'autorisation.


Pour obtenir le webhook complet depuis Discord, attribuez simplement n'importe quelle valeur à la variable save_webhook.
Si la variable est définie, le webhook sera enregistré dans discord_webhook.
Connexion du Bot Discord dans MaviBot
Allez maintenant dans la section "Messageries" de votre projet dans MaviBot :

Collez ensuite le jeton copié depuis Discord.

Cliquez sur le bouton Terminé.
Fonctions de la Calculatrice
Répondre à un Message
discord_reply_to_message(message_id, text) - Cette fonction est utilisée pour répondre à un message.
| Paramètres | Description |
|---|---|
| ! message_id | L'ID du message auquel vous souhaitez répondre. |
| ! text | Le texte du message de réponse. |
Supprimer un Message
discord_delete_message(message_id) - Cette fonction est utilisée pour supprimer un message.
| Paramètres | Description |
|---|---|
| ! message_id | L'ID du message à supprimer. |
Modifier un Message
discord_edit_message(message_id, text) - Cette fonction est utilisée pour modifier un message.
| Paramètres | Description |
|---|---|
| ! message_id | L'ID du message à modifier. |
| ! text | Le nouveau texte du message. |
Épingler un Message
discord_pin_message(message_id) - Cette fonction est utilisée pour épingler un message.
| Paramètres | Description |
|---|---|
| ! message_id | L'ID du message à épingler. |
Désépingler un Message
discord_unpin_message(message_id) - Cette fonction est utilisée pour désépingler un message.
| Paramètres | Description |
|---|---|
| ! message_id | L'ID du message à désépingler. |
Envoyer une Réaction à un Message
discord_send_reaction(message_id, reaction) - Cette fonction est utilisée pour envoyer une réaction à un message.
| Paramètres | Description |
|---|---|
| ! message_id | L'ID du message auquel envoyer une réaction. |
| ! reaction | La réaction à envoyer. Vous pouvez fournir un seul emoji (par exemple ❤️) ou l'ID d'un emoji personnalisé sur le serveur. Des informations sur la façon d'obtenir l'ID d'un emoji personnalisé sont fournies ci-dessous. |
Supprimer une Réaction d'un Message dans un Salon
discord_delete_reaction(message_id, reaction, user_id) - Cette fonction est utilisée pour supprimer une réaction d'un message dans un salon.
| Paramètres | Description |
|---|---|
| ! message_id | L'ID du message duquel supprimer la réaction. |
| ! reaction | La réaction à supprimer. Vous pouvez fournir un seul emoji (par exemple ❤️) ou l'ID d'un emoji personnalisé sur le serveur. Des informations sur la façon d'obtenir l'ID d'un emoji personnalisé sont fournies ci-dessous. |
| user_id | L'ID de l'utilisateur dont vous souhaitez supprimer la réaction. Ce paramètre est facultatif si vous souhaitez supprimer la réaction du bot actuel. |
Fonctions Discord
Les fonctions suivantes vous permettent de gérer les serveurs Discord, les membres, les salons, les rôles, les messages et les invitations.
Modération des Membres
Bannir un Membre
discord_ban_member(user_id, delete_message_seconds) - Cette fonction est utilisée pour bannir un membre du serveur Discord.
| Paramètres | Description |
|---|---|
| ! user_id | L'ID utilisateur Discord du membre à bannir. |
| delete_message_seconds | (Facultatif) Supprime les messages précédents du membre à partir du nombre de secondes spécifié avant le bannissement. Définissez 0 pour conserver tous les messages. |
Débannir un Membre
discord_unban_member(user_id) - Cette fonction est utilisée pour supprimer un bannissement d'un membre.
| Paramètres | Description |
|---|---|
| ! user_id | L'ID utilisateur Discord du membre à débannir. |
Expulser un Membre
discord_kick_member(user_id) - Cette fonction est utilisée pour retirer un membre du serveur sans le bannir.
| Paramètres | Description |
|---|---|
| ! user_id | L'ID utilisateur Discord du membre à retirer. |
Un membre expulsé peut rejoindre le serveur à nouveau en utilisant un lien d'invitation valide.
Mettre un Membre en Temps Mort
discord_timeout_member(user_id, seconds) - Cette fonction est utilisée pour mettre un membre en temps mort (mute).
| Paramètres | Description |
|---|---|
| ! user_id | L'ID utilisateur Discord du membre. |
| ! seconds | Durée du temps mort en secondes. |
Supprimer le Temps Mort
discord_remove_timeout(user_id) - Cette fonction est utilisée pour supprimer le temps mort d'un membre avant son expiration.
| Paramètres | Description |
|---|---|
| ! user_id | L'ID utilisateur Discord du membre. |
Supprimer en Masse des Messages
discord_bulk_delete_messages(channel_id, message_ids) - Cette fonction est utilisée pour supprimer plusieurs messages d'un salon.
| Paramètres | Description |
|---|---|
| ! channel_id | L'ID du salon Discord. |
| ! message_ids | Une liste des IDs des messages à supprimer. |
Messages
Envoyer un Message
discord_send_message(channel_id, text) - Cette fonction est utilisée pour envoyer un message dans un salon Discord.
| Paramètres | Description |
|---|---|
| ! channel_id | L'ID du salon Discord. |
| ! text | Le texte du message. |
Obtenir un Message
discord_get_message(channel_id, message_id) - Cette fonction est utilisée pour récupérer des informations sur un message.
| Paramètres | Description |
|---|---|
| ! channel_id | L'ID du salon Discord. |
| ! message_id | L'ID du message. |
La fonction retourne :
- Le contenu du message
- Les informations sur l'auteur
- Les pièces jointes
Envoyer un Message Direct
discord_send_dm(user_id, text) - Cette fonction est utilisée pour envoyer un message direct à un membre du serveur.
| Paramètres | Description |
|---|---|
| ! user_id | L'ID utilisateur Discord. |
| ! text | Le texte du message. |
Rôles
Ajouter un Rôle
discord_add_role(user_id, role_id) - Cette fonction est utilisée pour attribuer un rôle à un membre.
| Paramètres | Description |
|---|---|
| ! user_id | L'ID utilisateur Discord. |
| ! role_id | L'ID du rôle Discord. |
Supprimer un Rôle
discord_remove_role(user_id, role_id) - Cette fonction est utilisée pour supprimer un rôle d'un membre.
| Paramètres | Description |
|---|---|
| ! user_id | L'ID utilisateur Discord. |
| ! role_id | L'ID du rôle Discord. |
Changer le Surnom d'un Membre
discord_set_nickname(user_id, nickname) - Cette fonction est utilisée pour changer le surnom d'un membre sur le serveur.
| Paramètres | Description |
|---|---|
| ! user_id | L'ID utilisateur Discord. |
| ! nickname | Le nouveau surnom. |
Obtenir les Rôles du Serveur
discord_get_roles() - Cette fonction est utilisée pour récupérer la liste des rôles du serveur.
La fonction retourne :
- L'ID du rôle
- Le nom du rôle
Membres
Obtenir les Informations d'un Membre
discord_get_member(user_id) - Cette fonction est utilisée pour récupérer des informations sur un membre du serveur.
| Paramètres | Description |
|---|---|
| ! user_id | L'ID utilisateur Discord. |
La fonction retourne :
- Les rôles du membre
- Le surnom sur le serveur
- La date d'arrivée
- Les permissions
Salons
Créer un Salon
discord_create_channel(name, type, parent_id, permission_overwrites) - Cette fonction est utilisée pour créer un nouveau salon Discord.
| Paramètres | Description |
|---|---|
| ! name | Le nom du salon. |
| ! type | Le type de salon (par exemple, texte ou vocal). |
| parent_id | L'ID de la catégorie où le salon sera créé. |
| permission_overwrites | Paramètres de permission du salon qui définissent quels utilisateurs ou rôles peuvent accéder au salon. |
Supprimer un Salon
discord_delete_channel(channel_id) - Cette fonction est utilisée pour supprimer un salon Discord.
| Paramètres | Description |
|---|---|
| ! channel_id | L'ID du salon Discord. |
Définir les Permissions d'un Salon
discord_set_channel_permission(channel_id, target_id, allow, deny) - Cette fonction est utilisée pour configurer les permissions d'un salon pour un utilisateur ou un rôle.
| Paramètres | Description |
|---|---|
| ! channel_id | L'ID du salon Discord. |
| ! target_id | L'ID de l'utilisateur ou l'ID du rôle dont les permissions seront modifiées. |
| ! allow | Permissions à accorder. |
| ! deny | Permissions à refuser. |
Invitations
Créer une invitation
discord_create_invite(channel_id, max_age, max_uses) - Cette fonction est utilisée pour créer un lien d'invitation.
| Paramètres | Description |
|---|---|
| ! channel_id | L'ID du canal Discord. |
| max_age | Durée de vie de l'invitation en secondes. Utilisez 0 pour une expiration illimitée. |
| max_uses | Nombre maximum d'utilisations. Utilisez 0 pour des utilisations illimitées. |
Obtenir les invitations du serveur
discord_get_invites() - Cette fonction est utilisée pour récupérer tous les liens d'invitation du serveur.
La fonction retourne :
- URL de l'invitation
- Nombre d'utilisations
- Durée de vie restante (le cas échéant)
Événements Webhook
Les événements Discord suivants peuvent être transmis au flux de discussion :
- Membre a rejoint le serveur
- Membre a quitté le serveur
- Membre a été expulsé
- Membre a été banni
- Membre a été débanni
- Rôles du membre modifiés
- Message modifié
- Message supprimé
- Réaction ajoutée
- Réaction supprimée
- Commande slash exécutée
- Bouton cliqué
Payload Webhook
Les données du webhook sont disponibles dans :
discord_webhook["data"]
| Champ | Description |
|---|---|
| author_id | ID utilisateur Discord de l'auteur du message. |
| username | Nom d'utilisateur Discord. |
| nickname | Surnom sur le serveur. |
| channel_id | ID du canal Discord. |
| guild_id | ID du serveur Discord. |
| message_id | ID du message Discord. |
| content | Texte du message. |
| roles | Liste des IDs des rôles du membre. |
| is_admin | Indique si le membre a des privilèges d'administrateur. |
Callbacks
Lorsqu'un utilisateur envoie une réaction, un callback est reçu dans le chat au format suivant :
new_like ❤️ uid413984787162726410

Où uid413984787162726410 est l'ID de l'utilisateur qui a envoyé la réaction.
Comment obtenir l'ID d'un emoji personnalisé
Si vous envoyez une réaction personnalisée à un message dans un canal Discord, un callback sera reçu au format suivant :
new_like beer:1479419477396291696 uid413984787162726410

Où beer:1479419477396291696 est l'ID de la réaction. Vous pouvez le copier pour l'utiliser dans les fonctions liées aux réactions.
Comment obtenir l'ID du message
Vous pouvez obtenir l'ID du message du client à partir du webhook si save_webhook est activé. Exemple :
data = discord_webhook["data"]
msg_id = data["id"]
result = discord_reply_to_message(msg_id, "Ceci est une réponse à un message")
Callbacks supplémentaires
En plus de new_like, les callbacks suivants sont disponibles :
| Callback | Description |
|---|---|
new_like {emoji} uid{user_id} |
Un utilisateur a ajouté une réaction à un message. |
reaction_remove {emoji} uid{user_id} |
Un utilisateur a supprimé une réaction d'un message. |
message_delete mid{message_id} |
Un message a été supprimé. |
message_edit mid{message_id} |
Un message a été modifié. Le texte du message mis à jour est disponible dans les données du webhook. |
member_join uid{user_id} |
Un membre a rejoint le serveur. |
member_leave uid{user_id} |
Un membre a quitté le serveur. |
member_update uid{user_id} |
Les informations d'un membre (telles que les rôles ou le surnom) ont été mises à jour. |
member_ban uid{user_id} |
Un membre a été banni du serveur. |
member_unban uid{user_id} |
Un membre a été débanni du serveur. |
Variables de callback
Pour rester cohérent avec le format d'événement Discord existant, les identifiants d'utilisateur et de message utilisent des préfixes historiques :
- Les IDs d'utilisateur sont retournés sous la forme
uid{user_id}. - Les IDs de message sont retournés sous la forme
mid{message_id}.
Les variables suivantes utilisent également ces identifiants préfixés :
message_frominternal_iddiscord_webhook["data"]