Cette documentation n'est plus à jour depuis trop longtemps. Si vous voulez de l'aide, veuillez rejoindre ce serveur Discord et lire cet article qui date de Septembre 2021 mais qui est fréquemment mis à jour.
Si vous souhaitez un robot pour automatiquement supprimer les insultes, n'hésitez pas à vous renseigner sur Mr. Robøt.
Envoyer des messages privés
Pour commencer, on peut demander très rapidement au robot d'envoyer un message privé.
Testez l'exemple ci-dessous:
mp.js
if (msg.content.startsWith(prefix +"mp")) {msg.author.send("Salut !") // Texte envoyé en message privé par l'auteur de la commande}
Tapez la commande ".mp" dans un salon textuel sur un serveur depuis lequel le robot peut accéder.
Par message privé, votre robot aura répondu:
Vous pouvez combiner plusieurs réponses, afin d'obtenir le résultat suivant, par exemple:
Voici le code source de la commande:
help.js
if (msg.content.startsWith(prefix +"help")) {msg.channel.send("La liste des commandes vous a été envoyée en message privé ! :white_check_mark:")msg.author.send("Liste des commandes disponibles sur le robot:\n\n.help **-** Affiche la liste des commandes disponibles sur le bot.\n.ping **-** Répond à l'utilisateur afin de tetser la réactivité du bot.\n.mp **-** Envoie un message privé à l'utilisateur.\n.markdown **-** Affiche toutes les combinaisons possibles de Markdown sur Discord.")
}
Vous trouvez peut être que le message n'est pas très esthétique, et oui, on peut faire plus beau !
Pour rendre un message plus joli, vous pouvez utiliser des embeds.
Il existe 2 différents type d'embeds:
Le "petit embed"
Le "petit embed" est vraiment très simple, et permet de rédiger des messages très courts.
embed.js
if (msg.content.startsWith(prefix +"embed")) {constembed= { color:3447003, description:"Contenu du message." }msg.channel.send({embed}); });
L'embed normal
L'embed normal est le plus utilisé et convient pour à peu près toutes les utilisations.
embed.js
if (msg.content.startsWith(prefix +"embed")) {constembed= { color:16746215, author: { name:msg.author.username, icon_url:msg.author.avatarURL }, title:"Titre de l'embed.", url:"https://devcommunity.gitbook.io/bot", description:"Description de l'embed", fields: [{ name:"Catégories", value:"Un embed est divisé en différentes catégories." }, { name:"Markdown", value:"Markdown, qui a été expliqué dans le chapitre précédent, est utilisable ici." }, { name:"Hyperliens", value:"Vous pouvez utiliser des hyperliens. Celui-ci mène à [DuckDuckGo](https://duckduckgo.com)." } ], timestamp:newDate(), footer: { icon_url:client.user.avatarURL, text:client.user.username } }msg.channel.send({embed});});
En comparant le code et l'image ci-dessus, vous connaissez quels champs affichent quoi et pouvez ainsi créer vos propres embeds.
Vos messages seront désormais plus jolis. Mais ne nous arrêtons pas en si bon chemin !
Expulser un utilisateur
Si votre bot prend en charge des fonctions de modération, la commande pour kick un utilisateur est indispensable. Voici le code pour réaliser une telle fonction :
kick.js
if (msg.content.startsWith(prefix + "kick")) { // On exécute les instructions en dessous si la commande "kick" est utilisée
if (msg.member.hasPermission("KICK_MEMBERS")) { // On exécute les instructions en dessous si l'auteur de la commande à la permission d'expulser un utilisateur. Sinon, on exécute les actions présentes à partir de la ligne 7
let member = msg.mentions.members.first(); // La variable nommée "member" contient désormais comme valeur l'identifiant de la personne à expulser
member.kick(member); // On expulse l'utilisateur correspondant à l'identifiant trouvé dans la variable "member" msg.channel.send(":white_check_mark: " + member.displayName + " a été expulsé(e) !") // On confirme que l'utilisateur a été expulsé (optionnel)
console.log(msg.author.tag + " a expulsé " + member.displayName + " (" + member + ") du serveur " + msg.guild.name) // On dit dans la console que l'utilisateur a été expulsé (optionnel)
} else { // Voir le commentaire de la ligne 2 msg.channel.send(":x: Vous n'avez pas la permission d'expulser un utilisateur.") // On infome l'auteur de la commande qu'il n'a pas les permissions nécessaires pour effectuer cette action (optionnel)
console.log(msg.author.tag + " a voulu expulser un utilisateur sur le serveur " + msg.guild.name + ", mais il n'avait pas la permission d'expulser un utilisateur.") // On dit dans la console que l'auteur de la commande n'a pas pu effectuer cette action (optionnel)
}}
Bannir un utilisateur
Bannir un utilisateur ressemble énormément à la manière dont on expulse un utilisateur. Voici le code de la commande :
ban.js
if (msg.content.startsWith(prefix + "kick")) { // On exécute les instructions en dessous si la commande "kick" est utilisée
if (msg.member.hasPermission("KICK_MEMBERS")) { // On exécute les instructions en dessous si l'auteur de la commande à la permission de bannir un utilisateur. Sinon, on exécute les actions présentes à partir de la ligne 7
let member = msg.mentions.members.first(); // La variable nommée "member" contient désormais comme valeur l'identifiant de la personne à bannir
member.kick(member); // On bannit l'utilisateur correspondant à l'identifiant trouvé dans la variable "member" msg.channel.send(":white_check_mark: " + member.displayName + " a été expulsé(e) !") // On confirme que l'utilisateur a été banni (optionnel)
console.log(msg.author.tag + " a banni " + member.displayName + " (" + member + ") du serveur " + msg.guild.name) // On dit dans la console que l'utilisateur a été banni (optionnel)
} else { // Voir le commentaire de la ligne 2 msg.channel.send(":x: Vous n'avez pas la permission de bannir un utilisateur.") // On infome l'auteur de la commande qu'il n'a pas les permissions nécessaires pour effectuer cette action (optionnel)
console.log(msg.author.tag + " a voulu bannir un utilisateur sur le serveur " + msg.guild.name + ", mais il n'avait pas la permission de bannir un un utilisateur.") // On dit dans la console que l'auteur de la commande n'a pas pu effectuer cette action (optionnel)
}}
Le contenu de cet page n'est pas terminé intégralement. Il sera terminé prochainement.