129 lines
4.6 KiB
JavaScript
129 lines
4.6 KiB
JavaScript
const Discord = require('discord.js');
|
|
const config = require('./config.json');
|
|
const {SlashCommandBuilder} = require("@discordjs/builders")
|
|
const friendsCommands = require('./friendsCommands.json')
|
|
const {GuildEmoji, Emoji, CommandInteraction} = require("discord.js");
|
|
const Client = new Discord.Client({
|
|
intents: [
|
|
Discord.Intents.FLAGS.GUILDS,
|
|
Discord.Intents.FLAGS.GUILD_MESSAGES,
|
|
Discord.Intents.FLAGS.GUILD_MESSAGE_REACTIONS,
|
|
Discord.Intents.FLAGS.GUILD_MEMBERS
|
|
]
|
|
});
|
|
/*const data = new SlashCommandBuilder()
|
|
.setName("role")
|
|
.setDescription("Créer un ajout de rôle")
|
|
.addRoleOption(option =>
|
|
option.setName('role')
|
|
.setDescription('Le rôle à ajouter')
|
|
.setRequired(true)
|
|
)*/
|
|
|
|
|
|
let embedCommands = new Discord.MessageEmbed().setTitle("Liste des commandes").setColor("#ff0505")
|
|
.setDescription("Voici mes commandes - (N'oublier pas le '!' )")
|
|
.setThumbnail("https://www.artmajeur.com/medias/standard/k/o/koldin-84/artwork/9533635_alone-anime-anime-art-anime-boy-favim-com-1898320.jpg")
|
|
.setTimestamp()
|
|
.setFooter("Si vous souhaitez rajouter une commande, n'hésitez pas à contacter mon créateur")
|
|
|
|
Client.on("ready", async () => {
|
|
fromCommandsToEmbed(friendsCommands.commands)
|
|
console.log(`Logged in as ${Client.user.tag}!`)
|
|
|
|
// pour tout les serveurs - lent : Client.application.commands.create(data)
|
|
/*await Client.guilds.cache.get("903598468306702336").commands.create(data)
|
|
.then(() => {
|
|
console.log(`Logged in as ${Client.user.tag}!`)
|
|
|
|
})
|
|
.catch(r => {
|
|
console.log("Erreur lors de l'ajout de la commande\n" + r)
|
|
Client.destroy()
|
|
})*/
|
|
|
|
})
|
|
|
|
Client.login(config.token)
|
|
/* config prod
|
|
* {
|
|
"clientId": "890975056400904242",
|
|
"guildId": "876543210987654321",
|
|
"token": "ODkwOTc1MDU2NDAwOTA0MjQy.YU3nLg.T5wCbJ4UuDBanMjVaE-JX-aSELo",
|
|
"authorId": "307975903999164416"
|
|
}
|
|
* { bot
|
|
"clientId": "905433349080875038",
|
|
"guildId": "876543210987654321",
|
|
"token": "OTA1NDMzMzQ5MDgwODc1MDM4.YYKAhA.lX9_YqbkTxlkSfnYPOKa2pl5V8s",
|
|
"authorId": "307975903999164416"
|
|
}
|
|
* */
|
|
// dev token OTA1NDMzMzQ5MDgwODc1MDM4.YYKAhA.lX9_YqbkTxlkSfnYPOKa2pl5V8s && "clientId": "905433349080875038",
|
|
Client.on("interactionCreate", async interaction => {
|
|
if (interaction.isCommand()) {
|
|
const {commandName} = interaction
|
|
if (commandName === "games") {
|
|
let embed = new Discord.MessageEmbed()
|
|
.setTitle("Mini-Jeux")
|
|
.setColor("#ff0505")
|
|
.setDescription("Voici mes mini-jeux en ligne")
|
|
.setThumbnail("https://www.artmajeur.com/medias/standard/k/o/koldin-84/artwork/9533635_alone-anime-anime-art-anime-boy-favim-com-1898320.jpg")
|
|
.addField("__SUTOM__", "https://sutom.nocle.fr/")
|
|
.addField("__WORlDLE__", "https://worldle.teuteuf.fr/")
|
|
.addField("__LETTERS__", "https://edjefferson.com/letterle/ ")
|
|
.setTimestamp()
|
|
await interaction.reply({embeds: [embed], ephemeral: true})
|
|
|
|
} else if (commandName === "help") {
|
|
await interaction.reply({embeds: [embedCommands], ephemeral: true})
|
|
|
|
} else if (commandName === 'role') {
|
|
console.log(interaction)
|
|
interaction.user.c
|
|
await interaction.reply({
|
|
content: `Ajout du role : <@&${interaction.options._hoistedOptions[0].value}>`,
|
|
fetchReply: true, ephemeral: true
|
|
})
|
|
|
|
}
|
|
}
|
|
})
|
|
Client.on('messageCreate', message => {
|
|
/*
|
|
console.log(`Message [${message.content}] sent from : ${message.author.username}#${message.author.tag}`)
|
|
*/
|
|
if (message.author.bot) {
|
|
} else if (message.content === "55857548596523514251458-)Nydalicor" && message.author.id === config.authorId) {
|
|
Client.destroy()
|
|
console.log("Bye Bye")
|
|
} else if (message.content === "update-)Nydalicor") {
|
|
Client.destroy()
|
|
console.log("Reloading... ")
|
|
Client.login(config.token)
|
|
console.log("Successfully reloaded")
|
|
} else if (message.content.indexOf("!") === 0) {
|
|
let commands = friendsCommands.commands
|
|
commands.forEach(command => {
|
|
if (message.content.substring(1, message.content.length) === command.key)
|
|
send(message, command.value)
|
|
})
|
|
}
|
|
})
|
|
|
|
|
|
function fromCommandsToEmbed(commands) {
|
|
commands.forEach(command => {
|
|
addCommandToEmbed(command.key, embedCommands)
|
|
})
|
|
}
|
|
|
|
function addCommandToEmbed(title, embed) {
|
|
embed.addField(title, "-")
|
|
}
|
|
|
|
function send(message, str) {
|
|
message.channel.send(str);
|
|
}
|
|
|