🔨 Moderation#
Like many Discord bots, Axobot allows you to moderate your server in different ways. You will find the classic commands to delete messages, mute, kick out or ban a member, as well as being able to slow down or freeze a chat completely.
Among the features in preparation you will find the members’ records as well as the possibility of sending warnings, or a section on automatic moderation.
Note
Like most of the features of this bot, the Moderation section is constantly being developed. Feel free to help us by offering suggestions, voting for the best ideas or reporting bugs at our Discord server!
Warning
Most of these commands are reserved for certain roles only. To allow roles to use a command, see the config command
Warn#
Syntax: warn <user> <message>
:
This command allows you to warn a member, without really sanctioning them. This member will receive this warning by personal message (if they have not disabled them), and the warning will be stored in his logs.
Mute/Unmute#
Tip
Check our in-depth article to know everything about the mute command: how to configure it in your server, what are the diffenrent ways tomute people, and how to use its commands efficiently!
Syntax: mute <user> [duration] [reason]
This command mutes a member, preventing them from sending messages. If you configured a muted role, Axobot will give it to the member, and remove it when the mute is over. If you didn’t, Axobot will use Discord’s “time out” feature, which will prevent the member from sending messages for the duration of the mute.
The duration of the temporary mute is quite flexible: use XXd
for days, XXh
for hours and XXm
for minutes (replacing XX by the corresponding number, of course!)
Warning
if you use a “muted” role, the role must be placed below the bot role, and the bot must have “Manage roles” (to give the role) permission.
Note
Axobot remembers when a member is muted in your server, and only delete this information when someone uses the !unmute command. So, if a member tries to lose his “muted” role by leaving and joining the server, Axobot will give them back his role, even if you removed it manually (without the command)!
Syntax: unmute <user>
This command unmutes a member, when they already have the muted role. Not necessary when you had specified a duration during the mute, unless you want to stop it prematurely.
Syntax: mute-config
With this command, Axobot will try to configure automatically the muted role (and create it if needed) with the correct permissions, both in your server and in your channels/categories. Basically, in Discord, the rule is “if a member has any role allowing them to do X, then they will be able to do X, no matter what other roles they have”. So Axobot will at first make the muted role disallowing members to send messages in the channels (with the red cross permission), then check every other roles and make sure they don’t allow muted members to send messages (so any green check will become a gray tick in the channels permissions).
Slowmode#
Syntax: slowmode <seconds>
or slowmode off
Slowmode keeps your text channel quiet when excited people have decided to talk a little too fast. More precisely, it prevents members from posting messages too often. The frequency between two consecutive messages from the same member is indicated in the command.
Note
The system uses a brand new feature released on September 8th in Discord beta. It therefore is a completely new as in very few bots have it) feature and can be highly integrated into your applications. It is even better than just deleting messages.
Clear#
Syntax: clear <number> [parameters]
This command allows you to efficiently delete messages, with a list of possible parameters for more accuracy. You can thus specify a list of members to check by mentioning them, if it should delete all messages containing files/images, or all containing links or Discord invitations, or even pinned messages. By default, the bot will not delete pinned messages.
Be careful, all specified settings must be validated for the message to be deleted. For example, if you enter /clear 10 users: @z_runner contains_file: True
, the bot will check in the last ten messages if the message comes from @z_runner AND if the message contains an image.
If you enter /clear 25 contains_url: True
, the bot will clear the last 25 messages if they contains a link AND if they’re not pinned, no matter the author.
If you enter /clear 1000 users: @z_runner @Axobeta#4940
, the bot will delete all (not pinned) messages contained in the last 1000 messages of the channel AND written by @z_runner OR Axobeta#4940.
Warning
The permissions “Manage messages” and “Read messages history” are required.
Syntax: destop <message>
If you don’t know how many messages you want to delete, but instead want to delete all of them until a certain message, you can use this command. The “message” argument can be either a message ID (from the same channel) or a message url (from any channel of your server). Permissions needed for users and bot are the same as the clear command.
Kick#
Syntax: kick <user> [reason]
The kick allows you to eject a member from your server. This member will receive a personal message from the bot to alert them of his expulsion, with the reason for the kick if it’s specified. It is not possible to cancel a kick. The only way to get a member back is to send them an invitation (see the invite command) via another server.
Warning
For the command to succeed, the bot must have “Kick members” permissions and be placed higher than the highest role of that member.
Softban#
Syntax: softban <user> [reason]
This command allows you to expel a member from your server, such as kick. But in addition, it will delete all messages posted by this member during the last 7 days. This is what explains its name: the bot bans a member by asking Discord to delete the messages (which is not possible with a kick), then unban immediately the member.
Warning
For this command, the bot needs “Ban members” permission, and you need to have a role to use the “kick” command
Ban/Unban#
Syntax: ban <user> [duration] [days_to_delete] [reason]
The ban allows you to instantly ban a member from your server. This means that the member will be ejected, and will not be able to return before being unbanned by a moderator. The ‘days_to_delete’ option represents the number of days worth of messages to delete from the user in the guild, bewteen 0 and 7 (0 by default)
The duration of the tempban is the same as for the tempmute: use XXd
for days, XXh
for hours and XXm
for minutes (replacing XX by the corresponding number, of course!)
To cancel this action, use the Discord interface or the unban command. The member will nevertheless have to decide for themselves if he wishes to return to your server.
Syntax: unban <user> [reason]
This command allows you to revoke a ban, whether it was made via this bot or not. Just fill in the exact name or the identifier of the member you wish to be unbanned so that the bot can find the member you choose in the list of banned members for the member in question.
The persons authorized to use this command are the same as for the ban command(see the config
command).
Warning
For both commands to succeed, the bot must have “Ban members” permissions (as well as be placed higher than the highest role of the member to ban).
Banlist/Mutelist#
Syntax: banlist
or mutelist
If you mute and ban so many people that you don’t remember the exact list, and you have the laziness to look in your server options, this command will be happy to refresh your memory without too much effort.
The ‘reasons’ argument allows you to display or not the reasons for the sanction.
Note
Note that this command is only available for your server administrators for banlist and your moderators for mutelist. Ah, and Discord also likes privacy, so the bot can’t read this list if he doesn’t have permission to “ban people”.
Handling cases#
View list#
Syntax: cases list <user>
If you want to know the list of cases/logs that a member has in this server, you can use this command. Note that to select a member, you must either notify them, retrieve their ID or write their full name.
The persons authorized to use this command are the same as for the warn command.
Warning
The list of cases is returned in an embed, which means that the bot must have “Embed Links” permission.
Search for a case#
Syntax: cases search <case ID>
This command allows you to search for a case from its identifier. The identifiers are unique for the whole bot, so you can’t see them all.
Warning
The case is returned in an embed, which means that the bot must have “Embed Links” permission to send it correctly.
Edit Reason#
Syntax: cases reason <case ID> <new reason>
If you want to edit the reason for a case after creating it, you will need to use this command. Simply retrieve the case ID and enter the new reason. There is no way to go back, so be sure to make no mistake!
The persons authorized to use this command are the same as for the warn command.
Remove case#
Syntax: cases (remove|clear|delete) <case ID>
This is the only way to delete a case from the logs for a user. Just to make sure you don’t forget the command name, there are three aliases for the same command.
The locker will be deleted forever, and forever can be very, very long. So be sure you’re not mistaken, there’s no backup!
The persons authorized to use this command are the same as for the warn command.
Anti-raid#
Not a command, but a server option.
This option allows you to automatically moderate the newcomers and chat activity in your server, with several levels of security. You can enable it with the /config set anti_raid
command followed by the level you want.
By default, any member with the ‘Moderate members’ permission on your server will be immune to the anti-raid system. You can customize which roles should immune your members with the anti_raid_ignored_roles
configuration option.
For your server safety, Axobot will look at three things: the account creation date of newcomers, the spam of users mentions, and the spam of Discord server invitations.
Here is the list of levels:
- None
no filter
- Smooth
kick users with invitations in their nickname
time-out for 1h users sending 5 invites in a short time
time-out for 30min users sending 20 mentions in a short time
- Careful
kick accounts created less than 2 hours before
time-out for 6h users sending 6 invites in a short time
time-out for 1h users sending 3 invites in a short time
time-out for 30min users sending 20 mentions in a short time
time-out for 15min users sending 10 mentions in a short time
- High
ban users with invitations in their nickname for a week
ban accounts created less than 1 hour before for a week
kick accounts created less than 12h before
kick users sending 20 mentions in a short time
kick users sending 5 invites in a short time
time-out for 3h users sending 5 invites in a short time
time-out for 30min users sending 10 mentions in a short time
- Extreme
ban users sending 5 invites in a short time for 4 weeks
ban accounts created less than 1h before for 2 weeks
ban users sending 20 mentions in a short time for 2 week
ban accounts created less than 3 hours before for a week
kick accounts created less than 24h before
kick users sending 15 mentions in a short time
kick users sending 3 invites in a short time
time-out for 3h users sending 2 invites in a minute
time-out for 1h users sending 10 mentions in a short time
Note
Note that the levels are cumulative: for example level 3 will also have the specificities of levels 1 and 2
Warning
The bot must have access to “Time out members”, “Kick members” and “Ban members” permissions
Anti-scam#
How does it work?
Axobot has an advanced scam message detection system, involving a highly trained AI that has been conscientiously built over several months. This allows you to automatically filter and remove any messages that are dangerous to your members, such as Nitro scams or other suspicious links.
When Axobot is certain that a message is dangerous, it will delete the message immediately and send a log to the logs channel if you have configured it. If Axobot detects a “probably dangerous” message, it will not take any action but will send you an alert in this same logs channel. So make sure you have configured an antiscam logs channel if you enable this feature.
Note
Messages that are too short, or sent by moderators (members with “manage messages” or “manage server” permissions) or bots will not be monitored by this system.
List of commands:
antiscam enable
or antiscam disable
to enable/disable the system (require “manage server” permission)
modlogs enable antiscam
to enable antiscam logs in a channel (require “manage server” permission)
antiscam test
followed by any text to test how dangerous this text may be
antiscam report
followed by any text or message link to report a malicious message to the bot team
Warning
By enabling this feature, you allow Axobot to read and analyze all messages on your server, and messages considered suspicious may be anonymized and stored in our database for better detection. You are solely responsible for notifying your community of this.
Server logs#
To help you moderate your server and keep track of what’s going on, Axobot has a logging system somewhat similar to the Discord one. You can decide to track one or more types of “events” in a channel, and Axobot will send a message there whenever something new happens. For example, it is possible to have a log at every ban or unban, or when a member changes role, etc.
Note
The bot has very few different types of logs at the moment, but there are plans to add many more in the next updates!
How to setup logs#
You can enable one or more logs types in a channel by using the modlogs enable <logs> [channel]
in the channel you want them to appear in (or in another channel by mentionning it). In the same way, use modlogs disable <logs> [channel]
to disable a kind of logs in the current channel. Please note that you can use the keyword “all” as a log type to enable or disable all at the same time.
To see in Discord which logs exists and which ones you have enabled in your server, use the command modlogs list
. You can also use this command followed by a channel mention or ID to see which logs are enabled in a specific channel.
Types of logs#
antiraid: A new member is kicked or banned by the raid detection system
antiscam: A message is flagged as a potential scam by the antiscam AI
bot_warnings: Axobot couldn’t do its job due to an external factor (like a missing permission)
clear: Some messages have been deleted by the
clear
commanddiscord_invite: A member just sent a message containing one or more Discord server invite link
ghost_ping: A member deleted a message containing a user mention right after sending it
member_avatar: A member changes its guild avatar
member_ban: A user is banned from your server
member_join: A member joins your server
member_kick: A member is kicked from your server
member_leave: A member leaves your server
member_nick: A member has its nickname changed
member_roles: A member gets or loses roles
member_timeout: A member is set on timeout by one of your moderators
member_unban: A user is unbanned from your server
member_verification: A user has been verified by the Discord community rules screen (if enabled in your server)
member_warn: A member has been warned by one of your moderators with the
warn
commandmessage_update: A message is edited
message_delete: A message is deleted
moderation_case: A moderation case has been edited or deleted with the
case
commandrole_creation: A role is created
role_deletion: A role is deleted
role_update: A role has been edited
server_update: The server has been edited (icon, name, or features)
slowmode: A channel has been put on slowmode with the
slowmode
commandticket_creation: A ticket has been opened
user_update: A user profile has been otherwise edited (usually badges)
Miscellaneaous#
Emoji Manager#
With this command, you can become the undisputed master of the Emojis and handle them all as you please. You can even do something that no one has ever done before, a beta exclusivity straight out of the Discord labs: restrict the use of certain emojis to certain roles! YES! It’s possible! Come on, let’s not waste any time, here’s the list of commands currently available :
emoji rename <emoji> <new name>
: renames your emoji, without going through the Discord interface. No more complicated thing.emoji restrict <emoji> <roles>
: restrict the use of an emoji to certain roles. Members who do not have this role will simply not see the emoji in the list. Note that there is no need to mention, just put the identifier or the name.emoji clear <message ID> [emoji]
: instantly removes reactions from a message. This message must be indicated via its identifier, and belong to the same chat as the one where the command is used. If no emoji is specified, every reaction will be deleted. The bot must have “Manage Messages” and “Read Message History” permissions.emojis list [page=1]
: lists all the server’s emojis (each page has max 50 emojis), in an embed, and indicates if some of them are restricted to certain roles. The bot must have “Embed Links” permission.
Warning
The bot needs the Manage expressions permission to edit these pretty little pictures. And you, you need the “Manage expressions” permission to use these commands.
Role Manager#
Nice command that allows you to do different things with the server roles (other subcommands will be created later). The permissions required to execute them depend on the subcommands, ranging from anyone to the administrator. If you have any ideas or other suggestions, feel free to contact us via our Discord server, or in PM at the bot!
role color <role> <colour>
(alias role colour): Changes the color of the given role. The color must be in hexadecimal form, although some common names are accepted (red, blue, gold…). To remove the color, use the name default. Please check notes 1. and 2.role grant <role> <user(s) | role(s)>
: Give a role to a list of people. You can target as many users or roles as you want, so for example to target your friends Joe and Jack, plus the Admin role, userole give superRole Joe Jack Admin
. Please check note 2. To avoid spamming the Discord API, Axobot also limit how many users you can affect by this command, and will tell you if this limit is reached.role temporary-grant <role> <user> <duration>
: Give a role to a user for a certain amount of time. The duration must be in the format 1d 2h 3m (days, hours, minutes, seconds). Please check notes 1 and 2.role remove <role> <user(s) | role(s)>
: Same as above, but instead of giving them, it takes them away. Please check note 2.role list <role>
: List every members who are in a specific role, if this number is under 200. The bot must have “Embed Links” permission to display the result. Please check note 2.role server-list
: Liste every role of your server, with the members count. The bot must have “Embed Links” permission to display the result. Please check note 2.
Warning
The bot need the “Manage roles” permission, also his highest role need to be higher than the role he’s trying to edit.
You need to have the “Manage roles” permission (or be an administrator) to use this command. Else, Axobot won’t react.
Unhoist members#
People like to put strange characters in their nicknames to appear at the top of the membership list. With this command you will be able to put an end to this habit. Simply type the command without argument to remove all non-alphabetic characters (a-z A-Z 0-9) at the beginning of the nickname, and you can give your own characters via an argument. Easy, isn’t it?
Syntax: unhoist [characters]
Warning
It is necessary that the bot has “Manage nicknames” permission, and that its role is above the roles of the members to be renamed.