Initial commit

This commit is contained in:
2024-08-09 16:56:18 +00:00
commit af7628aaf1
22 changed files with 1334 additions and 0 deletions

31
events/handle-commands.ts Normal file
View File

@@ -0,0 +1,31 @@
import {Interaction} from 'discord.js';
import {isExtendedClient} from '../classes/extendedclient';
import {logger} from '../logger';
export async function handleCommands(interaction: Interaction): Promise<void>{
if(!interaction.isChatInputCommand()) return;
if(interaction.commandName === null)
throw logger.error('interaction.commandName not exist');
if(!isExtendedClient(interaction.client))
throw logger.error(`Type Error in function "handleCommands"`);
const command = interaction.client.commands.get(interaction.commandName);
if(!command)
throw logger.error(`No command matching ${interaction.commandName} was found.`);
try{
if('execute' in command)
await command.execute(interaction);
else{
logger.error(`The command (${interaction.commandName}) is missing a require "execute" function`);
return;
}
}catch(err: unknown){
if(interaction.replied || interaction.deferred)
await interaction.followUp({content: 'There was an error while executing this command!', ephemeral: true});
else
await interaction.reply({content: 'There was an error while executing this command!', ephemeral: true});
throw logger.error(`While handling "${interaction.commandName}, ${err}"`);
}
}

View File

@@ -0,0 +1,35 @@
import discord, {
GuildMember, PartialGuildMember
} from 'discord.js';
import {logger} from '../logger';
import {config} from '../config';
function isMember(
member: GuildMember | PartialGuildMember
): member is GuildMember {
return member.partial === false;
}
export async function handleMemberAdd(
member: GuildMember
): Promise<void>{
try{
if(config.clientId === member.id) return;
if(member.partial)
member = await member.fetch();
if(!isMember(member))
throw Error('type mismatch: member.partial');
await member.guild.members.addRole({
role: config.defaultRole,
user: member
});
logger.log(`${member} has been given role.`);
}catch(err: unknown){
let message;
if(err instanceof Error) message = err.message;
else message = String(message);
logger.error(`While executing "handle-autorole", ${message}`);
}
}