feat(bots/discord/commands): add mute and unmute commands

This commit is contained in:
PalmDevs
2024-06-24 01:15:12 +07:00
parent 467acff57a
commit c0fa2fe1c3
4 changed files with 144 additions and 1 deletions

View File

@@ -1,5 +1,5 @@
import { DefaultEmbedColor, MessageScanHumanizedMode, ReVancedLogoURL } from '$/constants'
import { EmbedBuilder } from 'discord.js'
import { EmbedBuilder, type EmbedField, type User } from 'discord.js'
import type { ConfigMessageScanResponseMessage } from '../../../config.schema'
export const createErrorEmbed = (title: string, description?: string) =>
@@ -40,6 +40,35 @@ export const createMessageScanResponseEmbed = (
return applyCommonEmbedStyles(embed, true, true, true)
}
export const createModerationActionEmbed = (
action: string,
user: User,
moderator: User,
reason?: string,
expires?: number | null,
) => {
const fields: EmbedField[] = []
if (reason) fields.push({ name: 'Reason', value: reason, inline: true })
if (Number.isInteger(expires) || expires === null)
fields.push({
name: 'Expires',
value: Number.isInteger(expires) ? new Date(expires! * 1000).toLocaleString() : 'Never',
inline: true,
})
const embed = new EmbedBuilder()
.setTitle(`${action} ${user.tag}`)
.setDescription(`${user.toString()} was ${action.toLowerCase()} by ${moderator.toString()}`)
.addFields(fields)
return applyCommonEmbedStyles(embed, true, true, true)
}
export const applyReferenceToModerationActionEmbed = (embed: EmbedBuilder, reference: string) => {
embed.addFields({ name: 'Reference', value: `[Jump to message](${reference})`, inline: true })
return embed
}
export const applyCommonEmbedStyles = (
embed: EmbedBuilder,
setThumbnail = false,