This part of the guide is 100% intuitive, and you'll be familiar with all this by now. The base commands are essentially warn, ban, kick, and mute.
Just remember this structure
tlt![something] [arguments for the command]
Some things to have in mind beforehand. When mentioning:
#mod-lab channel (the user won't receive any pings or notifications), or use their user ID (this one is Sam Haft's: 421378003101286410). Whenever you see "@user/userID", this is where you have to use any of those.tlt!warn @Sam Haft 1y hasn't released Armstrong
Example of one command that uses all the mentioned arguments.
IMPORTANT: The commands are technically flexible. See the structure and notice that some arguments are just part of the command/structure and not 100% needed. Still, I set up the bot so that some are actually needed for many cases. I'll let you know when that applies.
Displays (or takes) notes about a user.
tlt!usernotes @user/userID [note]
tlt!usernotes @Sam Haft hasn't offered autographs
When only typing the command without the note argument, it will show a list of the notes that were taken on that user, starting with the oldest one.
With the dropdown menu below, you can easily click on a note and remove it. The message will update showing the current notes (without the recently deleted one).
When clicking on the green "Add note" button, you'll get this modal asking you for some text input. This will be the new note for the user.
As you can see, the typed in note using the modal is now part of the list, which automatically updated without triggering the command again.
You can also directly add a note when triggering the command by providing the note as the last argument, using the structure I gave you just before.
tlt!usernotes @user/userID [note]
This one deserves to be the first one to be taught. This command will lead to some kind of "documentation" on users. It is essentially to keep track on a user without actually warning them or keeping it all relying on the mod chat.
You can usually take notes on a user once they have been discussed about in the mod chat, which is the most common situation, still you can straight up add a note when you just don't want to warn the user yet. This way, triggering the command in the future will give more and more reasons (or info) to keep an eye on the user or straight up proceed with an action.
Warns one user (only one).
The moderator must give a reason for the warning.
The user will receive a DM from Sapphire.
When the user has been warned for the second time, they'll also get muted for one month.
tlt!warn @user/userID 60s/3w/3mon/1y [reason]
tlt!warn @Sam Haft 1y hasn't released Armstrong
The first punishment you have to learn; your first power. From now on, you'll find yourself using this one quite a lot. A user breaks a rule, you warn them, just do it until they happen to break another one for the third time, getting themselves banned automatically. No need for a mental list, nor your memory skills, just keep warning users left and right until they trigger their own fate.
I know it's been mentioned that the warning command has a time argument, but here at TLT warnings are set (and meant) to be permanent. So, we don't need to use the time argument for the command, and never have to.
tlt!warn @Sam Haft hasn't released Armstrong
This is enough. And this is the structure you'll find yourself using so much.
There will be cases where directly banning will be the most logical option, so take all this with a grain of salt.
I'm still rewriting the mod rules so that I can perfectly define and list the standards for every action or infraction, so please be patient (very, very patient). THIS WEBSITE IS STILL IN BETA.
Displays a list of warns from the user. Starting with the oldest one.
tlt!warns @user/userID
tlt!warns @Sam Haft
Removes ALL WARNINGS from one user.
The user will receive a DM from Sapphire.
tlt!unwarn @user/userID
tlt!unwarn @Sam Haft
Unwarn the user only when THE USER AS A WHOLE deserves to be unwarned. By unwarning you get all their warnings back to zero.
It is recommended to discuss it with the mod team before the final decision, but you can do it too.
Bans one user (only one).
The moderator must give a reason for the ban.
The user will receive a DM from Sapphire.
tlt!ban @user/userID 60s/3w/3mon/1y [reason]
tlt!ban @Sam Haft 1y lactose intolerant
Our main reasons for manually blocking the access for some users are usually:
As I said, I'm still rewriting the mod rules so that I can perfectly define and list the standards for every action or infraction, so please be patient (very, very, very patient). REMEMBER THAT THIS WEBSITE IS STILL IN BETA.
Unbans the user, letting them have access to the server.
The moderator can add a reason for unbanning them, but it's not mandatory.
The user will receive a DM from Sapphire.
tlt!unban @user/userID [reason]
tlt!unban @Sam Haft lactose intolerant
Kicks the user, doesn't ban them. They can join back with an invite link.
The moderator must give a reason.
The user will receive a DM from Sapphire.
tlt!kick @user/userID [reason]
tlt!kick @Sam Haft posted an announcement about bread in the shower
Mutes the user so they can't talk or interact in text channels.
The moderator must give a reason for muting them.
The user will receive a DM from Sapphire.
tlt!mute @user/userID 60s/3w/3mon/1y [reason]
tlt!mute @Sam Haft 1y noticed that a channel has been deleted/archived
Unmutes the user.
The moderator can add a reason for unmuting them, but it's not mandatory.
The user will receive a DM from Sapphire.
tlt!unmute @user/userID [reason]
tlt!unmute @Sam Haft noticed that a channel has been deleted/archived
The base commands only work for a single user, but you can also trigger the commands for multiple users thanks to the mass-commands. Don't worry, these are the same old four we know: warn, ban, kick, mute. You must know how the base commands work since they behave the very same way, but adding another possibility.
The structure of the command:
tlt!mass[warn/ban/kick/mute] [arguments for the command]
All users will be punished using the same reason, time, and getting DMed about it too.
After triggering a mass command, you will be asked to review the punishment or cancel it. If you are sure about it, click on the eye.
This window will pop up, and the only field you have to pay attention to is the reason for the punishment. Use the other fields only if you feel like it, I don't know.
In case you wonder why this must be done for every of these commands, it's because it's not Sapphire's menu, but Discord's. Massive actions like masswarning, massbanning, etc. require Sapphire to tell Discord that a human user asked for it.
Once done, the command is successfully triggered.
tlt!masswarn @user1/userID1 @user2/userID2 @user3/userID3 60s/3w/3mon/1y [reason]
tlt!masswarn @Sam Haft @YoavLandau @grimmiereaper 3m haven't leaked Armstrong
After triggering the command, you will be asked to review the punishment or cancel it. If you are sure about it, click on the eye.
This window will pop up, and the only field you have to pay attention to is the reason for the punishment. Use the other fields only if you feel like it, I don't know.
All the mentioned users will be warned.
tlt!massban @user1/userID1 @user2/userID2 @user3/userID3 60s/3w/3mon/1y [reason]
tlt!massban @Sam Haft @YoavLandau @grimmiereaper 3m haven't leaked Armstrong
After triggering the command, you will be asked to review the punishment or cancel it. If you are sure about it, click on the eye.
This window will pop up, and the only field you have to pay attention to is the reason for the punishment. Use the other fields only if you feel like it, I don't know.
All the mentioned users will be banned.
tlt!masskick @user1/userID1 @user2/userID2 @user3/userID3 60s/3w/3mon/1y [reason]
tlt!masskick @Sam Haft @YoavLandau @grimmiereaper 3m haven't leaked Armstrong
After triggering the command, you will be asked to review the punishment or cancel it. If you are sure about it, click on the eye.
This window will pop up, and the only field you have to pay attention to is the reason for the punishment. Use the other fields only if you feel like it.
All the mentioned users will be kicked.
tlt!massmute @user1/userID1 @user2/userID2 @user3/userID3 60s/3w/3mon/1y [reason]
tlt!massmute @Sam Haft @YoavLandau @grimmiereaper 3m haven't leaked Armstrong
After triggering the command, you will be asked to review the punishment or cancel it. If you are sure about it, click on the eye.
This window will pop up, and the only field you have to pay attention to is the reason for the punishment. Use the other fields only if you feel like it.
All the mentioned users will be muted.
The base commands only work for a single user, but using name-commands you can trigger them for all the users that have something as their name. Don't worry, these are the same old four we know: warn, ban, kick, mute.
Just remember this structure
tlt!name[warn/ban/kick/mute] [word/term/text]
tlt!namewarn [text]
tlt!namewarn haft
After triggering the command, you will be asked to review the punishment or cancel it. If you are sure about it, click on the eye.
This window will pop up, and the only field you have to pay attention to is the reason for the punishment. Use the other fields only if you feel like it.
tlt!nameban [text]
tlt!nameban haft
After triggering the command, you will be asked to review the punishment or cancel it. If you are sure about it, click on the eye.
This window will pop up, and the only field you have to pay attention to is the reason for the punishment. Use the other fields only if you feel like it.
tlt!namekick [text]
tlt!namekick haft
After triggering the command, you will be asked to review the punishment or cancel it. If you are sure about it, click on the eye.
This window will pop up, and the only field you have to pay attention to is the reason for the punishment. Use the other fields only if you feel like it.
tlt!namemute [text]
tlt!namemute haft
After triggering the command, you will be asked to review the punishment or cancel it. If you are sure about it, click on the eye.
This window will pop up, and the only field you have to pay attention to is the reason for the punishment. Use the other fields only if you feel like it.
IMPORTANT: This group of commands can't use arguments like time (1d/2y) or [reason]. The reason is that all that follows "tlt!name[something]" will be taken as the text you want to punish the users for. Using tlt!namewarn haft 5mon using haft as name will warn all users with "haft 5mon using haft as name" as part of their names (hope I made it make sense.)
Massdeletes messages. It can be triggered for a number of messages, messages from a user, number of messages from a user, an amount of time, or a range of messages.
Pay attention to the following structures.
tlt!purge [number]
tlt!purge 200
The last 200 messages in the channel will be deleted instantly.
tlt!purge 60s/3w/3mon/1y
tlt!purge 3w
All messages from the last three weeks in that channel will be deleted.
tlt!purge IDofStartingMessage IDofEndingMessage
tlt!purge 1482233298708205709 1482238348532912248
All the messages between the first given message and the last one will be deleted.
tlt!purge 10 @Sam Haft
Deletes the last 10 Sam Haft's messages in the channel.
tlt!purge 5m @Sam Haft
Deletes all messages Sam Haft has sent in the last 5 minutes.
tlt!purge 1482517291257172178 1482568463351550062 @Sam Haft
Any message by Sam Haft that is between the starting and ending message will be deleted.
There might be occasions where you want to instantly block users from texting, be it in a channel or all of them. This command makes the @everyone lose their texting perms.
If you lock a VC channel, it will also disconnect anyone from it.
Giving a reason for locking the channel(s) is totally optional.
Locks a single channel
tlt!lock #channel [reason]
tlt!lock
Locks the current channel you sent the message in.
tlt!lock #general massive server raid massive server raid massive server raid
Locks the channel you want, whichever you are in. In this case, you are locking #general using another channel. It also sets "massive server raid massive server raid massive server raid" as reason for locking (optional).
Unlocks a single channel
tlt!unlock #channel [reason]
tlt!unlock
Unlocks the current channel you sent the message in.
tlt!unlock #general server raid has been solved
Unlocks the channel you want, whichever you are in. In this case, you are locking #general using another channel. It also sets "server raid has been solved" as reason for unlocking (optional).
This command locks a group of channel I have set manually. All you need to know is: using tlt!lockall will lock ALL the text-able channels from non-mod users.
tlt!lockall [reason]
tlt!lockall massive server raid
Locks all channels so that non-mod users can't talk or join VCs. Giving "massive server raid" as a reason (optional.)
Unlocks the group of channel I set before, so that non-mod users have access to them again.
tlt!unlockall [reason]
tlt!unlockall massive server raid solved
Unlocks all channels. Non-mod users can now talk and join VCs. "massive server raid" is set as reason for unlocking them.
We as mods can get info from many things using some commands.
IMPORTANT: you are NOT forced to know or memorize these commands, as they are just extra stuff that will barely be used unless absolutely needed. You're mostly done, trust me.
Outputs an embed with info about the user's profile. User, user ID, how old the account is, the avatar (tiny), banner, avatar decoration, server tag, the server ID for the server tag, and when they joined the server.
If you don't specify a user, the bot will output your user info instead.
tlt!userinfo @user/userID
tlt!userinfo @Sam Haft
Displays the pfp of the user in a bigger scale.
If you don't specify a user, the bot will output your pfp instead.
tlt!avatarinfo @user/userID
tlt!avatarinfo @Sam Haft
Displays the banner of the user in a bigger scale.
If you don't specify a user, the bot will output your banner instead.
tlt!bannerinfo @user/userID
tlt!bannerinfo @Sam Haft
Shows info about a role, like its ID, hex color, number of members with it, time it was created, whether it's hoisted or not, its position, and an extensive list of its permissions.
If no role is specified, Sapphire will instead show a list of the roles sorted by hierarchy, and then another list of those same roles, but sorted by number of members.
tlt!roleinfo @role
tlt!roleinfo @Corpse (Community Manager)