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

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

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_from
  • internal_id
  • discord_webhook["data"]