feat: restrict commands from being used in DMs

- Added `allow_in_dm: false` to various moderation, utility, and role management commands to prevent their usage in direct messages.
- Updated the message event handler to check for the `allow_in_dm` flag and respond appropriately when a DM command is attempted.
This commit is contained in:
Puechberty Arthur
2026-04-10 08:53:48 +02:00
parent 82e6ed1ca6
commit 4d92be1ad5
138 changed files with 181 additions and 0 deletions
+1
View File
@@ -68,6 +68,7 @@ impl crate::commands::command_contract::CommandSpec for BanCommand {
description: "Ban un ou plusieurs membres.",
examples: &["+ban @User"],
default_aliases: &["b"],
allow_in_dm: false,
default_permission: 8,
}
}
+1
View File
@@ -44,6 +44,7 @@ impl crate::commands::command_contract::CommandSpec for BanlistCommand {
description: "Affiche la liste des bannissements en cours.",
examples: &["+banlist"],
default_aliases: &["bls"],
allow_in_dm: false,
default_permission: 8,
}
}
+1
View File
@@ -65,6 +65,7 @@ impl crate::commands::command_contract::CommandSpec for CleanupCommand {
description: "Deconnecte tous les utilisateurs presents dans un salon vocal cible.",
examples: &["+cleanup #General"],
default_aliases: &["vclean", "vcleanup"],
allow_in_dm: false,
default_permission: 8,
}
}
@@ -60,6 +60,7 @@ impl crate::commands::command_contract::CommandSpec for ClearAllSanctionsCommand
description: "Efface toutes les sanctions de tous les membres du serveur.",
examples: &["+clear all sanctions"],
default_aliases: &["casanctions"],
allow_in_dm: false,
default_permission: 8,
}
}
@@ -61,6 +61,7 @@ impl crate::commands::command_contract::CommandSpec for ClearMessagesCommand {
description: "Supprime un nombre de messages, optionnellement filtres par membre.",
examples: &["+clear 20", "+clear 20 @User"],
default_aliases: &["purge"],
allow_in_dm: false,
default_permission: 8,
}
}
@@ -70,6 +70,7 @@ impl crate::commands::command_contract::CommandSpec for ClearSanctionsCommand {
description: "Efface completement les sanctions d un membre cible.",
examples: &["+clear sanctions @User"],
default_aliases: &["csanctions"],
allow_in_dm: false,
default_permission: 8,
}
}
+1
View File
@@ -64,6 +64,7 @@ impl crate::commands::command_contract::CommandSpec for CmuteCommand {
description: "Mute un membre sur le salon courant.",
examples: &["+cmute @User"],
default_aliases: &["cm"],
allow_in_dm: false,
default_permission: 8,
}
}
+1
View File
@@ -92,6 +92,7 @@ impl crate::commands::command_contract::CommandSpec for DelSanctionCommand {
description: "Supprime une sanction specifique dans l historique d un membre.",
examples: &["+del sanction @User 1"],
default_aliases: &["delsanction"],
allow_in_dm: false,
default_permission: 8,
}
}
+1
View File
@@ -68,6 +68,7 @@ impl crate::commands::command_contract::CommandSpec for KickCommand {
description: "Kick un ou plusieurs membres.",
examples: &["+kick @User"],
default_aliases: &["k"],
allow_in_dm: false,
default_permission: 8,
}
}
+1
View File
@@ -64,6 +64,7 @@ impl crate::commands::command_contract::CommandSpec for MuteCommand {
description: "Applique un mute a un ou plusieurs membres.",
examples: &["+mute @User abus"],
default_aliases: &["tmute"],
allow_in_dm: false,
default_permission: 8,
}
}
+1
View File
@@ -69,6 +69,7 @@ impl crate::commands::command_contract::CommandSpec for MutelistCommand {
description: "Affiche tous les mutes en cours.",
examples: &["+mutelist"],
default_aliases: &["ml"],
allow_in_dm: false,
default_permission: 8,
}
}
+1
View File
@@ -61,6 +61,7 @@ impl crate::commands::command_contract::CommandSpec for RenewCommand {
description: "Supprime puis recree un salon textuel en conservant les options principales.",
examples: &["+renew", "+renew #general"],
default_aliases: &["nuke", "rebuildch"],
allow_in_dm: false,
default_permission: 8,
}
}
+1
View File
@@ -108,6 +108,7 @@ impl crate::commands::command_contract::CommandSpec for SanctionsCommand {
description: "Liste l historique des sanctions d un membre.",
examples: &["+sanctions @User"],
default_aliases: &["sanct"],
allow_in_dm: false,
default_permission: 8,
}
}
+1
View File
@@ -79,6 +79,7 @@ impl crate::commands::command_contract::CommandSpec for TempbanCommand {
description: "Ban temporairement un ou plusieurs membres.",
examples: &["+tempban @User 1d"],
default_aliases: &["tb"],
allow_in_dm: false,
default_permission: 8,
}
}
+1
View File
@@ -73,6 +73,7 @@ impl crate::commands::command_contract::CommandSpec for TempcmuteCommand {
description: "Mute temporaire sur le salon courant.",
examples: &["+tempcmute @User 5m"],
default_aliases: &["tcm"],
allow_in_dm: false,
default_permission: 8,
}
}
+1
View File
@@ -73,6 +73,7 @@ impl crate::commands::command_contract::CommandSpec for TempmuteCommand {
description: "Mute un ou plusieurs membres pour une duree donnee.",
examples: &["+tempmute @User 10m"],
default_aliases: &["tm"],
allow_in_dm: false,
default_permission: 8,
}
}
+1
View File
@@ -47,6 +47,7 @@ impl crate::commands::command_contract::CommandSpec for UnbanCommand {
description: "Unban un ou plusieurs membres.",
examples: &["+unban @User"],
default_aliases: &["ub"],
allow_in_dm: false,
default_permission: 8,
}
}
+1
View File
@@ -45,6 +45,7 @@ impl crate::commands::command_contract::CommandSpec for UnbanAllCommand {
description: "Supprime tous les bans du serveur cible.",
examples: &["+unbanall"],
default_aliases: &["uball", "clearbans"],
allow_in_dm: false,
default_permission: 8,
}
}
+1
View File
@@ -61,6 +61,7 @@ impl crate::commands::command_contract::CommandSpec for UncmuteCommand {
description: "Met fin au mute salon.",
examples: &["+uncmute @User"],
default_aliases: &["ucm"],
allow_in_dm: false,
default_permission: 8,
}
}
+1
View File
@@ -60,6 +60,7 @@ impl crate::commands::command_contract::CommandSpec for UnmuteCommand {
description: "Met fin au mute d un ou plusieurs membres.",
examples: &["+unmute @User"],
default_aliases: &["um"],
allow_in_dm: false,
default_permission: 8,
}
}
+1
View File
@@ -75,6 +75,7 @@ impl crate::commands::command_contract::CommandSpec for UnmuteallCommand {
description: "Supprime tous les mutes en cours.",
examples: &["+unmuteall"],
default_aliases: &["uma"],
allow_in_dm: false,
default_permission: 8,
}
}
+1
View File
@@ -60,6 +60,7 @@ impl crate::commands::command_contract::CommandSpec for WarnCommand {
description: "Ajoute un warn a un ou plusieurs membres.",
examples: &["+warn @User spam"],
default_aliases: &["avert"],
allow_in_dm: false,
default_permission: 8,
}
}