Cette documentation n'est plus à jour depuis trop longtemps. Si vous voulez de l'aide, veuillez et 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 .
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")) {
const embed = {
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")) {
const embed = {
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: new Date(),
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.