Aller au contenu principal

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 ! gif

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 !
token
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")
}
info

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",
});

}
info

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

pack

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 !

Note !

En cas d'erreur, recommencez du début ou venez demander de l'aide sur notre serveur discord !

Note 2 !

Pour ajouter des commandes à votre bot, il vous suffit maintenant de créer un fichier dans le dossier commands, et d'y mettre un code !
Je vous invite à consulter notre dossier Codes ! (il vaut mieux débuter par des codes assez simples, comme la commande say)