Added mod logs to mod commands
This commit is contained in:
@@ -5,8 +5,9 @@ import {
|
|||||||
GuildMember,
|
GuildMember,
|
||||||
} from "discord.js"
|
} from "discord.js"
|
||||||
import { admin, helper } from "../../config/roles.json"
|
import { admin, helper } from "../../config/roles.json"
|
||||||
import { color } from "../../config/options.json"
|
import { color, devMessage } from "../../config/options.json"
|
||||||
import { Command } from "../interfaces"
|
import { Command } from "../interfaces"
|
||||||
|
import logToChannel from "../utils/functions/logtochannel"
|
||||||
|
|
||||||
export = {
|
export = {
|
||||||
name: "ban",
|
name: "ban",
|
||||||
@@ -110,31 +111,52 @@ export = {
|
|||||||
deleteMessageDays: messageDeletionDays,
|
deleteMessageDays: messageDeletionDays,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
await logToChannel("mod", {
|
||||||
|
embeds: [{
|
||||||
|
author: {
|
||||||
|
name: mod.user.username,
|
||||||
|
icon_url: mod.user.avatarURL({ forceStatic: false })!,
|
||||||
|
},
|
||||||
|
title: "Member Banned",
|
||||||
|
description: `
|
||||||
|
**User:** ${userMention(member.user.id)}
|
||||||
|
**Mod:** ${userMention(mod.user.id)}
|
||||||
|
**Reason:** ${reason}
|
||||||
|
**Messages Deleted:** ${messageDeletionDays} days
|
||||||
|
`,
|
||||||
|
color: embedColor,
|
||||||
|
thumbnail: {
|
||||||
|
url: mod.user.avatarURL({ forceStatic: false })!,
|
||||||
|
},
|
||||||
|
footer: {
|
||||||
|
text: "ID: " + member.user.id,
|
||||||
|
icon_url:
|
||||||
|
member.user.avatarURL({ forceStatic: false }) ||
|
||||||
|
undefined,
|
||||||
|
},
|
||||||
|
timestamp: new Date().toISOString(),
|
||||||
|
}]
|
||||||
|
})
|
||||||
|
|
||||||
await interaction.editReply({
|
await interaction.editReply({
|
||||||
embeds: [
|
embeds: [
|
||||||
{
|
{
|
||||||
title: "Member Banned",
|
title: "Member Banned",
|
||||||
description:
|
description:
|
||||||
"**User:** " +
|
"**User:** " + userMention(member.user.id) + "\n" +
|
||||||
userMention(member.user.id) +
|
"**Reason:** " + reason + "\n" +
|
||||||
"\n" +
|
"**Moderator:** " + mod.user.username + "\n" +
|
||||||
"**Reason:** " +
|
"**Messages Deleted:** " + messageDeletionDays + " days",
|
||||||
reason +
|
|
||||||
"\n" +
|
|
||||||
"**Moderator:** " +
|
|
||||||
mod.user.username +
|
|
||||||
"\n" +
|
|
||||||
"**Messages Deleted:** " +
|
|
||||||
messageDeletionDays +
|
|
||||||
" days",
|
|
||||||
color: embedColor,
|
color: embedColor,
|
||||||
footer: {
|
thumbnail: {
|
||||||
text: "ID: " + member.user.id,
|
url: member.user.avatarURL({ forceStatic: false }) || interaction.guild!.iconURL({ forceStatic: false })!,
|
||||||
icon_url:
|
},
|
||||||
member.user.avatarURL({ forceStatic: false }) ||
|
footer: {
|
||||||
undefined,
|
icon_url: interaction.guild!.iconURL({
|
||||||
|
forceStatic: false,
|
||||||
|
})!,
|
||||||
|
text: interaction.guild!.name + " | " + devMessage,
|
||||||
},
|
},
|
||||||
timestamp: new Date().toISOString(),
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -2,9 +2,12 @@ import {
|
|||||||
SlashCommandBuilder,
|
SlashCommandBuilder,
|
||||||
PermissionFlagsBits,
|
PermissionFlagsBits,
|
||||||
TextChannel,
|
TextChannel,
|
||||||
|
channelMention,
|
||||||
|
userMention,
|
||||||
} from "discord.js"
|
} from "discord.js"
|
||||||
import { color } from "../../config/options.json"
|
import { color } from "../../config/options.json"
|
||||||
import { Command } from "../interfaces"
|
import { Command } from "../interfaces"
|
||||||
|
import logToChannel from "../utils/functions/logtochannel"
|
||||||
|
|
||||||
export = {
|
export = {
|
||||||
name: "clear",
|
name: "clear",
|
||||||
@@ -32,12 +35,12 @@ export = {
|
|||||||
const channel = interaction.channel as TextChannel
|
const channel = interaction.channel as TextChannel
|
||||||
const embedColor = Number(color.replace("#", "0x"))
|
const embedColor = Number(color.replace("#", "0x"))
|
||||||
|
|
||||||
if (!amount || amount < 1 || amount > 100) {
|
if (amount < 1 || amount > 100) {
|
||||||
await interaction.editReply({
|
await interaction.editReply({
|
||||||
embeds: [
|
embeds: [
|
||||||
{
|
{
|
||||||
description:
|
description:
|
||||||
"Please provide an amount of messages to clear",
|
"Please provide an amount of messages to clear between 1 and 100.",
|
||||||
color: embedColor,
|
color: embedColor,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@@ -56,6 +59,30 @@ export = {
|
|||||||
|
|
||||||
await channel.bulkDelete(messagesToDelete, true)
|
await channel.bulkDelete(messagesToDelete, true)
|
||||||
|
|
||||||
|
await logToChannel("mod", {
|
||||||
|
embeds: [{
|
||||||
|
author: {
|
||||||
|
name: interaction.user.username,
|
||||||
|
icon_url: interaction.user.avatarURL({ forceStatic: false }) || undefined,
|
||||||
|
},
|
||||||
|
title: "Messages Cleared",
|
||||||
|
description: `
|
||||||
|
**Channel:** ${channelMention(channel.id)}
|
||||||
|
**Amount:** \`${messages.size}\` messages
|
||||||
|
**Mod:** ${userMention(interaction.user.id)}
|
||||||
|
`,
|
||||||
|
color: embedColor,
|
||||||
|
thumbnail: {
|
||||||
|
url: interaction.guild!.iconURL({ forceStatic: false }) || "",
|
||||||
|
},
|
||||||
|
footer: {
|
||||||
|
text: "ID: " + channel.id,
|
||||||
|
icon_url: interaction.guild!.iconURL({ forceStatic: false }) || undefined,
|
||||||
|
},
|
||||||
|
timestamp: new Date().toISOString()
|
||||||
|
}]
|
||||||
|
})
|
||||||
|
|
||||||
await interaction.editReply({
|
await interaction.editReply({
|
||||||
embeds: [
|
embeds: [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ import { color, devMessage } from "../../config/options.json"
|
|||||||
import verify = require("../schemas/verifySchema")
|
import verify = require("../schemas/verifySchema")
|
||||||
import { Command } from "../interfaces"
|
import { Command } from "../interfaces"
|
||||||
import roleManage from "../utils/functions/rolesmanage"
|
import roleManage from "../utils/functions/rolesmanage"
|
||||||
|
import logToChannel from "../utils/functions/logtochannel"
|
||||||
|
import { getIGN } from "../utils/Hypixel"
|
||||||
|
|
||||||
export = {
|
export = {
|
||||||
name: "forceunverify",
|
name: "forceunverify",
|
||||||
@@ -32,6 +34,7 @@ export = {
|
|||||||
const member = interaction.options.getMember("user") as GuildMember
|
const member = interaction.options.getMember("user") as GuildMember
|
||||||
const embedColor = Number(color.replace("#", "0x"))
|
const embedColor = Number(color.replace("#", "0x"))
|
||||||
const verifiedUser = await verify.findOne({ userID: member.user.id })
|
const verifiedUser = await verify.findOne({ userID: member.user.id })
|
||||||
|
const mod = interaction.user
|
||||||
|
|
||||||
if (!verifiedUser) {
|
if (!verifiedUser) {
|
||||||
return interaction.reply({
|
return interaction.reply({
|
||||||
@@ -43,10 +46,38 @@ export = {
|
|||||||
],
|
],
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
await verify.findOneAndDelete({ userID: member.user.id })
|
|
||||||
|
|
||||||
|
const uuid = verifiedUser.uuid
|
||||||
|
const ign = await getIGN(uuid)
|
||||||
|
await verify.findOneAndDelete({ userID: member.user.id })
|
||||||
await member.roles.remove(roleManage("all").rolesToRemove, "User force unverified by " + interaction.user.username)
|
await member.roles.remove(roleManage("all").rolesToRemove, "User force unverified by " + interaction.user.username)
|
||||||
|
|
||||||
|
|
||||||
|
await logToChannel("mod", {
|
||||||
|
embeds: [{
|
||||||
|
title: "Force Unverified",
|
||||||
|
author: {
|
||||||
|
name: mod.username,
|
||||||
|
icon_url: mod.avatarURL({ forceStatic: false })!,
|
||||||
|
},
|
||||||
|
description: `
|
||||||
|
**User:** ${userMention(member.user.id)}
|
||||||
|
**Mod:** ${userMention(mod.id)}
|
||||||
|
**IGN:** \`${ign}\`
|
||||||
|
**UUID:** \`${uuid}\`
|
||||||
|
`,
|
||||||
|
color: embedColor,
|
||||||
|
thumbnail: {
|
||||||
|
url: mod.avatarURL({ forceStatic: false })!,
|
||||||
|
},
|
||||||
|
footer: {
|
||||||
|
icon_url: member.user.avatarURL({ forceStatic: false }) || undefined,
|
||||||
|
text: "ID: " + member.user.id,
|
||||||
|
},
|
||||||
|
timestamp: new Date().toISOString(),
|
||||||
|
}]
|
||||||
|
})
|
||||||
|
|
||||||
await interaction.reply({
|
await interaction.reply({
|
||||||
embeds: [
|
embeds: [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import {
|
|||||||
SlashCommandBuilder,
|
SlashCommandBuilder,
|
||||||
PermissionFlagsBits,
|
PermissionFlagsBits,
|
||||||
GuildMember,
|
GuildMember,
|
||||||
|
userMention,
|
||||||
} from "discord.js"
|
} from "discord.js"
|
||||||
import { getUUID, getPlayer, getGuild, getHeadURL } from "../utils/Hypixel"
|
import { getUUID, getPlayer, getGuild, getHeadURL } from "../utils/Hypixel"
|
||||||
import { color, hypixelGuildID, devMessage } from "../../config/options.json"
|
import { color, hypixelGuildID, devMessage } from "../../config/options.json"
|
||||||
@@ -9,6 +10,7 @@ import verify = require("../schemas/verifySchema")
|
|||||||
import mongoose from "mongoose"
|
import mongoose from "mongoose"
|
||||||
import roleManage from "../utils/functions/rolesmanage"
|
import roleManage from "../utils/functions/rolesmanage"
|
||||||
import { Command } from "../interfaces"
|
import { Command } from "../interfaces"
|
||||||
|
import logToChannel from "../utils/functions/logtochannel"
|
||||||
|
|
||||||
export = {
|
export = {
|
||||||
name: "forceverify",
|
name: "forceverify",
|
||||||
@@ -180,6 +182,31 @@ export = {
|
|||||||
|
|
||||||
await newVerify.save()
|
await newVerify.save()
|
||||||
|
|
||||||
|
await logToChannel("mod", {
|
||||||
|
embeds: [{
|
||||||
|
author: {
|
||||||
|
name: modName,
|
||||||
|
icon_url: mod.avatarURL({ forceStatic: false })!,
|
||||||
|
},
|
||||||
|
title: "Force Verified",
|
||||||
|
description: `
|
||||||
|
**User:** ${userMention(user.id)}
|
||||||
|
**Mod:** ${userMention(mod.id)}
|
||||||
|
**IGN:** \`${player.displayname}\`
|
||||||
|
**UUID:** \`${uuid}\`
|
||||||
|
`,
|
||||||
|
color: embedColor,
|
||||||
|
thumbnail: {
|
||||||
|
url: mod.avatarURL({ forceStatic: false })!,
|
||||||
|
},
|
||||||
|
footer: {
|
||||||
|
icon_url: user.user.avatarURL({ forceStatic: false }) || undefined,
|
||||||
|
text: "ID: " + user.user.id
|
||||||
|
},
|
||||||
|
timestamp: new Date().toISOString(),
|
||||||
|
}]
|
||||||
|
})
|
||||||
|
|
||||||
await interaction.editReply({
|
await interaction.editReply({
|
||||||
embeds: [
|
embeds: [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -5,8 +5,9 @@ import {
|
|||||||
GuildMember,
|
GuildMember,
|
||||||
} from "discord.js"
|
} from "discord.js"
|
||||||
import { admin, helper } from "../../config/roles.json"
|
import { admin, helper } from "../../config/roles.json"
|
||||||
import { color } from "../../config/options.json"
|
import { color, devMessage } from "../../config/options.json"
|
||||||
import { Command } from "../interfaces"
|
import { Command } from "../interfaces"
|
||||||
|
import logToChannel from "../utils/functions/logtochannel"
|
||||||
|
|
||||||
export = {
|
export = {
|
||||||
name: "kick",
|
name: "kick",
|
||||||
@@ -35,18 +36,10 @@ export = {
|
|||||||
async execute(interaction) {
|
async execute(interaction) {
|
||||||
await interaction.deferReply()
|
await interaction.deferReply()
|
||||||
|
|
||||||
const member = interaction.options.getMember(
|
const member = interaction.options.getMember( "member",) as GuildMember
|
||||||
"member",
|
const reason = interaction.options.getString("reason") ?? "No reason provided."
|
||||||
) as GuildMember | null
|
|
||||||
const reason =
|
|
||||||
interaction.options.getString("reason") ?? "No reason provided."
|
|
||||||
const embedColor = Number(color.replace("#", "0x"))
|
const embedColor = Number(color.replace("#", "0x"))
|
||||||
|
|
||||||
if (!member) {
|
|
||||||
await interaction.editReply("You must specify a member.")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
const mod = await interaction.guild!.members.fetch(interaction.user.id)
|
const mod = await interaction.guild!.members.fetch(interaction.user.id)
|
||||||
const memberRoles = member.roles.cache.map(role => role.id)
|
const memberRoles = member.roles.cache.map(role => role.id)
|
||||||
const modRoles = mod.roles.cache.map(role => role.id)
|
const modRoles = mod.roles.cache.map(role => role.id)
|
||||||
@@ -85,27 +78,45 @@ export = {
|
|||||||
|
|
||||||
await member.kick(reason + ` - ${mod.user.username}`)
|
await member.kick(reason + ` - ${mod.user.username}`)
|
||||||
|
|
||||||
|
await logToChannel("mod", {
|
||||||
|
embeds: [{
|
||||||
|
author: {
|
||||||
|
name: mod.user.username,
|
||||||
|
icon_url: mod.user.avatarURL({ forceStatic: false })!,
|
||||||
|
},
|
||||||
|
title: "Member Kicked",
|
||||||
|
description: `
|
||||||
|
**User:** ${userMention(member.user.id)}
|
||||||
|
**Mod:** ${userMention(mod.user.id)}
|
||||||
|
**Reason:** ${reason}
|
||||||
|
`,
|
||||||
|
color: embedColor,
|
||||||
|
thumbnail: {
|
||||||
|
url: mod.user.avatarURL({ forceStatic: false })!,
|
||||||
|
},
|
||||||
|
footer: {
|
||||||
|
text: "ID: " + member.user.id,
|
||||||
|
icon_url: member.user.avatarURL({ forceStatic: false }) || undefined,
|
||||||
|
},
|
||||||
|
timestamp: new Date().toISOString(),
|
||||||
|
}]
|
||||||
|
})
|
||||||
|
|
||||||
await interaction.editReply({
|
await interaction.editReply({
|
||||||
embeds: [
|
embeds: [
|
||||||
{
|
{
|
||||||
title: "Member Kicked",
|
title: "Member Kicked",
|
||||||
description:
|
description: "**User:** " + userMention(member.user.id) + "\n" +
|
||||||
"**User:** " +
|
"**Reason:** " + reason + "\n" +
|
||||||
userMention(member.user.id) +
|
"**Moderator:** " + mod.user.username,
|
||||||
"\n" +
|
|
||||||
"**Reason:** " +
|
|
||||||
reason +
|
|
||||||
"\n" +
|
|
||||||
"**Moderator:** " +
|
|
||||||
mod.user.username,
|
|
||||||
color: embedColor,
|
color: embedColor,
|
||||||
footer: {
|
thumbnail: {
|
||||||
text: "ID: " + member.user.id,
|
url: member.user.avatarURL({ forceStatic: false }) || interaction.guild!.iconURL({ forceStatic: false, })!,
|
||||||
icon_url:
|
|
||||||
member.user.avatarURL({ forceStatic: false }) ||
|
|
||||||
undefined,
|
|
||||||
},
|
},
|
||||||
timestamp: new Date().toISOString(),
|
footer: {
|
||||||
|
icon_url: interaction.guild!.iconURL({ forceStatic: false, })!,
|
||||||
|
text: interaction.guild!.name + " | " + devMessage,
|
||||||
|
}
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -3,9 +3,12 @@ import {
|
|||||||
PermissionFlagsBits,
|
PermissionFlagsBits,
|
||||||
ChannelType,
|
ChannelType,
|
||||||
TextChannel,
|
TextChannel,
|
||||||
|
channelMention,
|
||||||
|
userMention,
|
||||||
} from "discord.js"
|
} from "discord.js"
|
||||||
import { color, devMessage } from "../../config/options.json"
|
import { color, devMessage } from "../../config/options.json"
|
||||||
import { Command } from "../interfaces"
|
import { Command } from "../interfaces"
|
||||||
|
import logToChannel from "../utils/functions/logtochannel"
|
||||||
|
|
||||||
export = {
|
export = {
|
||||||
name: "slowmode",
|
name: "slowmode",
|
||||||
@@ -60,6 +63,30 @@ export = {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
await logToChannel("mod", {
|
||||||
|
embeds: [{
|
||||||
|
author: {
|
||||||
|
name: interaction.user.username,
|
||||||
|
icon_url: interaction.user.avatarURL({ forceStatic: false }) || undefined,
|
||||||
|
},
|
||||||
|
title: "Slowmode Update",
|
||||||
|
description: `
|
||||||
|
**Channel:** ${channelMention(channel.id)}
|
||||||
|
**Slowmode:** ${seconds} seconds
|
||||||
|
**Mod:** ${userMention(interaction.user.id)}
|
||||||
|
`,
|
||||||
|
color: embedColor,
|
||||||
|
thumbnail: {
|
||||||
|
url: interaction.user.avatarURL({ forceStatic: false }) || "",
|
||||||
|
},
|
||||||
|
footer: {
|
||||||
|
icon_url: interaction.guild!.iconURL({ forceStatic: false }) || undefined,
|
||||||
|
text: " ID: " + channel.id
|
||||||
|
},
|
||||||
|
timestamp: new Date().toISOString()
|
||||||
|
}]
|
||||||
|
})
|
||||||
|
|
||||||
await interaction.editReply({
|
await interaction.editReply({
|
||||||
embeds: [
|
embeds: [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -5,9 +5,10 @@ import {
|
|||||||
ChatInputCommandInteraction,
|
ChatInputCommandInteraction,
|
||||||
GuildMember,
|
GuildMember,
|
||||||
} from "discord.js"
|
} from "discord.js"
|
||||||
import { color } from "../../config/options.json"
|
import { color, devMessage } from "../../config/options.json"
|
||||||
import { Command } from "../interfaces"
|
import { Command } from "../interfaces"
|
||||||
import ms from "ms"
|
import ms from "ms"
|
||||||
|
import logToChannel from "../utils/functions/logtochannel"
|
||||||
|
|
||||||
const command: Command = {
|
const command: Command = {
|
||||||
name: "timeout",
|
name: "timeout",
|
||||||
@@ -164,22 +165,44 @@ const command: Command = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
await target.timeout(time, reason)
|
await target.timeout(time, reason)
|
||||||
|
|
||||||
|
await logToChannel("mod", {
|
||||||
|
embeds: [{
|
||||||
|
author: {
|
||||||
|
name: mod.user.username,
|
||||||
|
icon_url: mod.user.avatarURL({ forceStatic: false }) || undefined,
|
||||||
|
},
|
||||||
|
title: "Member Timed Out",
|
||||||
|
description: `
|
||||||
|
**User:** ${userMention(target.id)}
|
||||||
|
**Time:** ${prettyTime}
|
||||||
|
**Reason:** ${reason}
|
||||||
|
**Mod:** ${userMention(mod.id)}
|
||||||
|
`,
|
||||||
|
color: embedColor,
|
||||||
|
thumbnail: {
|
||||||
|
url: mod.user.avatarURL({ forceStatic: false }) || "",
|
||||||
|
},
|
||||||
|
footer: {
|
||||||
|
text: "ID: " + target.id,
|
||||||
|
icon_url: target.user.avatarURL({ forceStatic: false }) || undefined,
|
||||||
|
},
|
||||||
|
timestamp: new Date().toISOString()
|
||||||
|
}]
|
||||||
|
})
|
||||||
|
|
||||||
await interaction.editReply({
|
await interaction.editReply({
|
||||||
embeds: [
|
embeds: [
|
||||||
{
|
{
|
||||||
description:
|
description:
|
||||||
"Timed out " +
|
"Timed out " + userMention(target.id) +
|
||||||
userMention(target.id) +
|
" for " + prettyTime +
|
||||||
" for " +
|
" for " + reason,
|
||||||
prettyTime +
|
|
||||||
" for " +
|
|
||||||
reason,
|
|
||||||
color: embedColor,
|
color: embedColor,
|
||||||
footer: {
|
footer: {
|
||||||
text: "ID: " + target.id,
|
text: interaction.guild!.name + " | " + devMessage,
|
||||||
icon_url: target.avatarURL() || undefined,
|
icon_url: interaction.guild!.iconURL({ forceStatic: false }) || undefined,
|
||||||
},
|
},
|
||||||
timestamp: new Date().toISOString(),
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -4,8 +4,9 @@ import {
|
|||||||
userMention,
|
userMention,
|
||||||
User,
|
User,
|
||||||
} from "discord.js"
|
} from "discord.js"
|
||||||
import { color } from "../../config/options.json"
|
import { color, devMessage } from "../../config/options.json"
|
||||||
import { Command } from "../interfaces"
|
import { Command } from "../interfaces"
|
||||||
|
import logToChannel from "../utils/functions/logtochannel"
|
||||||
|
|
||||||
export = {
|
export = {
|
||||||
name: "unban",
|
name: "unban",
|
||||||
@@ -37,11 +38,10 @@ export = {
|
|||||||
await interaction.deferReply()
|
await interaction.deferReply()
|
||||||
|
|
||||||
const userid = interaction.options.getString("user")!
|
const userid = interaction.options.getString("user")!
|
||||||
const reason =
|
const reason = interaction.options.getString("reason") || "No reason provided"
|
||||||
interaction.options.getString("reason") || "No reason provided"
|
|
||||||
const mod = interaction.user
|
const mod = interaction.user
|
||||||
const embedColor = Number(color.replace("#", "0x"))
|
const embedColor = Number(color.replace("#", "0x"))
|
||||||
let user: User | null
|
let user: User
|
||||||
|
|
||||||
if (userid === "none") {
|
if (userid === "none") {
|
||||||
await interaction.editReply({
|
await interaction.editReply({
|
||||||
@@ -66,34 +66,55 @@ export = {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
await interaction.guild!.members.unban(user!.id, reason)
|
await interaction.guild!.members.unban(user.id, reason)
|
||||||
|
|
||||||
|
await logToChannel("mod", {
|
||||||
|
embeds: [
|
||||||
|
{
|
||||||
|
author: {
|
||||||
|
name: mod.username,
|
||||||
|
icon_url: mod.avatarURL({ forceStatic: false })!,
|
||||||
|
},
|
||||||
|
title: "Member Unbanned",
|
||||||
|
description: `
|
||||||
|
**User:** ${userMention(user!.id)}
|
||||||
|
**Mod:** ${userMention(mod.id)}
|
||||||
|
**Reason:** ${reason}
|
||||||
|
`,
|
||||||
|
color: embedColor,
|
||||||
|
thumbnail: {
|
||||||
|
url: mod.avatarURL({ forceStatic: false })!,
|
||||||
|
},
|
||||||
|
footer: {
|
||||||
|
text: "ID: " + user!.id,
|
||||||
|
icon_url: user.avatarURL({ forceStatic: false}) || undefined,
|
||||||
|
},
|
||||||
|
timestamp: new Date().toISOString(),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
})
|
||||||
|
|
||||||
await interaction.editReply({
|
await interaction.editReply({
|
||||||
embeds: [
|
embeds: [
|
||||||
{
|
{
|
||||||
title: "User unbanned",
|
title: "User unbanned",
|
||||||
description:
|
description:
|
||||||
"The user " +
|
"The user " + user!.username + " has been unbanned.\n" +
|
||||||
user!.username +
|
"**Reason:** `" + reason + "`\n" +
|
||||||
" has been unbanned.\n" +
|
"**Moderator:** " + userMention(mod.id),
|
||||||
"**Reason:** `" +
|
|
||||||
reason +
|
|
||||||
"`\n" +
|
|
||||||
"**Moderator:** " +
|
|
||||||
userMention(mod.id),
|
|
||||||
color: embedColor,
|
color: embedColor,
|
||||||
thumbnail: {
|
thumbnail: {
|
||||||
url: user!.avatarURL({ forceStatic: false }) || "",
|
url: user!.avatarURL({ forceStatic: false }) || "",
|
||||||
},
|
},
|
||||||
footer: {
|
footer: {
|
||||||
text: "ID: " + user!.id,
|
|
||||||
icon_url: interaction.guild!.iconURL({
|
icon_url: interaction.guild!.iconURL({
|
||||||
forceStatic: false,
|
forceStatic: false,
|
||||||
})!,
|
})!,
|
||||||
|
text: interaction.guild!.name + " | " + devMessage,
|
||||||
},
|
},
|
||||||
timestamp: new Date().toISOString(),
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user