8 topics

Messages, commands and extras

In the Bot & content panel group you control what the bot itself says and does: posting or scheduling messages, your own commands, automatic replies to words, counter channels, linking a game server, importing levels from another bot, and a ticket system. None of these parts does anything until you set it up.

Messages

Where to find it: Panel → Bot & content → Messages

Have the bot post a message in a channel, optionally with an image and an embed (a card with a title, text, color, image and footer). You can also edit a message the bot posted earlier, or schedule a text message for later. With the /announce command you post a message with text or an image from inside Discord, but without an embed.

Steps

  1. Under Send a bot message, pick the Channel and type your Message (max 2000 characters; formatting and mentions of members, roles and channels work).
  2. Optionally add an image: upload one, or use Or paste an image URL. Open Optional: add an embed for Embed title, Embed description, Embed color, Embed image URL and Embed footer. Click Send.
  3. To edit a bot message: turn on developer mode in Discord, right-click the message and choose Copy Message ID. Open Or: edit an existing bot message, paste it into Message ID, pick the same channel, enter the new text or embed and click Send.
  4. To schedule: under Schedule a message, pick the Channel, When (your own local time) and the Message, then click Schedule.
  5. Under Scheduled you see each message as scheduled, sent or failed. A message that is still scheduled can be removed with Cancel.
Note
  • Allow @everyone / @here is off by default, so you don't ping everyone by accident. In a scheduled message @everyone and @here do work, if the bot has that permission in the channel.
  • The bot must be able to see the channel and send messages there. For an uploaded image it also needs Attach Files, for an embed Embed Links.
  • You can only edit messages posted by SlakBot itself. Editing replaces the whole message: whatever you leave empty (text or embed) disappears, and an attachment cannot be changed.
  • A scheduled message is text only (no image or embed), is sent once (it does not repeat) and can be at most one year ahead. The bot checks every 10 seconds, so it goes out around the chosen time.
  • Check beforehand that the bot may post in that channel: if sending fails, the list may still show sent.

Commands

/announce Has the bot post a message in a text or announcement channel. Options: message, channel (defaults to the channel you type in), image, image_url and ping_everyone (off by default). You need text or an image. By default only for members with Manage Messages.

Discord ! commands

Where to find it: Panel → Bot & content → Discord ! commands

Your own commands with a fixed reply: when someone types, for example, !rules in Discord, the bot replies in the same channel with the text you set. Everyone on the server can use them. The reply is always exactly the same text; variables don't work here.

Steps

  1. Under New Custom Command, fill in the Trigger (without !), for example rules.
  2. Under Response text, type what the bot should reply.
  3. Click Add. The command works right away.
  4. To change it: add it again with the same trigger; the old reply is then replaced. Remove it with the bin button under Existing Commands.
Note
  • A trigger consists of lowercase letters, digits, - and _ (max 50 characters). Other characters, such as spaces, are removed by the bot. Capitals don't matter when typing: !Rules works too.
  • The reply is cut off at 2000 characters. If you put @everyone or a role in the reply, the bot really pings it (if it has that permission).
  • If you want variables (such as the name of whoever uses the command), an embed or control over who may use the command, use Discord / commands instead.

Commands

!<your trigger> Type it in a channel where the bot can read and send messages; the bot replies with your text.

Discord / commands (Command Builder)

Where to find it: Panel → Bot & content → Discord / commands

Build your own slash commands without code. A command can reply with text or an embed, have an input field, work only for a certain group, and give, remove or toggle a role for whoever uses it. After saving it appears in Discord within about a minute.

Steps

  1. Under Build a command, fill in the Command name (without /) and a Short description.
  2. Optionally pick an Argument: Text (available as {arg}) or User (available as {target}).
  3. Pick the Response type (Text or Embed) and write the Response. With Embed you can also fill in a title, color, image and thumbnail. Variables: {user}, {user.mention}, {server}, {membercount}, {channel}, {arg} and {target}. The panel lists {ledenaantal} and {kanaal}; both spellings work.
  4. Under Who can use it choose Everyone, Admins only or Only a role, optionally turn on Only visible to you, and optionally choose an Extra action: give/remove a role (Add role, Remove role or Toggle role).
  5. Click Save. Edit a command with the pencil under My commands, delete it with the bin button.
