initial commit'
This commit is contained in:
parent
6f0c524a0b
commit
e685700791
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
config.json
|
||||||
|
.env
|
||||||
|
node_modules
|
||||||
|
.eslintrc.json
|
10
README.md
10
README.md
@ -1,2 +1,12 @@
|
|||||||
# Billy
|
# Billy
|
||||||
|
|
||||||
|
## Suggested Features to add
|
||||||
|
|
||||||
|
- a command that says nice things to the user
|
||||||
|
- a command that challenges the user writing
|
||||||
|
|
||||||
|
## Features to update
|
||||||
|
|
||||||
|
- Wordwar
|
||||||
|
- Poll
|
||||||
|
- Help
|
51
commands/eightBall.js
Normal file
51
commands/eightBall.js
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
const { SlashCommandBuilder } = require('@discordjs/builders');
|
||||||
|
|
||||||
|
const responses = [
|
||||||
|
"Pas régulièrement.",
|
||||||
|
"Dans cette économie actuelle ?!",
|
||||||
|
"On s'en fout, non ?",
|
||||||
|
"C'est pas faux.",
|
||||||
|
"Il dit qu'il voit pas le rapport.",
|
||||||
|
"J'ai pas regardé dans le tiroir ...",
|
||||||
|
"M'enfin ?!",
|
||||||
|
"Est ce bien nécessaire ?",
|
||||||
|
"Ce serait affligeant.",
|
||||||
|
"Je ne crois pas non.",
|
||||||
|
"Qu'est ce que t'insinues ?",
|
||||||
|
"Je demanderais à ma maman.",
|
||||||
|
"Elle a dit non !",
|
||||||
|
"Dans une certaine mesure.",
|
||||||
|
"Avec l'accord du pédiatre !",
|
||||||
|
"Seulement si tu te laves les mains.",
|
||||||
|
"Vous pouvez répéter la question ?",
|
||||||
|
"Bon sang, mais c'est bien sûr !",
|
||||||
|
"Mais vous êtes fous !",
|
||||||
|
"Mais evidemment !",
|
||||||
|
"Bizarrement, oui.",
|
||||||
|
"Essaye plus tard",
|
||||||
|
"Essaye encore",
|
||||||
|
"Une chance sur deux",
|
||||||
|
"Pas d'avis",
|
||||||
|
"Repose ta question",
|
||||||
|
"D'après moi oui ",
|
||||||
|
"C'est certain",
|
||||||
|
"Très probable",
|
||||||
|
"Sans aucun doute",
|
||||||
|
"Tu peux compter dessus",
|
||||||
|
"C'est non",
|
||||||
|
"Peu probable",
|
||||||
|
"Faut pas rêver",
|
||||||
|
"N'y compte pas",
|
||||||
|
"Impossible",
|
||||||
|
];
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
data: new SlashCommandBuilder()
|
||||||
|
.setName('8ball')
|
||||||
|
.setDescription('Replies with the right answer. Sometime.'),
|
||||||
|
async execute(interaction) {
|
||||||
|
const i = Math.floor(Math.random() * responses.length);
|
||||||
|
const reply = responses[i];
|
||||||
|
await interaction.reply(reply);
|
||||||
|
},
|
||||||
|
};
|
10
commands/ping.js
Normal file
10
commands/ping.js
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
const { SlashCommandBuilder } = require('@discordjs/builders');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
data: new SlashCommandBuilder()
|
||||||
|
.setName('ping')
|
||||||
|
.setDescription('Replies with Pong!'),
|
||||||
|
async execute(interaction) {
|
||||||
|
await interaction.reply('Pong!');
|
||||||
|
},
|
||||||
|
};
|
19
commands/poll.js
Normal file
19
commands/poll.js
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
|
||||||
|
const { SlashCommandBuilder, codeBlock } = require('@discordjs/builders');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
data: new SlashCommandBuilder()
|
||||||
|
.setName('poll')
|
||||||
|
.setDescription('Sondage')
|
||||||
|
.addStringOption(option =>
|
||||||
|
option.setName('question')
|
||||||
|
.setDescription('La question que vous souhaitez poser aux autres utilisateurs')
|
||||||
|
.setRequired(true)
|
||||||
|
),
|
||||||
|
async execute(interaction) {
|
||||||
|
const question = interaction.options.get('question').value;
|
||||||
|
const textReply = "";
|
||||||
|
console.log(question);
|
||||||
|
await interaction.reply('Sondage');
|
||||||
|
},
|
||||||
|
};
|
10
commands/randomducul.js
Normal file
10
commands/randomducul.js
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
const { SlashCommandBuilder } = require('@discordjs/builders');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
data: new SlashCommandBuilder()
|
||||||
|
.setName('randomducul')
|
||||||
|
.setDescription('Un truc random. Du cul.'),
|
||||||
|
async execute(interaction) {
|
||||||
|
await interaction.reply('Pong!');
|
||||||
|
},
|
||||||
|
};
|
10
commands/server.js
Normal file
10
commands/server.js
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
const { SlashCommandBuilder } = require('@discordjs/builders');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
data: new SlashCommandBuilder()
|
||||||
|
.setName('server')
|
||||||
|
.setDescription('Replies with Server info!'),
|
||||||
|
async execute(interaction) {
|
||||||
|
await interaction.reply(`Server name: ${interaction.guild.name}\nTotal members: ${interaction.guild.memberCount}`);
|
||||||
|
},
|
||||||
|
};
|
10
commands/user.js
Normal file
10
commands/user.js
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
const { SlashCommandBuilder } = require('@discordjs/builders');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
data: new SlashCommandBuilder()
|
||||||
|
.setName('user')
|
||||||
|
.setDescription('Replies with User info!'),
|
||||||
|
async execute(interaction) {
|
||||||
|
await interaction.reply(`Your tag: ${interaction.user.tag}\nYour id: ${interaction.user.id}`);
|
||||||
|
},
|
||||||
|
};
|
18
deploy-command.js
Normal file
18
deploy-command.js
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
const fs = require('fs');
|
||||||
|
const { REST } = require('@discordjs/rest');
|
||||||
|
const { Routes } = require('discord-api-types/v9');
|
||||||
|
const { clientId, guildId, token } = require('./config.json');
|
||||||
|
|
||||||
|
const commands = []
|
||||||
|
const commandFiles = fs.readdirSync('./commands').filter(file => file.endsWith('.js'));
|
||||||
|
|
||||||
|
for (const file of commandFiles) {
|
||||||
|
const command = require(`./commands/${file}`);
|
||||||
|
commands.push(command.data.toJSON());
|
||||||
|
}
|
||||||
|
|
||||||
|
const rest = new REST({ version: '9' }).setToken(token);
|
||||||
|
|
||||||
|
rest.put(Routes.applicationGuildCommands(clientId, guildId), { body: commands })
|
||||||
|
.then(() => console.log('Successfully registered application commands.'))
|
||||||
|
.catch(console.error);
|
7
events/ ready.js
Normal file
7
events/ ready.js
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
module.exports = {
|
||||||
|
name: 'ready',
|
||||||
|
once: true,
|
||||||
|
execute(client) {
|
||||||
|
console.log(`Ready! Logged in as ${client.user.tag}`);
|
||||||
|
},
|
||||||
|
};
|
18
events/guildMemberAdd.js
Normal file
18
events/guildMemberAdd.js
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
const { WelcomeChannel } = require("discord.js");
|
||||||
|
const { userMention } = require("@discordjs/builders");
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
name: 'guildMemberAdd',
|
||||||
|
async execute(member, guild) {
|
||||||
|
|
||||||
|
await guild.fetchWelcomeScreen()
|
||||||
|
.then(() => {
|
||||||
|
const channel = this.welcomeChannels;
|
||||||
|
channel.forEach(element => {
|
||||||
|
const nickname = memberNicknameMention(member.id);
|
||||||
|
await interaction.reply('Bienvenue ' + nickname + ' ! Mets toi à l\'aise, il y a des bières dans le frigo.');
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.catch(console.error);
|
||||||
|
},
|
||||||
|
};
|
17
events/interactionCreate.js
Normal file
17
events/interactionCreate.js
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
module.exports = {
|
||||||
|
name: 'interactionCreate',
|
||||||
|
async execute(interaction) {
|
||||||
|
if (!interaction.isCommand()) return;
|
||||||
|
|
||||||
|
const command = interaction.client.commands.get(interaction.commandName);
|
||||||
|
|
||||||
|
if (!command) return;
|
||||||
|
|
||||||
|
try {
|
||||||
|
await command.execute(interaction);
|
||||||
|
} catch (error) {
|
||||||
|
console.error(error);
|
||||||
|
await interaction.reply({ content: 'There was an error while executing this command!', ephemeral: true });
|
||||||
|
} console.log(`${interaction.user.tag} in #${interaction.channel.name} triggered an interaction.`);
|
||||||
|
},
|
||||||
|
};
|
33
index.js
Normal file
33
index.js
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
// Require the necessary discord.js classes
|
||||||
|
const fs = require('fs');
|
||||||
|
const { Client, Collection, Intents } = require('discord.js');
|
||||||
|
const { token } = require('./config.json');
|
||||||
|
|
||||||
|
// Create a new client instance
|
||||||
|
const client = new Client({ intents: [Intents.FLAGS.GUILDS] });
|
||||||
|
|
||||||
|
// Allow client to keep track of commands so other commands can use them
|
||||||
|
client.commands = new Collection();
|
||||||
|
const commandFiles = fs.readdirSync('./commands').filter(file => file.endsWith('.js'));
|
||||||
|
|
||||||
|
for (const file of commandFiles) {
|
||||||
|
const command = require(`./commands/${file}`);
|
||||||
|
// Set a new item in the Collection
|
||||||
|
// With the key as the command name and the value as the exported module
|
||||||
|
client.commands.set(command.data.name, command);
|
||||||
|
}
|
||||||
|
|
||||||
|
//keep track of different event handlers in an array, same as commands
|
||||||
|
const eventFiles = fs.readdirSync('./events').filter(file => file.endsWith('.js'));
|
||||||
|
|
||||||
|
for (const file of eventFiles) {
|
||||||
|
const event = require(`./events/${file}`);
|
||||||
|
if (event.once) {
|
||||||
|
client.once(event.name, (...args) => event.execute(...args));
|
||||||
|
} else {
|
||||||
|
client.on(event.name, (...args) => event.execute(...args));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Login to Discord with your client's token
|
||||||
|
client.login(token);
|
2328
package-lock.json
generated
Normal file
2328
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
24
package.json
Normal file
24
package.json
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"name": "billy",
|
||||||
|
"version": "2.0.0",
|
||||||
|
"description": "Billy the bot, the most terrible of all the bots",
|
||||||
|
"main": "index.js",
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.nemo.click/nemo/Billy.git"
|
||||||
|
},
|
||||||
|
"author": "Nemo",
|
||||||
|
"license": "GPL-3.0-or-later",
|
||||||
|
"dependencies": {
|
||||||
|
"@discordjs/builders": "^0.8.2",
|
||||||
|
"@discordjs/rest": "^0.1.0-canary.0",
|
||||||
|
"discord-api-types": "^0.24.0",
|
||||||
|
"discord.js": "^13.3.1"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"eslint": "^8.2.0"
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user