These are tools designed to help with moderating a server.
+kick
[Kick]
Permission: [Kick] This command requires the caller to have Kick Members.
This command kicks a member from the server. The member must be on the server.
The bot requires Kick Members to use this command and cannot kick members with equal or higher standing in the role hierarchy.
+kick 'member' ['message']
+ban
[Ban]
Permission: [Ban] This command requires the caller to have Ban Members.
This command bans (with delete) a member on the server.
The bot requires Ban Members to use this command and cannot ban members with equal or higher standing in the role hierarchy.
+ban 'member' ['message']
+softban
[Softban]
Permission: [Softban] This command requires the caller to have either Ban Members or Kick Members and Manage Messages
This command kicks a user and deletes all their recent messages.
Because the mechanic behind this is to ban (with delete) and then unban, the bot requires Ban Members. She also cannot softban members with equal or higher standing in the role hierarchy.
+softban 'member' ['message']
+xban
[Ban]
This command is used to preemptively ban members from a server, or ban members who have left already.
Unlike most other similar commands, this one only accepts an ID (not Discord Tag.)
Also unlike ban, this command will fail if your target is a member of the server. You should use +ban
instead.
The bot requires Ban Members.
+xban 'ID'
+remove
[Server Mod]
This command purges messages from a channel that matches a specific criteria.
Limit
is number of messages that will be scanned, not removed, and defaults to 100.
(i.e. If you remove with a limit of 200 from a specific user, it might catch closer to 60 messages than 200.)
All remove commands will return a small chart of who sent the messages that were deleted, or in the case of purging reactions, which reactions were most common and who posted them.
Due to the nature of Delete Many, you cannot delete messages older than 2 weeks, and due to how the bot handles it, this means you cannot even include 2 week old messages inside the limit range at all.
+remove all ['limit']
+remove user 'member' [['member' ...] 'limit']
+remove contains 'content' ['limit']
+remove embeds ['limit']
+remove command 'call' ['call' ...] ['limit']
+remove reactions ['limit']
+remove system ['limit']
+giveme
[No PM]+giveme 'name'
+giveme list
These subcommands are to set up givemes and cannot be used by non-admin users.
Usage:+giveme create 'name' 'rolename' ['chaining options'...]
+giveme delete 'name'
+giveme require 'name' 'rolename'
+giveme ignore 'name' 'rolename'
+giveme delay 'name' 'time'
+colourme
[No PM]+colourme 'name'
+colourme list
+colourme visualise
These subcommands are to set up colourmes and cannot be used by non-admin users.
Usage:+colourme create 'name' 'rolename' ['name'... 'rolename'...]
+colourme delete 'name'
+giveyou
[Server Mod]
This command allows mods who normally do not have permissions to assign roles to assign preset roles to users.
Assigning a giveyou to a member who already has the role will remove it.
+giveyou 'member' 'name'
+giveyou list
These subcommands are to set up giveyous and cannot be used by non-admin users.
Usage:+giveyou create 'name' 'rolename' ['name'... 'rolename'...]
+giveyou delete 'name'
+voicerole
[Server Admin]
This command makes 42 assign a role when a user joins a voice channel, and remove that role when they leave.
Multiple voice channels can have the same role attached to them.
NOTE: 42 will NOT assign or remove roles from members with Manage Roles.
If you have manage roles, then 42 will assume that you are capable of assigning your own roles, and will not interfere.
If you want to test to make sure you have set it up right, you will need an alt or a volunteer user to test it for you.
+voicerole bind 'channel' 'rolename'
+voicerole unbind 'channel'
+voicerole persist 'channel'
+voicerole list
Lists the roles associated with each channel.
+welcome
[Server Admin]
This command lets you send messages and assign roles to new users as they join the server.
There are two main features here. Sending messages and assigning roles.
There are 3 parts to sending a message. The content, the destination and the delay. For a walkthrough style rundown, check out the setup article.
This is what message should be sent. It is also how you completely disable messages.
none
This turns off sending welcome messages.basic
This sends a simple welcome message.hug
This sends a more friendly message.tag
This tells 42 to use your custom message.
Welcome tags are set up using the +tag command
They also allow for almost all yna to be used. The exceptions are:
{me}
and {meid}
are unavailable. To get the owner of the server, use {server.owner.name}
{args}
are unavailable. {arglen}
is always 0.{mentionlen}
is always 1, and {mention1}
is the new user.{uses}
returns the number of members on the server.{user}
and {@user}
are shortcuts for the new user's name and mention.+welcome message 'type'
This is where the message should be sent. Any combination of message type and destination works.
here
This sends the message to where the +welcome command was performed.owner
This DMs the owner. (not recommended)new
This DMs the new user.message
This sends the message to the channel the user is in.
A note about the message type. This only works when you have set the delay to typing
or message
.
+welcome dest 'type'
This says whether 42 should wait to post a welcome message or not. By default this is set to instant.
instant
This sends the message as soon as the member joins.*typing
This wait until the new member starts typing.**message
This waits until the new member sends a message.*Does not work when the destination is message.
**Most bots do not send typing, so this generally wont work for bots.
+welcome delay 'type'
By default, new member messages will be triggered by bots however, this can be disabled.
+welcome bots listen
+welcome bots ignore
You may think needing to do 3 commands to set up welcome messages is a lot. (I know this because a lot of people have complained about it already...)
42 has a function that allows you to set up all 3 main steps of the welcome message at once.
+welcome setup 'message' 'dest' 'delay'
Example usages
Greeting channel/quarantine:
+welcome setup basic here instant
Unintrusive:
+welcome setup hug message typing
These are roles assigned to the new member as soon as they join. There is also a specific set of roles that will only be assigned to bots.
This is the role assigned to all new members.
As of right writing, these are granted the moment that the member joins. Discord has just released user verification.
There are plans to update this command to delay assigning the role until users pass server verification.
none
This disables the new member role.new
This creates a new role for the member.*newcol
This creates a role and sets it to a random** colour.*give 'rolename'
This gives the user the specific role that was passed into this command.*Due to Discord's 250 role limit, this is absolutely not suitable for large or public servers
**The colour is based on a users ID. The algorithm is here
+welcome role 'type'
+welcome role give 'rolename'
Specifies the role new users should get. Rolename is the role to give.
This is a role assigned only to bots.
This can be triggered instead of, or in conjunction with the user role.
none
Do not automatically assign a role to bots.user
Assign the same role as would be granted to new users.give 'rolename'
This assigns a specified role.user give 'rolename'
Gives both the regular welcome role and an additional one.+welcome botrole 'type'
+modlog
[Server Manager]
While yes it is true that audit logs have just been released and that they completely outshine the modlog, it still exists.
The largest setback in the audit log is that logs are only kept for 90 days.
The modlog exists as a kind of pseudo-audit log. It can't see who does something, but it can track when things are done.
... Well... It actually handles more than the audit log.
The bot requires Manage Channels as it can create a new channel if required.
+modlog
+modlog here
+modlog stop
All the configuration for the modlog is done inside the channel topic by setting different variables, for example member_join = true
If you have other bots in the channel that use the topic for config, you can start the line with "42" 42 member_join = true
Whitespaces are optional and you can use as many as you want member_join= true
+report
[Active Modlog Reports]
Permission: [Active Modlog Reports] This command requires both a modlog to exist and said modlog to have allow_reports = true.
This command simply sends a non-anonymous report message to the modlog.
The command call is instantly deleted to protect the people who make reports.
This command can be used to send tips off to the moderators of the server if they aren't accepting PMs.
+report 'message'
Message is the message to send.
+log
[Active Modlog Mod]
Permission: [Active Modlog Mod] This command requires both a modlog to exist and the caller to have any permission based auth level.
This command sends a non-anonymous log message to the modlog.
The command call is instantly deleted because when squas was updating +report
he accidentally hit this command first instead.
This command can be used to add reasons as to why certain things happened, like members being banned or roles being updated.
+log 'message'
Message is the message to send.
+blacklist
[Server Mod]
This command checks for specific words and when someone sends a message containing one of said words, the message is deleted.
Messages sent by Server Mods or any higher powers will not be hit by the blacklist.
This command takes direct interraction with the server modlog and can actually start tracking infractions, and when they hit a limit, actions can be taken.
+blacklist add 'term'
+blacklist remove
+blacklist list
+spamlimit
[Bot Admin]
This command sets the bot such that outside of any preset channels, she will ensure that the amount she posts doesn't exceed a certain limit.
This line counting is applied to all messages, but the blocking affect is only applied to command calls.
This function does not affect Bot Mods and by proxy, Server Mods. This is so as to not block access to vital moderation tools like +cleanup
.
However the output will still be counted.
Due to how lines are counted (number of newline characters in the content + 1), message that consist solely of embeds are only counted as one line no matter how big.
Because every message adds to the line count, messages alerting users they have reached the spamlimit are counted towards the spamlimit
To use the spamlimit function, you must assign at least one bot channel.
+spamlimit channels '#channel' [...]
+spamlimit limit 'lines' ['cooldown']
+spamlimit stop
+rolestate
[Server Admin]
Rolestate is a simple feature but in my opinion, one of the strongest ones.
When a member leaves the server, 42 remembers what roles they had.
When they return, 42 returns those roles to them.
She will refuse to save any roles that are above her in the hierarchy, so this will not work if a mod leaves.
This is best coupled with givemes as it will reduce the number of times users need to call commands.
Especially more useful for timed roles as members who leave do not need to wait again for the timer unless they want to remove the role.
+rolestate
+rolestate stop
+rolestate addrole 'userid' 'role'
+rolestate delrole 'userid' 'role'
+rolestate setnick 'userid' 'nick'
+rolestate setnick 'userid' none
+rolestate deluser 'userid'
+warning
[No DM]
This is a very simple feature that just keeps tracks of how many warnings a user has recieved.
The bot however does not take any moderator actions. She can however track when warnings expire.
You may have noticed how this command doesn't have a stated authority level. This is because users can also use this command. When a non-staff member uses this command, the bot will ignore whatever they requested and only DM them their current warnings on that server.
Users will be able to see when a warning was made, what its reason is and if it has been marked as Void, Perma or Expired.
Staff will see all this information as well as each warning's ID and notes. The ID is required to edit individual warnings.
As a user, you can access
+warning
As a moderator, you can access
+warning search 'user'
+warning add 'user' ['reason' ['note']] [perma]
+warning edit 'id' ['reason' ['note']] [perma]
+warning void 'id'
+warning voiduser 'user'
As an admin, you can access
+warning setexpire 'days'
+warning del 'id'
+warning deluser 'user'
+warning export
+warning delall
+uplink
[Owner]
You may wonder why I chose to document this here and the answer is simply "transparency."
42 has the facility to link 2 channels together through herself and then relay messages sent in one to the other.
Ideally I would never need to use this command and a lot of the time, I can solve problems by assigning an ambassador with powermod.
Sometimes I don't know anyone on the server though, and this is when this command comes in useful.
From your side, you will see something like "This channel has been uplinked with Kiwi Hangout#ishinomoris-lab..." This means that the channel you are in has been uplinked.
At the end of the interaction, you will see "Uplink closed..." This means that no more messages will be sent in either direction.
Kiwi Hangout#ishinomoris-lab | Example Server#botspam |
---|---|
<squas> +uplink "Example Server" botspam | |
<42> Creating Uplink... | |
<42> This channel has been uplinked with Kiwi Hangout#ishinomoris-lab | |
<42>Connection established, use ++close to close. | |
<squas> Hello? This is the bots creator. I've noticed a lot of spam coming from here and its slowing down the bot... | |
<42> squaswin: Hello? This is the bots creator. I've noticed a lot of spam coming from here and its slowing down the bot... | |
<user> Oh, I'm sorry for that, I'll stop now. | |
<42> user: Oh, I'm sorry for that, I'll stop now. | |
<squas> Thank you. Goodbye. | |
<42> squaswin: Thank you. Goodbye. | |
<squas> ++close | |
<42> Uplink closed. No more messages will be transmitted. | |
<42> Uplink closed. |