Push du programme
This commit is contained in:
parent
bf2efcc1ed
commit
e49f26cbf5
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
node_modules/
|
||||||
|
config.js
|
18
README.md
Normal file
18
README.md
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# Description
|
||||||
|
|
||||||
|
Ce bot permet de télécharger des fichiers .pdf de Google Drive et de les envoyer dans un salon discord
|
||||||
|
|
||||||
|
# Initialisation :
|
||||||
|
|
||||||
|
- npm i
|
||||||
|
- node . | node main.js
|
||||||
|
|
||||||
|
# Utilisation :
|
||||||
|
|
||||||
|
- Pour télécharger un fichier, renseignez soit le lien google drive ou juste l'ID au choix
|
||||||
|
- Pour la commande de reboot, n'oubliez pas de renseigner l'ID de l'utilisateur dans le fichier config.json
|
||||||
|
-
|
||||||
|
|
||||||
|
# Problème =>
|
||||||
|
|
||||||
|
Contactez moi sur discord : lantium#9204
|
17
commands/Developpeur/reboot.js
Normal file
17
commands/Developpeur/reboot.js
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
module.exports = {
|
||||||
|
name: 'reboot',
|
||||||
|
aliases: [],
|
||||||
|
utilisation: '{prefix}reboot',
|
||||||
|
|
||||||
|
async execute(client, message) {
|
||||||
|
|
||||||
|
const Members = client.config.admin;
|
||||||
|
|
||||||
|
if (!Members.includes(message.author.id))
|
||||||
|
return message.channel.send("Cette commande est réservé au développeur de LanBot");
|
||||||
|
await message.channel.send("Reboot en cours...");
|
||||||
|
|
||||||
|
await process.exit();
|
||||||
|
|
||||||
|
},
|
||||||
|
};
|
24
commands/core/help.js
Normal file
24
commands/core/help.js
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
const { MessageEmbed } = require('discord.js');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
name: 'help',
|
||||||
|
aliases: ['h'],
|
||||||
|
showHelp: false,
|
||||||
|
utilisation: '{prefix}help',
|
||||||
|
|
||||||
|
execute(client, message, args) {
|
||||||
|
const embed = new MessageEmbed();
|
||||||
|
|
||||||
|
embed.setColor('RED');
|
||||||
|
embed.setAuthor(client.user.username, client.user.displayAvatarURL({ size: 1024, dynamic: true }));
|
||||||
|
|
||||||
|
const commands = client.commands.filter(x => x.showHelp !== false);
|
||||||
|
|
||||||
|
embed.setDescription('Bienvenue sur la page d\'aide !');
|
||||||
|
embed.addField(`Actifs - ${commands.size}`, commands.map(x => `\`${x.name}${x.aliases[0] ? ` (${x.aliases.map(y => y).join(', ')})\`` : '\`'}`).join(' | '));
|
||||||
|
|
||||||
|
embed.setTimestamp();
|
||||||
|
|
||||||
|
message.channel.send({ embeds: [embed] });
|
||||||
|
},
|
||||||
|
};
|
47
commands/core/menuadd.js
Normal file
47
commands/core/menuadd.js
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
const { MessageAttachment } = require("discord.js");
|
||||||
|
const wget = require("node-wget");
|
||||||
|
const fs = require("fs");
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
name: "menu",
|
||||||
|
aliases: ["menu", "menuadd"],
|
||||||
|
utilisation: [
|
||||||
|
"Pour télécharger un fichier, renseignez soit le lien google drive ou juste l'ID",
|
||||||
|
"{prefix}menu <link_GDrive>",
|
||||||
|
"{prefix}menuadd <ID>"
|
||||||
|
],
|
||||||
|
|
||||||
|
async execute(client, message, args) {
|
||||||
|
if (!args[0])
|
||||||
|
return message.channel.send("Merci de me préciser un lien ! ");
|
||||||
|
|
||||||
|
const id = args[0].split("/")[5];
|
||||||
|
|
||||||
|
wget(
|
||||||
|
{
|
||||||
|
url: `https://drive.google.com/uc?export=download&id=${id}`,
|
||||||
|
dest: "./Files/menu.pdf", // destination path or path with filenname, default is ./
|
||||||
|
},
|
||||||
|
function (error, response, body) {
|
||||||
|
if (error) {
|
||||||
|
console.log("--- error:");
|
||||||
|
console.log(error); // error encountered
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
// attendre que le fichier menu.pdf soit téléchargé puis l'envoyer dans le salon
|
||||||
|
setTimeout(() => {
|
||||||
|
const attachment = new MessageAttachment("./Files/menu.pdf");
|
||||||
|
message.channel.send({ files: [attachment] });
|
||||||
|
}, 5000);
|
||||||
|
|
||||||
|
// supprimer le fichier menu.pdf
|
||||||
|
setTimeout(() => {
|
||||||
|
fs.unlink("./Files/menu.pdf", (err) => {
|
||||||
|
if (err) throw err;
|
||||||
|
console.log("File deleted!");
|
||||||
|
});
|
||||||
|
}, 10000);
|
||||||
|
},
|
||||||
|
};
|
14
commands/core/ping.js
Normal file
14
commands/core/ping.js
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
module.exports = {
|
||||||
|
name: 'ping',
|
||||||
|
aliases: [],
|
||||||
|
utilisation: '{prefix}ping',
|
||||||
|
|
||||||
|
async execute(client, message) {
|
||||||
|
const msg = await message.channel.send("Pong ! ");
|
||||||
|
msg.edit(
|
||||||
|
`Pong !
|
||||||
|
Latence du bot: ${msg.createdTimestamp - message.createdTimestamp}ms
|
||||||
|
Latence de l'API: ${Math.round(client.ws.ping)}ms`
|
||||||
|
)
|
||||||
|
},
|
||||||
|
};
|
15
events/messageCreate.js
Normal file
15
events/messageCreate.js
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
module.exports = (client, message) => {
|
||||||
|
if (message.author.bot || message.channel.type === 'dm') return;
|
||||||
|
|
||||||
|
const prefix = client.config.app.prefix;
|
||||||
|
|
||||||
|
if (message.content.indexOf(prefix) !== 0) return;
|
||||||
|
|
||||||
|
const args = message.content.slice(prefix.length).trim().split(/ +/g);
|
||||||
|
const command = args.shift().toLowerCase();
|
||||||
|
|
||||||
|
const cmd = client.commands.get(command) || client.commands.find(cmd => cmd.aliases && cmd.aliases.includes(command));
|
||||||
|
|
||||||
|
|
||||||
|
if (cmd) cmd.execute(client, message, args);
|
||||||
|
};
|
13
events/ready.js
Normal file
13
events/ready.js
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
module.exports = async (client) => {
|
||||||
|
|
||||||
|
console.log(`${client.user.tag} oberve les ${client.guilds.cache.map(g => g.memberCount).reduce((a,b) => a + b)} utilisateur du serveur !`)
|
||||||
|
|
||||||
|
let activites = ['Créer par Lantium#9402 !',`Downloader prêt !` ], i = 0;
|
||||||
|
setInterval(() => client.user.setPresence({
|
||||||
|
activities: [{
|
||||||
|
name: `${activites [i++ % activites.length]}`,
|
||||||
|
type: 'PLAYING'
|
||||||
|
}],
|
||||||
|
status: 'online' }),
|
||||||
|
5000);
|
||||||
|
};
|
18
main.js
Normal file
18
main.js
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
const { Client, Intents } = require('discord.js');
|
||||||
|
|
||||||
|
global.client = new Client({
|
||||||
|
intents: [
|
||||||
|
Intents.FLAGS.GUILDS,
|
||||||
|
Intents.FLAGS.GUILD_MEMBERS,
|
||||||
|
Intents.FLAGS.GUILD_MESSAGES,
|
||||||
|
Intents.FLAGS.GUILD_VOICE_STATES
|
||||||
|
],
|
||||||
|
disableMentions: 'everyone',
|
||||||
|
});
|
||||||
|
|
||||||
|
client.config = require('./config');
|
||||||
|
|
||||||
|
|
||||||
|
require('./src/loader');
|
||||||
|
|
||||||
|
client.login(client.config.app.token);
|
1250
package-lock.json
generated
Normal file
1250
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
10
package.json
10
package.json
|
@ -2,14 +2,18 @@
|
||||||
"name": "landiscscrapy",
|
"name": "landiscscrapy",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"description": "Bot Discord pour DL les fichiers GDrive et les envoyer sur Discord",
|
"description": "Bot Discord pour DL les fichiers GDrive et les envoyer sur Discord",
|
||||||
"main": "index.js",
|
"main": "main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "echo \"Error: no test specified\" && exit 1"
|
"start": "node ."
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://gitlab.ataxya.net/lantium/landiscordscrapy"
|
"url": "https://gitlab.ataxya.net/lantium/landiscordscrapy"
|
||||||
},
|
},
|
||||||
"author": "lantium#9402",
|
"author": "lantium#9402",
|
||||||
"license": "ISC"
|
"license": "ISC",
|
||||||
|
"dependencies": {
|
||||||
|
"discord.js": "^13.6.0",
|
||||||
|
"node-wget": "^0.4.2"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
28
src/loader.js
Normal file
28
src/loader.js
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
const { readdirSync } = require('fs');
|
||||||
|
const { Collection } = require('discord.js');
|
||||||
|
|
||||||
|
client.commands = new Collection();
|
||||||
|
|
||||||
|
const events = readdirSync('./events/').filter(file => file.endsWith('.js'));
|
||||||
|
|
||||||
|
console.log(`Changement des évènements...`);
|
||||||
|
|
||||||
|
for (const file of events) {
|
||||||
|
const event = require(`../events/${file}`);
|
||||||
|
console.log(`-> Évènement chargés ${file.split('.')[0]}`);
|
||||||
|
client.on(file.split('.')[0], event.bind(null, client));
|
||||||
|
delete require.cache[require.resolve(`../events/${file}`)];
|
||||||
|
};
|
||||||
|
|
||||||
|
console.log(`Changement des commandes...`);
|
||||||
|
|
||||||
|
readdirSync('./commands/').forEach(dirs => {
|
||||||
|
const commands = readdirSync(`./commands/${dirs}`).filter(files => files.endsWith('.js'));
|
||||||
|
|
||||||
|
for (const file of commands) {
|
||||||
|
const command = require(`../commands/${dirs}/${file}`);
|
||||||
|
console.log(`-> Commandes chargés ${command.name.toLowerCase()}`);
|
||||||
|
client.commands.set(command.name.toLowerCase(), command);
|
||||||
|
delete require.cache[require.resolve(`../commands/${dirs}/${file}`)];
|
||||||
|
};
|
||||||
|
});
|
Loading…
Reference in New Issue
Block a user