Note
  • At most 25 custom commands per server. The name cannot be a command SlakBot already has.
  • Admins only means: members with Manage Server. Everyone still sees the command in Discord's list; whoever isn't allowed gets a message saying so.
  • The role action applies to whoever uses the command, not to a chosen user. For this the bot needs Manage Roles and the role must be below SlakBot's role. A command for Everyone may not hand out a role with admin or moderation permissions.
  • In Discord the input field is called tekst or gebruiker (Dutch for text and user), also for English-speaking members.
  • If the panel says Discord hasn't picked up the command yet, wait 10 minutes and click Save one more time.

Commands

/<your command name> Does what you built in the panel. If the command has an argument, the member fills in the field tekst (text) or gebruiker (user).

Keyword replies

Where to find it: Panel → Bot & content → Keyword replies

Not a command: the bot replies by itself when someone types a certain word or phrase in Discord. Handy for questions that keep coming back, such as when you stream. It works in every channel where the bot can read and send messages, also for messages from moderators.

Steps

  1. Under Add keyword, fill in the Keyword or phrase.
  2. Pick the Match method: Contains (appears anywhere in the message), Whole word (as a separate word) or Exact (the whole message is exactly this).
  3. Set the Cooldown (seconds, 0 = always): the minimum time between two replies to the same keyword (max 3600).
  4. Write the Bot's reply and click Add.
  5. Remove a keyword with the bin button under Keywords.
Note
  • Keyword replies never ping: @everyone, @here and roles appear as plain text in the reply.
  • At most 50 keywords per server. The bot gives one reply per message; Exact wins over Whole word, and Whole word wins over Contains.
  • Capitals don't matter. If you add the same keyword with the same match method again, you replace the old reply.
  • Be careful with Contains on short words: ip is also inside tip. Use Whole word instead.

Counter channels

Where to find it: Panel → Bot & content → Counter channels (or /statschannel in Discord)

A counter is a locked voice channel whose name updates itself, for example Members: 1,234 or your stream's live status. You choose from server counters (such as members, online, bots, channels, roles, boosts and emojis), goals, socials (Twitch subs and YouTube subscribers) and counters only SlakBot has (such as linked viewers, coins in circulation, watch hours, counting record and live status).

Steps

  1. Under New counter, pick a Type.
  2. Optionally fill in a Custom name (optional) containing {count}, for example Members: {count}. On a goal counter you can also use {goal} and {percent} and fill in a Goal.
  3. Click Preview to see what the name will look like.
  4. Click Create counter. The bot creates the channel itself in a category with stats in its name, or creates a Server Stats category. If you want the counters at the top, drag that category up yourself.
  5. Under Active counters you can pause, resume or delete a counter; deleting also removes the channel.
Note
  • The bot needs Manage Channels. If a counter says can't rename the channel, give SlakBot Manage Channels on that channel.
  • Discord allows 2 name changes per 10 minutes per channel, so most counters update roughly every 5 to 10 minutes. Twitch subs update at most every 15 minutes, YouTube subscribers at most once an hour. The live status usually switches within a few minutes after you go live or stop.
  • At most 8 counters per server.
  • Twitch subs and the sub goal only work once you have connected your Twitch account on the Twitch Sub Roles page; YouTube counters once your channel is set on the YouTube page; the live status once your Twitch channel is set on the Twitch live alert page. Watch hours come from the Twitch Chat-bot: if it isn't in your stream chat, that counter stays at 0.
  • If the bot can't fetch a number for a while, the name stays at its last value and it retries every 5 minutes.

Commands

/statschannel create Creates a counter. For type choose Members, Online, Bots, Channels, Roles or Boosts. By default only for members with Manage Channels.
/statschannel remove Deletes the oldest counter of the chosen type, together with its channel.
/statschannel list Shows all counters on this server.

Game Server

Where to find it: Panel → Bot & content → Game Server

Link your game server to Discord. The bot keeps one status message in a channel (online or offline, players, map and ping) and updates it every 3 minutes. Optionally it pings a role when the server goes down, logs who joins and leaves, and lets you send commands to the server from Discord through RCON.

Steps

  1. Pick the Server type and fill in Server IP (without port) and Port (Minecraft Java: 25565).
  2. Pick a Status channel and click Save.
  3. Click Test server. You see what the bot sees of your server, or why it doesn't work.
  4. Optionally under Alerts: pick an Alert role (pinged when the server goes offline) and a Player log channel (joins and leaves). Click Save.
  5. Optionally under RCON (optional): turn on RCON on your game server itself and enter the same RCON port and RCON password here, plus an RCON channel where /rcon works. Click Save.
