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)