Files
algo-dcbot/events/handle-member-add.ts
ytshih f98b81d3b3
Some checks failed
Build image and deploy / release-image (push) Successful in 1m52s
Build image and deploy / deploy (push) Failing after 47s
Change: kubectl and service image
2024-10-18 16:24:02 +00:00

36 lines
893 B
TypeScript

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}`);
}
}