Réécriture complète en Typescript
This commit is contained in:
Executable
+8
@@ -0,0 +1,8 @@
|
||||
import { Events } from 'discord.js'
|
||||
|
||||
module.exports = {
|
||||
name: Events.Error,
|
||||
execute(error: any) {
|
||||
console.error(error)
|
||||
}
|
||||
}
|
||||
Executable
+19
@@ -0,0 +1,19 @@
|
||||
import { Events, GuildMember } from 'discord.js'
|
||||
|
||||
module.exports = {
|
||||
name: Events.GuildMemberAdd,
|
||||
async execute(member: GuildMember) {
|
||||
if (member.guild.id !== '1086577543651524699') return
|
||||
member.guild.members.fetch().then(() => {
|
||||
var i = 0
|
||||
member.guild.members.cache.forEach(async member => { if (!member.user.bot) i++ })
|
||||
let channel = member.guild.channels.cache.get('1091140609139560508')
|
||||
if (!channel) return
|
||||
|
||||
console.log(channel.name)
|
||||
console.log(`${i} Gens Posés`)
|
||||
channel.setName('Changement...')
|
||||
channel.setName(`${i} Gens Posés`)
|
||||
}).catch(console.error)
|
||||
}
|
||||
}
|
||||
Executable
+19
@@ -0,0 +1,19 @@
|
||||
import { Events, GuildMember } from 'discord.js'
|
||||
|
||||
module.exports = {
|
||||
name: Events.GuildMemberRemove,
|
||||
async execute(member: GuildMember) {
|
||||
if (member.guild.id !== '1086577543651524699') return
|
||||
member.guild.members.fetch().then(() => {
|
||||
var i = 0
|
||||
member.guild.members.cache.forEach(async member => { if (!member.user.bot) i++ })
|
||||
let channel = member.guild.channels.cache.get('1091140609139560508')
|
||||
if (!channel) return
|
||||
|
||||
console.log(channel.name)
|
||||
console.log(`${i} Gens Posés`)
|
||||
channel.setName('Changement...')
|
||||
channel.setName(`${i} Gens Posés`)
|
||||
}).catch(console.error)
|
||||
}
|
||||
}
|
||||
Executable
+43
@@ -0,0 +1,43 @@
|
||||
import { Events, Interaction, ChatInputCommandInteraction, AutocompleteInteraction, ButtonInteraction } from 'discord.js'
|
||||
import editPlayer from '../utilsPlayer/edit'
|
||||
import playerButtons from '../utilsPlayer/buttons'
|
||||
|
||||
module.exports = {
|
||||
name: Events.InteractionCreate,
|
||||
async execute(interaction: Interaction) {
|
||||
//if (!interaction.isAutocomplete() && !interaction.isChatInputCommand() && !interaction.isButton()) return console.error(`Interaction ${interaction.commandName} is not a command.`)
|
||||
|
||||
if (interaction.isChatInputCommand()) {
|
||||
interaction = interaction as ChatInputCommandInteraction
|
||||
let chatInputCommand = interaction.client.commands.get(interaction.commandName)
|
||||
if (!chatInputCommand) return console.error(`No chat input command matching ${interaction.commandName} was found.`)
|
||||
|
||||
console.log(`Command '${interaction.commandName}' launched by ${interaction.user.tag}`)
|
||||
|
||||
try { await chatInputCommand.execute(interaction) }
|
||||
catch (error) { console.error(`Error executing ${interaction.commandName}:`, error) }
|
||||
}
|
||||
else if (interaction.isAutocomplete()) {
|
||||
interaction = interaction as AutocompleteInteraction
|
||||
let autoCompleteRun = interaction.client.commands.get(interaction.commandName)
|
||||
if (!autoCompleteRun) return console.error(`No autoCompleteRun matching ${interaction.commandName} was found.`)
|
||||
|
||||
console.log(`AutoCompleteRun '${interaction.commandName}' launched by ${interaction.user.tag}`)
|
||||
|
||||
try { await autoCompleteRun.autocompleteRun(interaction) }
|
||||
catch (error) { console.error(`Error autocompleting ${interaction.commandName}:`, error) }
|
||||
}
|
||||
else if (interaction.isButton()) {
|
||||
interaction = interaction as ButtonInteraction
|
||||
let button = interaction.client.buttons.get(interaction.customId)
|
||||
if (!button) return console.error(`No button id matching ${interaction.customId} was found.`)
|
||||
|
||||
console.log(`Button '${interaction.customId}' clicked by ${interaction.user.tag}`)
|
||||
|
||||
if (playerButtons.includes(interaction.customId)) { await editPlayer(interaction) }
|
||||
|
||||
try { await button.execute(interaction) }
|
||||
catch (error) { console.error(`Error clicking ${interaction.customId}:`, error) }
|
||||
}
|
||||
}
|
||||
}
|
||||
Executable
+30
@@ -0,0 +1,30 @@
|
||||
import { Events, Client, ActivityType } from 'discord.js'
|
||||
import { useMainPlayer } from 'discord-player'
|
||||
import replay from '../utilsPlayer/replay'
|
||||
import disco from '../utilsPlayer/disco'
|
||||
import 'dotenv/config'
|
||||
|
||||
declare module "discord.js" {
|
||||
export interface Client {
|
||||
disco: { interval: NodeJS.Timeout }
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
name: Events.ClientReady,
|
||||
once: true,
|
||||
async execute(client: Client) {
|
||||
console.log(`Ready! Logged in as ${client.user?.tag ?? 'unknown'}`)
|
||||
client.user?.setActivity('some bangers...', { type: ActivityType.Listening })
|
||||
|
||||
await useMainPlayer().extractors.loadDefault(ext => ext === 'YouTubeExtractor' || ext === 'SpotifyExtractor').then(() => console.log('YouTube and Spotify extractors loaded.')).catch(console.error)
|
||||
|
||||
if (process.env.DISCORD_MUSIC_CURRENT_TRACK) await replay(client)
|
||||
|
||||
client.disco = { interval: {} as NodeJS.Timeout }
|
||||
client.disco.interval = setInterval(async () => {
|
||||
let state = await disco(client)
|
||||
if (state === 'clear') clearInterval(client.disco.interval)
|
||||
}, 2000)
|
||||
}
|
||||
}
|
||||
Executable
+59
@@ -0,0 +1,59 @@
|
||||
import { Events, VoiceState } from 'discord.js'
|
||||
|
||||
module.exports = {
|
||||
name: Events.VoiceStateUpdate,
|
||||
async execute(oldState: VoiceState, newState: VoiceState) {
|
||||
/*
|
||||
let oldMute = oldState.serverMute
|
||||
let newMute = newState.serverMute
|
||||
let oldDeaf = oldState.serverDeaf
|
||||
let newDeaf = newState.serverDeaf
|
||||
let oldChannel = oldState.channelId
|
||||
let newChannel = newState.channelId
|
||||
console.log(oldChannel)
|
||||
console.log(newChannel)
|
||||
let guild = newState.guild
|
||||
let member = newState.member
|
||||
let channel = guild.channels.cache.get('1076215868863819848')
|
||||
let angels = guild.members.cache.get('223831938346123275')
|
||||
if (oldChannel !== newChannel) {
|
||||
let executor = await logMoveOrKick('channel_id')
|
||||
//if (!executor) channel.send(`Impossible de savoir qui a déplacé <@${member.id}> !`)
|
||||
//else if (member.id === executor.id) channel.send(`<@${member.id}> s'est déplacé lui-même le con...`)
|
||||
//else {
|
||||
// channel.send(`<@${member.id}> a été mis en sourdine par <@${executor.id}> !`)
|
||||
//}
|
||||
} else if (!oldMute && newMute) {
|
||||
let executor = await logMuteOrDeaf('mute')
|
||||
if (!executor) channel.send(`Impossible de savoir qui a muté <@${member.id}> !`)
|
||||
else if (member.id === executor.id) channel.send(`<@${member.id}> s'est muté lui-même le con...`)
|
||||
else {
|
||||
channel.send(`<@${member.id}> a été muté par <@${executor.id}> !`)
|
||||
}
|
||||
} else if (!oldDeaf && newDeaf) {
|
||||
let executor = await logMuteOrDeaf('deaf')
|
||||
if (!executor) channel.send(`Impossible de savoir qui a mis en sourdine <@${member.id}> !`)
|
||||
else if (member.id === executor.id) channel.send(`<@${member.id}> s'est mis en sourdine lui-même le con...`)
|
||||
else {
|
||||
channel.send(`<@${member.id}> a été mis en sourdine par <@${executor.id}> !`)
|
||||
}
|
||||
}
|
||||
async function logMoveOrKick() {
|
||||
let auditLogs = await guild.fetchAuditLogs({ limit: 1, type: AuditLogEvent.MemberMove })
|
||||
console.log(auditLogs.entries.find(entry => { return entry }))
|
||||
let log = await auditLogs.entries.find(entry => { return entry.extra.channel.id === newChannel })
|
||||
console.log(log)
|
||||
if (!log) return undefined
|
||||
let executor = await guild.members.cache.get(log.executor.id)
|
||||
return executor
|
||||
}
|
||||
async function logMuteOrDeaf(type) {
|
||||
let auditLogs = await guild.fetchAuditLogs({ limit: 1, type: AuditLogEvent.MemberUpdate })
|
||||
let log = await auditLogs.entries.find(entry => { return entry.target.id === member.id && entry.changes[0].key === type && entry.changes[0].new === true })
|
||||
if (!log) return undefined
|
||||
let executor = await guild.members.cache.get(log.executor.id)
|
||||
return executor
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user