Index et configuration
Pour utiliser ces codes à bon escient, je vous conseille d'abord de lire le guides "Créer votre premier bot"
.
Vous pouvez également aller voir le tutoriel en lien avec ce guide !
Vous avez créé votre premier bot ? Félicitations !
Le plus dur est à venir mais, grâce à cette page, je vous guiderai assez simplement afin de mettre en ligne et de configurer les bases du code de votre bot !
Etape 1 : Installer VSCode et ouvrir un nouveau dossier
Si vous ne possédez pas encore VSCode, je vous invite à l'installer, car c'est un outil très utile qui vous servira pour coder peu importe le langage !
Une fois installé, créez un nouveau dossier vierge sur votre bureau, ouvrez VSCode et ouvrez ce dossier à travers VSCode.
Dans ce dossier, créez le fichier index.js
, c'est le fichier base de votre bot !
Code de l'index.js
Une fois ce fichier créé, copiez le code suivant dans celui-ci !
//<------Configuration des constantes------>
const aoijs = require('aoi.js');
const config = require('./config.js'); //création d'un fichier de configuration
const bot = new aoijs.AoiClient(config.Bot); //création de l'objet Bot
const {
AoiVoice,
PlayerEvents,
PluginName,
Cacher,
Filter,
} = require(`@akarui/aoi.music`); // ajout du aoi.music
require('./handler/status.js')(bot) //statut handler
require('./handler/variables.js')(bot) //variables handler
const loader = new aoijs.LoadCommands(bot)
loader.load(bot.cmd,"./commands/") // handler des commandes
//<------Options de musique------>
const voice = new AoiVoice(bot, {
searchOptions: {
soundcloudClientId: "ID SoundCloud à remplir !",
youtubegl: "US",
},
requestOptions: {
offsetTimeout: 0,
soundcloudLikeTrackLimit: 200,
},
});
voice.addPlugin(PluginName.Cacher, new Cacher("memory" /* ou "disk" */));
voice.addPlugin( PluginName.Filter, new Filter( {
filterFromStart: false,
}));
voice.bindExecutor(bot.functionManager.interpreter);
voice.addEvent("trackStart"); //ajout des évents vocaux/musicaux
voice.addEvent("trackEnd");
voice.addEvent("queueEnd");
voice.addEvent("queueStart");
voice.addEvent("audioError");
voice.addEvent("trackPause");
voice.addEvent("trackResume");
loader.load(voice.cmds,"./voice/") //handler des commandes évents musique
//<------Commandes dans l'index------>
bot.readyCommand({ //commande de démarrage qui envoie un message dans la console, vous pouvez la custom pour qu'elle envoie aussi dans un salon discord
channel: "",
code: `$log[$userTag[$clientID] a redémarré avec succès :)]
`
})
Création du config.js
Une fois le code du fichier index.js
ajouté, créez un nouveau fichier nommé config.js
.
Dans celui-ci, nous mettrons les informations qui configurent le bot.
module.exports= {
Bot: {
token: "votre token de bot", //à remplir !
prefix: "$getGuildVar[prefix]",
//si pas de variable, mettez simplement le préfixe entre "", vous pouvez aussi mettre <@!$clientID> pour que le ping de votre bot soit un prefixe
//vous pouvez également mettre plusieurs préfixes en utilisant prefix: ["prefixe 1","prefixe 2"],
intents: ["Guilds", "GuildMembers", "GuildModeration", "GuildBans", "GuildEmojisAndStickers", "GuildIntegrations", "GuildWebhooks", "GuildInvites", "GuildVoiceStates", "GuildPresences", "GuildMessages", "GuildMessageReactions", "GuildMessageTyping", "DirectMessages", "DirectMessageReactions", "DirectMessageTyping", "MessageContent", "GuildScheduledEvents", "AutoModerationConfiguration", "AutoModerationExecution"],
events: ["onMessage", "onMessageDelete", "onMessageUpdate", "onMessageDeleteBulk", "onGuildJoin", "onGuildLeave", "onGuildUpdate", "onGuildUnavailable", "onRoleCreate", "onRoleUpdate", "onRoleDelete", "onChannelCreate", "onChannelUpdate", "onChannelDelete", "onChannelPinsUpdate", "onStageInstanceCreate", "onStageInstanceUpdate", "onStageInstanceDelete", "onThreadCreate", "onThreadUpdate", "onThreadDelete", "onThreadListSync", "onThreadMemberUpdate", "onThreadMembersUpdate", "onJoin", "onLeave", "onMemberUpdate", "onMemberAvailable", "onMembersChunk", "onEmojiCreate", "onEmojiDelete", "onEmojiUpdate", "onStickerCreate", "onStickerDelete", "onStickerUpdate", "onBanAdd", "onBanRemove", "onReactionAdd", "onReactionRemove", "onReactionRemoveAll", "onReactionRemoveEmoji", "onVoiceStateUpdate", "onPresenceUpdate", "onTypingStart", "onInteractionCreate", "onApplicationCommandPermissionsUpdate", "onUserUpdate", "onVariableCreate", "onVariableDelete", "onVariableUpdate", "onFunctionError", "onWebhookUpdate"],
// vous n'aurez pas forcément besoin de tous les intents et de tous les évents mais mettez les, ça évite les crashs
database: {
type:'default',
db:require('aoi.db'),
path:"./db/",
tables:["main"],
promisify:false
},
respondOnEdit:{
commands: true
},
suppressAllErrors: false, // pour faire semblant qu'il n'y a pas d'erreur mettez true mais c'est déconseillé
desktopPlatform: true // vous pouvez mettre mobilePlatform: true pour que votre bot soit "sur téléphone"
}
}
Ici, en lisant le contenu du code, vous verrez la ligne token: "votre token de bot",
et vous vous demanderez peut être ce qu'est un token de bot.
Pour l'obtenir, c'est assez simple !
Enfin, il faudra donc remplir votre ligne comme ceci :
token:"MTEzMDgxNDczNzU4ODk2NTQ1OA.GGPShM.3NlFqXQCgk3kvXtK1EyaV0yYJRXqRNylDgSw9g",
(mon token est un exemple, utilisez le vôtre !)
Création de l'handler à variables et statut
Dans votre dossier de bot, créez un nouveau dossier appelé "handler".
variables.js
Dans ce dossier, créez un fichier nommé variables.js
, c'est le fichier des variables !
Dans celui-ci, copiez le code suivant :
module.exports=(bot)=>{
bot.variables({
prefix:"*",
nom:"valeur",
},"main")
}
Dans ce fichier, on trouve le préfixe par défaut du bot ! Ici, le préfixe est *, mais vous pouvez le changer en ce que vous voulez !
Pour créez de nouvelles variables, suivez l'exemple en dessous du préfixe en sautant une ligne à chaque variable et sans oublier la virgule à la fin !
status.js
Dans le dossier handler, créez un nouveau fichier nommé status.js
, c'est le fichier du statut !
Dans celui-ci, copiez le code suivant :
module.exports = (bot) => {
bot.status({
text: "tutos",
type: "WATCHING",
});
}
Ici, le statut par défaut du bot sera "Regarde tutos".
Ce fichier est entièrement personnalisable grâce à la documentation aoi et bientôt grâce à un nouvel article sur ce site !
Création des derniers dossiers
Enfin, dans le dossier de votre bot, créez les dossiers commands
et voice
. Ces dossiers peuvent rester vides pour l'instant.
Installation des packages
Pour lancer votre bot, il faut installer certains packages afin que le bot puisse lire et exécuter les codes que vous lui donnez !
Pour installer ces packages, copiez la commande suivante dans un terminal !
npm i @akarui/aoi.parser aoi.js@latest @akarui/aoi.db @akarui/aoi.music
Lancement du bot
Enfin, dans ce même terminal, effectuez la commande node .
pour démarrer votre bot.
Félicitations, si vous n'avez pas fait d'erreur, votre bot est en ligne !
En cas d'erreur, recommencez du début ou venez demander de l'aide sur notre serveur discord !