ajoute snipe

This commit is contained in:
VALOU3336
2024-02-14 13:33:33 +01:00
parent 6b063db08f
commit 3389570da8
10 changed files with 132 additions and 9 deletions
+48
View File
@@ -0,0 +1,48 @@
const { PermissionsBitField } = require('discord.js');
module.exports = {
name: 'invite',
description: 'Crée un lien d\'invitation pour un serveur spécifique',
async execute(message, args, client) {
// Vérifie si l'ID du serveur a été fourni
if (!args[0]) {
return message.reply('Veuillez fournir l\'ID du serveur.');
}
const guildId = args[0];
let guild;
// Tente de trouver le serveur par ID
try {
guild = await client.guilds.fetch(guildId);
} catch (error) {
console.error(error);
return message.reply('Je ne peux pas trouver le serveur avec cet ID.');
}
// Vérifie si le bot est membre du serveur
if (!guild) {
return message.reply('Le bot n\'est pas membre de ce serveur.');
}
const botMember = guild.members.cache.get(client.user.id);
// Vérifie si le bot a la permission de créer des invitations
if (!botMember.permissions.has(PermissionsBitField.Flags.createInvite)) {
return message.reply('Le bot n\'a pas la permission de créer des invitations sur ce serveur.');
}
const channel = guild.channels.cache
.filter((channel) => channel.type === 'GUILD_TEXT')
.first();
if (!channel) return message.channel.send(`Aucun channel textuel n'a été trouvé dans ce serveur.`);
await channel
.createInvite({
maxAge: 0,
maxUses: 0,
}).then(async (invite) => {
message.channel.send(`Invitation créée pour le serveur ${guild.name} : ${invite.url}`);
})
},
};
+1 -1
View File
@@ -2,7 +2,7 @@ const { ActivityType } = require("discord.js");
module.exports = {
name: 'listen',
description: 'Mettre le bot en stream',
description: 'Changer le status du bot en listen',
async execute(message, args, client) {
const streamText = args.join(' ') || 'Streaming';
const streamURL = 'https://www.twitch.tv/valou336_yt';
+1 -1
View File
@@ -2,7 +2,7 @@ const { ActivityType } = require("discord.js");
module.exports = {
name: 'play',
description: 'Mettre le bot en stream',
description: 'Changer le status du bot en play',
async execute(message, args, client) {
const streamText = args.join(' ') || 'Streaming';
const streamURL = 'https://www.twitch.tv/valou336_yt';
+15
View File
@@ -0,0 +1,15 @@
module.exports = {
name: 'say',
description: 'Fait dire quelque chose au bot',
async execute(message, args) {
// Vérifie si un message a été spécifié
if (args.length === 0) {
return message.reply('Veuillez spécifier un message.');
}
const text = args.join(' ');
await message.delete();
message.channel.send(text);
},
};
+19
View File
@@ -0,0 +1,19 @@
const { EmbedBuilder} = require('discord.js');
const fs = require('fs');
const path = require('path');
module.exports = {
name: 'servers',
description: 'Liste les serveur du bot',
async execute(message, args, client) {
const guilds = Array.from(client.guilds.cache.values()).map((guild, index) => `${index + 1}. ${guild.name} : ${guild.id}`).join("\n\n");
const embed = new EmbedBuilder()
.setTitle('Liste des serveur du bot')
.setDescription(`\n${guilds}`)
.setColor('#0099ff');
message.channel.send({ embeds: [embed] });
},
};
+1 -1
View File
@@ -2,7 +2,7 @@ const { ActivityType } = require("discord.js");
module.exports = {
name: 'watch',
description: 'Mettre le bot en stream',
description: 'Changer le status du bot en watch',
async execute(message, args, client) {
const streamText = args.join(' ') || 'Streaming';
const streamURL = 'https://www.twitch.tv/valou336_yt';
+29
View File
@@ -0,0 +1,29 @@
const { EmbedBuilder, User } = require("discord.js")
module.exports = {
name: 'snipe',
description: 'Affiche le dernier message supprimé dans le salon',
async execute(message, args, client) {
// Récupère le dernier message supprimé du salon
let snipe = client.snipes.get(message.channel.id);
if (!snipe) {
return message.reply('Aucun message supprimé trouvé dans ce salon.');
}
let msg = snipe?.content
if(msg.includes("discord.gg/")) msg = "discord.gg/••••••"
if(msg.includes("https://discord.gg/")) msg = "https://discord.gg/••••••";
if(msg.includes("discordapp.com/invite/")) msg = "discordapp.com/invite/••••••"
if(msg.includes("https://discordapp.com/invite/")) msg = "https://discordapp.com/invite/••••••";
if(msg.includes("discord.com/invite/")) msg = "discord.com/invite/••••••"
if(msg.includes("https://discord.com/invite/")) msg = "https://discord.com/invite/••••••";
const user = message.guild.members.cache.get(snipe.author)?.user;
if (!user) {
return message.reply('Utilisateur introuvable.');
}
const embed = new EmbedBuilder()
.setAuthor({name: `${user.tag}`, iconURL: user.avatarURL({dynamic : true})})
.setDescription(`${msg}`)
// Envoie le message
message.channel.send({ embeds: [embed] });
},
};
+2 -1
View File
@@ -2,7 +2,8 @@ const { Events, ActivityType } = require("discord.js");
module.exports = {
name: Events.ClientReady,
async run(client) {
async execute(client) {
console.log(`le bot ${client.user.id} est en ligne`)
}
};
+15
View File
@@ -0,0 +1,15 @@
module.exports = {
name: 'messageDelete',
once: false,
execute(message, client) {
// Ignore les messages de bots
if (message.author.bot) return;
// Enregistre le message supprimé dans la collection snipes
client.snipes.set(message.channel.id, {
content: message.content,
author: message.author.id,
timestamp: Date.now(),
});
},
};
+1 -5
View File
@@ -5,13 +5,9 @@ const loadEvents = require("./loaders/loadEvents");
const client = new Client({intents: new IntentsBitField(3276799)});
client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}!`);
});
client.events = new Collection();
client.commands = new Collection();
client.snipes = new Collection();
client.snipes = new Map();
(async () => {
loadCommands(client);