// External Imports import { CommandClient, Event, Member, GuildVoiceChannel } from "athena-prime"; // Internal Imports import { Database } from "../shared/Database"; import { SetSeverity } from "../utils"; // --------------- class VoiceChannelJoinEvent extends Event { event: string = 'voiceChannelJoin' as const; async handle(context: CommandClient, member: Member, channel: GuildVoiceChannel) { const settings = await Database.GetOrCreateSettings(channel.guild.id); if (!settings.voice_logs_channel_id) return; await context.createMessage(settings.voice_logs_channel_id, { embed: { ...SetSeverity('success'), author: { name: member.username, icon_url: member.avatarURL }, fields: [ { name: 'Member', value: `${member.username} (${member.mention})`, inline: true }, { name: 'Channel', value: `${channel.mention}`, inline: true }, { name: 'Time', value: ``, inline: true }, ], title: 'Joined Voice Channel' } }); } } export default new VoiceChannelJoinEvent('voiceChannelJoin');