(rewrite): Updated more events.
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
// 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<CommandClient> {
|
||||
event: string = 'voiceChannelJoin' as const;
|
||||
|
||||
async handle(context: CommandClient<any, any>, 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: `<t:${new Date().toISOString()}>`, inline: true },
|
||||
],
|
||||
|
||||
title: 'Joined Voice Channel'
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export default new VoiceChannelJoinEvent('voiceChannelJoin');
|
||||
Reference in New Issue
Block a user