2022-11-21 20:25:24 -05:00
|
|
|
import Discord, { AuditLogEvent } from 'discord.js';
|
2023-01-27 21:33:55 -05:00
|
|
|
import TClient from '../client';
|
2022-11-21 20:25:24 -05:00
|
|
|
export default {
|
2023-01-02 04:45:05 -05:00
|
|
|
async run(client:TClient, member:Discord.GuildMember){
|
2022-11-25 04:49:30 -05:00
|
|
|
if (member.guild?.id != client.config.mainServer.id) return;
|
2022-11-21 20:25:24 -05:00
|
|
|
const fetchUnbanlog = await member.guild.fetchAuditLogs({
|
|
|
|
limit: 1,
|
|
|
|
type: AuditLogEvent.MemberBanRemove
|
|
|
|
})
|
|
|
|
const unbanLog = fetchUnbanlog.entries.first();
|
|
|
|
if (!unbanLog) return console.log(`${member.user.tag} was unbanned from ${member.guild.name} but no audit log for this user.`)
|
|
|
|
const { executor, target, reason } = unbanLog;
|
|
|
|
if (target.id == member.user.id) {
|
|
|
|
const embed = new client.embed().setColor(client.config.embedColorGreen).setTimestamp().setThumbnail(member.user.displayAvatarURL({size: 2048})).setTitle(`Member Unbanned: ${target.tag}`).setDescription(`🔹 **User**\n<@${target.id}>\n\`${target.id}\``).addFields(
|
2022-11-22 01:38:40 -05:00
|
|
|
{name: '🔹 Moderator', value: `<@${executor.id}>\n\`${executor.id}\``},
|
2022-11-21 20:25:24 -05:00
|
|
|
{name: '🔹 Reason', value: `${reason == null ? 'Reason unspecified.': reason}`}
|
|
|
|
);
|
|
|
|
(client.channels.resolve(client.config.mainServer.channels.logs) as Discord.TextChannel).send({embeds: [embed]})
|
|
|
|
} else {
|
|
|
|
console.log(`${target.tag} was unbanned from ${member.guild.name} but no audit log could be fetched.`)
|
|
|
|
}
|
|
|
|
}
|
2022-11-25 04:49:30 -05:00
|
|
|
}
|