Note
  • Off by default: as long as no Server type is chosen, the bot does nothing. Enter the public address your players use; the bot cannot reach localhost or private addresses (such as 192.168.x).
  • Works with Minecraft (Java), Rust and CS:GO / CS2. Minecraft Bedrock and FiveM are in the list, but the bot currently can't fetch a status for them; Test server shows this too.
  • Give the bot Send Messages, Embed Links and Read Message History in the status channel. Without the last one it can't find its own status message again and keeps posting a new one.
  • The message that the server went offline or is back online only comes if you picked an Alert role; it appears in the Player log channel, or otherwise in the status channel. If the role can't be mentioned by everyone, the bot needs Mention @everyone, @here, and All Roles to ping it.
  • The bot only sees the player names your server passes on; with Minecraft that is sometimes only part of the players.
  • /rcon, /whitelist, /say, /gkick and /gban are for administrators only by default. The RCON password is stored encrypted.

Commands

/serverstatus Shows the current status of the game server. For everyone.
/players Shows who is playing on the server right now. For everyone.
/serverip Shows the address players connect with. For everyone.
/rcon command Sends a command to the server through RCON and shows the reply. Only in the RCON channel if you picked one.
/whitelist add player · /whitelist remove player · /whitelist list Adds a player to the whitelist, removes them, or shows the list, through RCON. Meant for Minecraft.
/gkick player reason · /gban player reason Kicks or bans a player on the game server, through RCON. The reason is optional.
/say message Posts a message in the game server's chat (not in Discord), through RCON.

Import levels

Where to find it: Panel → Bot & content → Import levels

Coming from another level bot? Take over your members' levels in one go. You can do this straight from MEE6, or with an export file: a Lurkr export, a JSON file in MEE6's format or a .csv with userId, level and xp. That way level 42 stays level 42.

Steps

  1. Choose From MEE6 or Upload file.
  2. For MEE6: fill in the MEE6 server ID (this server's ID is already filled in) and set that server's leaderboard to public in MEE6. For a file: choose the Export file.
  3. Leave Conversion on Keep level (recommended). Take raw XP often gives different levels, because every bot calculates differently.
  4. Click Dry run: you see how many members will be imported and how many are skipped, without anything changing.
  5. Click Start import and confirm. A bar shows the progress.
Note
  • Only members who are in your server right now get their level.
  • An import overwrites those members' XP and levels; running it again does not add up.
  • Start import only becomes available once the dry run has found members. One import runs per server at a time.
  • Leveling is off by default. If you want members to keep earning XP afterwards, turn on Leveling enabled on the Leveling page (Community & members group).

Tickets

Where to find it: Panel → Bot & content → Tickets

A ticket system for questions and reports. A member clicks the Open Ticket button and gets their own private channel that only they, members with the Moderator role and administrators can see. Your team can claim and close the ticket; on closing, the bot saves the conversation so you can read it back in the panel.

Steps

  1. On the Moderation page, set a Moderator role: that role sees the ticket channels and may claim and close tickets.
  2. Under Ticket Configuration, pick a Ticket Category for the ticket channels.
  3. Under Transcripts (chat log on close), choose whether the conversation goes to a staff channel (Send transcript to log channel and Transcript log channel) and whether the member gets a copy (DM transcript to user). Click Save: this button also saves the Ticket Category.
  4. Under Place the ticket button in a channel, pick a channel and click Place ticket button. Without this button nobody can open a ticket.
  5. Inside the ticket your team uses the Claim and Close ticket buttons. In the panel the tickets are listed under Open Tickets, with Close for open tickets and View transcript for closed ones.
Note
  • The bot needs Manage Channels: it creates the ticket channels and deletes them on closing. If you set a Moderator role, the bot itself also needs Manage Messages, because that role gets this permission inside the ticket.
  • Each member can have one open ticket at a time. The member or someone from the team (the Moderator role, or members with Manage Messages or Manage Server) can close it; the channel is then deleted within a few seconds.
  • The conversation is always saved so you can read it back in the panel; the panel shows the 50 newest tickets. Send transcript to log channel is off by default, DM transcript to user is on by default (only works if the member allows DMs from the server).
  • Placing the button again adds a second button; the old message stays. A custom title and text above the button is only possible with /ticket-setup.

Commands

/ticket-setup Places the ticket button in the channel you type in, optionally with your own title and description. By default only for members with Manage Server.
/ticket-claim Claims the ticket you type it in. By default only for members with Manage Messages.
/ticket-close Closes the ticket you type it in. Allowed for the opener or someone from the team.
/ticket-closeall Closes all open tickets at once and deletes the channels. By default only for members with Manage Server.