Converted main codebase to typescript

Signed-off-by: Taken <taken@mairimashita.org>
This commit is contained in:
2023-12-28 13:17:57 +01:00
parent 1d9ded82a4
commit 68fde04bbb
122 changed files with 14230 additions and 1834 deletions

View File

@@ -0,0 +1,89 @@
import { userMention, channelMention, VoiceState, ChannelType } from "discord.js"
import { botLogChannel, color } from "../../../../config/options.json"
import { Event } from "../../../interfaces"
const event: Event = {
name: "vcJoinLeave",
description: "Logs when a user joins or leaves a voice channel.",
type: "event",
event: "voiceStateUpdate",
execute(oldState: VoiceState, newState: VoiceState) {
if (process.env.NODE_ENV === 'dev') return
const guild = oldState.guild
const channel = guild.channels.cache.get(botLogChannel)
const embedColor = Number(color.replace("#", "0x"))
if (!channel) {
console.log("[ERROR] Could not find channel used for voice channel join/leave logging.")
return
}
if (channel.type !== ChannelType.GuildText) {
console.log("[ERROR] The channel used for voice channel join/leave logging is not a text channel.")
return
}
const oldChannel = oldState.channel
const newChannel = newState.channel
if (oldChannel === null && newChannel !== null) {
channel.send({
embeds: [{
title: "Voice Channel Join",
description: userMention(newState.member!.id) +
" joined " +
channelMention(newChannel.id),
color: embedColor,
footer: {
text: "ID: " + newState.member!.id
},
timestamp: new Date().toISOString()
}]
})
} else if (oldChannel !== null && newChannel === null) {
channel.send({
embeds: [{
title: "Voice Channel Leave",
description: userMention(oldState.member!.id) +
" left " +
channelMention(oldChannel.id),
color: embedColor,
footer: {
text: "ID: " + oldState.member!.id
},
timestamp: new Date().toISOString()
}]
})
} else if (oldChannel !== null && newChannel !== null) {
if (oldChannel.id === newChannel.id) return
channel.send({
embeds: [{
title: "Voice Channel Switch",
description: userMention(oldState.member!.id) +
" switched from " +
channelMention(oldChannel.id) +
" to " +
channelMention(newChannel.id),
color: embedColor,
footer: {
text: "ID: " + oldState.member!.id
},
timestamp: new Date().toISOString()
}]
})
}
}
}
export = event