Compare commits
2 commits
6e9ac49882
...
70482af57e
Author | SHA1 | Date | |
---|---|---|---|
70482af57e | |||
6fa462608e |
5 changed files with 2 additions and 187 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -105,4 +105,5 @@ dist
|
||||||
|
|
||||||
config.json
|
config.json
|
||||||
.DS_Store
|
.DS_Store
|
||||||
ormconfig.json
|
ormconfig.json
|
||||||
|
.temp/
|
|
@ -7,7 +7,6 @@ commands.disabled: Disabled commands, separated by commas (Default: "")
|
||||||
|
|
||||||
role.moderator: The moderator role name (Default: "Moderator")
|
role.moderator: The moderator role name (Default: "Moderator")
|
||||||
role.administrator: The administrator role name (Default: "Administrator")
|
role.administrator: The administrator role name (Default: "Administrator")
|
||||||
role.muted: The muted role name (Default: "Muted")
|
|
||||||
|
|
||||||
rules.file: The location of the rules file (Default: "data/rules/rules")
|
rules.file: The location of the rules file (Default: "data/rules/rules")
|
||||||
|
|
||||||
|
|
|
@ -1,93 +0,0 @@
|
||||||
import { CommandInteraction, EmbedBuilder, GuildMember, PermissionsBitField, SlashCommandBuilder, TextChannel } from "discord.js";
|
|
||||||
import { AuditType } from "../constants/AuditType";
|
|
||||||
import EmbedColours from "../constants/EmbedColours";
|
|
||||||
import Audit from "../database/entities/Audit";
|
|
||||||
import SettingsHelper from "../helpers/SettingsHelper";
|
|
||||||
import { Command } from "../type/command";
|
|
||||||
|
|
||||||
export default class Mute extends Command {
|
|
||||||
constructor() {
|
|
||||||
super();
|
|
||||||
|
|
||||||
this.CommandBuilder = new SlashCommandBuilder()
|
|
||||||
.setName("mute")
|
|
||||||
.setDescription("(DEPRECATED) Mute a member in the server with an optional reason")
|
|
||||||
.setDefaultMemberPermissions(PermissionsBitField.Flags.ModerateMembers)
|
|
||||||
.addUserOption(option =>
|
|
||||||
option
|
|
||||||
.setName('target')
|
|
||||||
.setDescription('The user')
|
|
||||||
.setRequired(true))
|
|
||||||
.addStringOption(option =>
|
|
||||||
option
|
|
||||||
.setName('reason')
|
|
||||||
.setDescription('The reason'));
|
|
||||||
}
|
|
||||||
|
|
||||||
public override async execute(interaction: CommandInteraction) {
|
|
||||||
if (!interaction.guild || !interaction.guildId) return;
|
|
||||||
|
|
||||||
const targetUser = interaction.options.get('target');
|
|
||||||
const reasonInput = interaction.options.get('reason');
|
|
||||||
|
|
||||||
if (!targetUser || !targetUser.user || !targetUser.member) {
|
|
||||||
await interaction.reply('Fields are required.');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const targetMember = targetUser.member as GuildMember;
|
|
||||||
const reason = reasonInput && reasonInput.value ? reasonInput.value.toString() : "*none*";
|
|
||||||
|
|
||||||
const logEmbed = new EmbedBuilder()
|
|
||||||
.setColor(EmbedColours.Ok)
|
|
||||||
.setTitle("Member Muted")
|
|
||||||
.setDescription(`<@${targetUser.user.id}> \`${targetUser.user.tag}\``)
|
|
||||||
.setThumbnail(targetUser.user.avatarURL())
|
|
||||||
.addFields([
|
|
||||||
{
|
|
||||||
name: "Moderator",
|
|
||||||
value: `<@${interaction.user.id}>`,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "Reason",
|
|
||||||
value: reason,
|
|
||||||
},
|
|
||||||
]);
|
|
||||||
|
|
||||||
const mutedRoleName = await SettingsHelper.GetSetting('role.muted', interaction.guildId);
|
|
||||||
|
|
||||||
if (!mutedRoleName) {
|
|
||||||
await interaction.reply('Unable to find configuration. Please contact the bot author.');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const mutedRole = interaction.guild.roles.cache.find(role => role.name == mutedRoleName);
|
|
||||||
|
|
||||||
if (!mutedRole) {
|
|
||||||
await interaction.reply('Muted role not found.');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!targetMember.manageable) {
|
|
||||||
await interaction.reply('Insufficient permissions. Please contact a moderator.');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
await targetMember.roles.add(mutedRole);
|
|
||||||
|
|
||||||
const channelName = await SettingsHelper.GetSetting('channels.logs.mod', interaction.guildId);
|
|
||||||
|
|
||||||
if (!channelName) return;
|
|
||||||
|
|
||||||
const channel = interaction.guild.channels.cache.find(x => x.name == channelName) as TextChannel;
|
|
||||||
|
|
||||||
if (channel) {
|
|
||||||
await channel.send({ embeds: [ logEmbed ]});
|
|
||||||
}
|
|
||||||
|
|
||||||
const audit = new Audit(targetUser.user.id, AuditType.Mute, reason, interaction.user.id, interaction.guildId);
|
|
||||||
await audit.Save(Audit, audit);
|
|
||||||
|
|
||||||
await interaction.reply("Please note the mute and unmute commands have been deprecated and will be removed in a future update. Please use timeout instead");
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,88 +0,0 @@
|
||||||
import { CommandInteraction, EmbedBuilder, GuildMember, PermissionsBitField, SlashCommandBuilder, TextChannel } from "discord.js";
|
|
||||||
import EmbedColours from "../constants/EmbedColours";
|
|
||||||
import SettingsHelper from "../helpers/SettingsHelper";
|
|
||||||
import { Command } from "../type/command";
|
|
||||||
|
|
||||||
export default class Unmute extends Command {
|
|
||||||
constructor() {
|
|
||||||
super();
|
|
||||||
|
|
||||||
this.CommandBuilder = new SlashCommandBuilder()
|
|
||||||
.setName("unmute")
|
|
||||||
.setDescription("(DEPRECATED) Unmute a member in the server with an optional reason")
|
|
||||||
.setDefaultMemberPermissions(PermissionsBitField.Flags.ModerateMembers)
|
|
||||||
.addUserOption(option =>
|
|
||||||
option
|
|
||||||
.setName('target')
|
|
||||||
.setDescription('The user')
|
|
||||||
.setRequired(true))
|
|
||||||
.addStringOption(option =>
|
|
||||||
option
|
|
||||||
.setName('reason')
|
|
||||||
.setDescription('The reason'));
|
|
||||||
}
|
|
||||||
|
|
||||||
public override async execute(interaction: CommandInteraction) {
|
|
||||||
if (!interaction.guild || !interaction.guildId) return;
|
|
||||||
|
|
||||||
const targetUser = interaction.options.get('target');
|
|
||||||
const reasonInput = interaction.options.get('reason');
|
|
||||||
|
|
||||||
if (!targetUser || !targetUser.user || !targetUser.member) {
|
|
||||||
await interaction.reply('Fields are required.');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const targetMember = targetUser.member as GuildMember;
|
|
||||||
const reason = reasonInput && reasonInput.value ? reasonInput.value.toString() : "*none*";
|
|
||||||
|
|
||||||
const logEmbed = new EmbedBuilder()
|
|
||||||
.setColor(EmbedColours.Ok)
|
|
||||||
.setTitle("Member Unmuted")
|
|
||||||
.setDescription(`<@${targetUser.user.id}> \`${targetUser.user.tag}\``)
|
|
||||||
.setThumbnail(targetUser.user.avatarURL())
|
|
||||||
.addFields([
|
|
||||||
{
|
|
||||||
name: "Moderator",
|
|
||||||
value: `<@${interaction.user.id}>`,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "Reason",
|
|
||||||
value: reason,
|
|
||||||
},
|
|
||||||
]);
|
|
||||||
|
|
||||||
const mutedRoleName = await SettingsHelper.GetSetting('role.muted', interaction.guildId);
|
|
||||||
|
|
||||||
if (!mutedRoleName) {
|
|
||||||
await interaction.reply('Unable to find configuration. Please contact the bot author.');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const mutedRole = interaction.guild.roles.cache.find(role => role.name == mutedRoleName);
|
|
||||||
|
|
||||||
if (!mutedRole) {
|
|
||||||
await interaction.reply('Muted role not found.');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!targetMember.manageable) {
|
|
||||||
await interaction.reply('Insufficient permissions. Please contact a moderator.');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
await targetMember.roles.remove(mutedRole);
|
|
||||||
|
|
||||||
const channelName = await SettingsHelper.GetSetting('channels.logs.mod', interaction.guildId);
|
|
||||||
|
|
||||||
if (!channelName) return;
|
|
||||||
|
|
||||||
const channel = interaction.guild.channels.cache.find(x => x.name == channelName) as TextChannel;
|
|
||||||
|
|
||||||
if (channel) {
|
|
||||||
await channel.send({ embeds: [ logEmbed ]});
|
|
||||||
}
|
|
||||||
|
|
||||||
await interaction.reply("Please note the mute and unmute commands have been deprecated and will be removed in a future update. Please use timeout instead");
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -12,7 +12,6 @@ import Config from "./commands/config";
|
||||||
import Disable from "./commands/disable";
|
import Disable from "./commands/disable";
|
||||||
import Ignore from "./commands/ignore";
|
import Ignore from "./commands/ignore";
|
||||||
import Kick from "./commands/kick";
|
import Kick from "./commands/kick";
|
||||||
import Mute from "./commands/mute";
|
|
||||||
import Poll from "./commands/poll";
|
import Poll from "./commands/poll";
|
||||||
import Role from "./commands/Role/role";
|
import Role from "./commands/Role/role";
|
||||||
import ConfigRole from "./commands/Role/config";
|
import ConfigRole from "./commands/Role/config";
|
||||||
|
@ -20,7 +19,6 @@ import Rules from "./commands/rules";
|
||||||
import Say from "./commands/say";
|
import Say from "./commands/say";
|
||||||
import Setup from "./commands/setup";
|
import Setup from "./commands/setup";
|
||||||
import Timeout from "./commands/timeout";
|
import Timeout from "./commands/timeout";
|
||||||
import Unmute from "./commands/unmute";
|
|
||||||
import Warn from "./commands/warn";
|
import Warn from "./commands/warn";
|
||||||
|
|
||||||
// Command Imports: MankBot
|
// Command Imports: MankBot
|
||||||
|
@ -53,13 +51,11 @@ export default class Registry {
|
||||||
CoreClient.RegisterCommand("disable", new Disable());
|
CoreClient.RegisterCommand("disable", new Disable());
|
||||||
CoreClient.RegisterCommand("ignore", new Ignore());
|
CoreClient.RegisterCommand("ignore", new Ignore());
|
||||||
CoreClient.RegisterCommand("kick", new Kick());
|
CoreClient.RegisterCommand("kick", new Kick());
|
||||||
CoreClient.RegisterCommand("mute", new Mute());
|
|
||||||
CoreClient.RegisterCommand("poll", new Poll());
|
CoreClient.RegisterCommand("poll", new Poll());
|
||||||
CoreClient.RegisterCommand("rules", new Rules());
|
CoreClient.RegisterCommand("rules", new Rules());
|
||||||
CoreClient.RegisterCommand("say", new Say());
|
CoreClient.RegisterCommand("say", new Say());
|
||||||
CoreClient.RegisterCommand("setup", new Setup());
|
CoreClient.RegisterCommand("setup", new Setup());
|
||||||
CoreClient.RegisterCommand("timeout", new Timeout());
|
CoreClient.RegisterCommand("timeout", new Timeout());
|
||||||
CoreClient.RegisterCommand("unmute", new Unmute());
|
|
||||||
CoreClient.RegisterCommand("warn", new Warn());
|
CoreClient.RegisterCommand("warn", new Warn());
|
||||||
|
|
||||||
CoreClient.RegisterCommand("role", new Role());
|
CoreClient.RegisterCommand("role", new Role());
|
||||||
|
|
Loading…
Reference in a new issue