From e354d68504f9366476a4a2ef8b371d680245940a Mon Sep 17 00:00:00 2001 From: Tutur33 Date: Sat, 20 Apr 2024 13:19:26 +0200 Subject: [PATCH] add many commands --- commands/utils/find.ts | 31 +++++++++++++++++++++++++++++++ commands/utils/getid.ts | 28 ++++++++++++++++++++++++++++ commands/utils/ipinfo.ts | 38 ++++++++++++++++++++++++++++++++++++++ commands/utils/time.ts | 37 +++++++++++++++++++++++++++++++++++++ 4 files changed, 134 insertions(+) create mode 100644 commands/utils/find.ts create mode 100644 commands/utils/getid.ts create mode 100644 commands/utils/ipinfo.ts create mode 100644 commands/utils/time.ts diff --git a/commands/utils/find.ts b/commands/utils/find.ts new file mode 100644 index 0000000..f37f7c0 --- /dev/null +++ b/commands/utils/find.ts @@ -0,0 +1,31 @@ +import { Message, Client } from 'discord.js'; + +module.exports = { + aliases: [], + description: 'Trouves dans quel vocale est un utilisateur.', + emote: '⏱️', + utilisation: '<@user|id>', + + async execute(message: Message, args: string[], client: Client) { + message.delete(); + let member; + if (args[0]) { + member = message.mentions.members?.first() || message.guild?.members.cache.get(args[0]); + } else { + member = message.member; + } + + if (!member) { + message.channel.send('Utilisateur introuvable. Assurez-vous de mentionner un utilisateur ou de fournir un ID valide.'); + return; + } + + const channel = member.voice.channel; + if (!channel) { + message.channel.send(`${member.user} n'est pas dans un salon vocal.`); + return; + } + + message.channel.send(`${member.user} est dans le salon vocal ${channel}.`); + } +}; \ No newline at end of file diff --git a/commands/utils/getid.ts b/commands/utils/getid.ts new file mode 100644 index 0000000..c58f3bd --- /dev/null +++ b/commands/utils/getid.ts @@ -0,0 +1,28 @@ +import { Message, Client, MessageResolvable } from 'discord.js'; + +module.exports = { + aliases: ['getid', 'id', 'userid'], + description: 'Récupère l\'id de la personne mentionnée.', + emote: '⏱️', + utilisation: '[user]', + + async execute(message: Message, args: string[], client: Client) { + message.delete(); + let user; + if (message.reference) { + const originalMessage = await message.channel.messages.fetch(message.reference.messageId as MessageResolvable); + user = originalMessage.author; + } else if (args[0]) { + user = message.mentions.users.first(); + } else { + user = message.author; + } + + if (!user) { + message.channel.send('Utilisateur introuvable. Assurez-vous de mentionner l\'utilisateur dont vous voulez obtenir l\'ID ou de répondre à son message.'); + return; + } + + message.channel.send(`L'id de ${user} est ${user.id}.`); + } +}; \ No newline at end of file diff --git a/commands/utils/ipinfo.ts b/commands/utils/ipinfo.ts new file mode 100644 index 0000000..f80b129 --- /dev/null +++ b/commands/utils/ipinfo.ts @@ -0,0 +1,38 @@ +import { Message, Client, MessageResolvable } from 'discord.js'; +const fetch = require('node-fetch'); + +module.exports = { + aliases: [], + description: 'Affiche les informations relative à une IP.', + emote: '⏱️', + utilisation: '', + + async execute(message: Message, args: string[], client: Client) { + message.delete(); + const ip = args[0]; + if (!ip) { + message.channel.send('Veuillez spécifier une adresse IP.'); + return; + } + + const response = await fetch(`http://ip-api.com/json/${ip}`); + const data = await response.json(); + + if (data.status === 'fail') { + message.channel.send('Adresse IP invalide.'); + return; + } + + const info = `# Informations sur l'adresse IP ${ip}:\n\n` + + `Pays: ${data.country}\n` + + `Ville: ${data.city}\n` + + `Région: ${data.regionName}\n` + + `Code postal: ${data.zip}\n` + + `Latitude: ${data.lat}\n` + + `Longitude: ${data.lon}\n` + + `Fournisseur de services Internet: ${data.isp}\n` + + `Organisation: ${data.org}\n` + + message.channel.send(info); + } +}; \ No newline at end of file diff --git a/commands/utils/time.ts b/commands/utils/time.ts new file mode 100644 index 0000000..1581d79 --- /dev/null +++ b/commands/utils/time.ts @@ -0,0 +1,37 @@ +import { Message, Client } from 'discord.js'; + +module.exports = { + aliases: ['date', 'heure', 'temps', 'moment', 'maintenant', 'actuel', 'actuellement', 'instant', 'présent'], + description: 'Affiche l\'heure.', + emote: '⏱️', + utilisation: '[heure/jour/mois/année]', + + async execute(message: Message, args: string[], client: Client) { + message.delete(); + const date = new Date(); + const day = date.getDate(); + const month = date.getMonth() + 1; + const year = date.getFullYear(); + const hours = date.getHours(); + const minutes = date.getMinutes(); + const seconds = date.getSeconds(); + const milliseconds = date.getMilliseconds(); + + const daysInLetters = ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi']; + const dayInLetters = daysInLetters[date.getDay()]; + const monthsInLetters = ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre']; + const monthInLetters = monthsInLetters[month - 1]; + + if (args[0] === 'heure' || args[0] === 'time' || args[0] === 'temps') { + message.channel.send(`Il est ${hours}:${minutes}:${seconds}:${milliseconds}.`); + } else if (args[0] === 'jour' || args[0] === 'day' || args[0] === 'date') { + message.channel.send(`Nous sommes ${dayInLetters} ${day} ${monthInLetters}(${month}) ${year}.`); + } else if (args[0] === 'mois' || args[0] === 'month') { + message.channel.send(`Nous sommes en ${monthInLetters}(${month}).`); + } else if (args[0] === 'année' || args[0] === 'year' || args[0] === 'an' || args[0] === 'annee') { + message.channel.send(`Nous sommes en ${year}.`); + } else { + message.channel.send(`Nous sommes ${dayInLetters} ${day} ${monthInLetters}(${month}) ${year} et il est ${hours}:${minutes}:${seconds}:${milliseconds}.`); + } + } +}; \ No newline at end of file