Try   HackMD

Discord Bot Commands

The following commands are available for interacting with the Discord bot in designated channels (queue channels or the chat channel). Commands are prefixed with ! and are case-insensitive. Some commands are restricted to specific users (e.g., staff or registered players), and certain commands are only available in the chat channel.

General Commands

Command Alias Description Usage Restrictions
!help - Displays a placeholder message about upcoming documentation. !help None
!register - Registers a new player with a name, MMR, and Dota ID. MMR must be between 0 and 9999. !register <name> <mmr> <dota_id>
Example: !register Uvs 3000 444510529
Cannot be used if already registered, name is taken, or Dota ID is in use.
!whois !wh, !who, !profile, !stats Displays information about a player (MMR, games played, roles, etc.). If no name is provided, shows the caller's info. !whois [name]
Example: !whois Uvs
Available in chat channel only.
!top - Shows the top players by score (default 10). !top [limit]
Example: !top 5
Available in chat channel only. Disabled in casual mode.
!bottom !bot Shows the bottom players by score (default 10). !bottom [limit]
Example: !bottom 5
Available in chat channel only. Disabled in casual mode.
!streak - Shows a player's current and longest win/loss streak. If no name is provided, shows the caller's streak. !streak [name]
Example: !streak Uvs
Available in chat channel only.
!recent - Shows a player's recent matches (default 5, max 9). If no name is provided, shows the caller's matches. !recent [name] [number]
Example: !recent Uvs 3
Available in chat channel only.

Queue Management Commands

Command Alias Description Usage Restrictions
!q+ !join Joins the queue in the current channel. !q+ Requires vouched player, sufficient MMR, and not in a full queue.
!q- !leave Leaves the queue in the current channel. !q- Cannot leave a full queue (10 players).
!q !list Shows details of all active queues. !q None
!add - Adds a player to the queue in the current channel. !add <name>
Example: !add Uvs
Staff-only. Player must not be in another queue.
!kick - Kicks a player from the queue in the current channel. !kick <name>
Example: !kick Uvs
Staff-only.
!votekick !vk Initiates a vote to kick a player from a full queue. Requires a set number of votes. !votekick <name>
Example: !votekick Uvs
Must be in a full queue with the target player. Available in chat channel.
!close - Closes a specified queue by ID. !close <queue_id>
Example: !close 454
Staff-only.

Player Management Commands

Command Alias Description Usage Restrictions
!vouch - Vouches a player, allowing them to queue. !vouch <name>
Example: !vouch Uvs
Staff-only.
!ban - Bans a player from playing. !ban <name>
Example: !ban Uvs
Staff-only. Available in chat channel.
!unban - Unbans a player. !unban <name>
Example: !unban Uvs
Staff-only. Available in chat channel.
!set-name !rename Changes a player's name using their Discord mention. !set-name <@mention> <new_name>
Example: !set-name @Uvs Napster
Staff-only. Available in chat channel.
!set-mmr !adjust Sets a player's MMR and logs the change. !set-mmr <name> <mmr>
Example: !set-mmr Uvs 6500
Staff-only. Available in chat channel.
!set-dota-id - Updates a player's Dota ID. !set-dota-id <name> <dota_id>
Example: !set-dota-id Uvs 111886427
Staff-only. Available in chat channel.
!role !roles Sets or displays a player's role preferences (1-5 for carry, mid, offlane, pos4, pos5). !role [role] [value] or !role <carry> <mid> <offlane> <pos4> <pos5>
Examples: !role mid 5, !role 1 4 2 5 3
Available in chat channel only.
!afk-ping !afkping Sets or displays the player's AFK ping preference for queue kicks. !afk-ping [on/off]
Example: !afk-ping on
Available in chat channel only.

Match Management Commands

Command Alias Description Usage Restrictions
!record-match - Records a match with 10 player mentions and a winner (radiant or dire). !record-match <winner> <@mention1> ... <@mention10>
Example: !record-match radiant @Uvs @Nappa ...
Staff-only. Available in chat channel.

Queue Channel Management Commands

Command Alias Description Usage Restrictions
!mmr - Sets the minimum MMR requirement for the queue channel. !mmr <mmr>
Example: !mmr 4000
Staff-only. Cannot be used if active queues exist in the channel.

Fun Responses

The bot responds to certain phrases in queue or chat channels (case-insensitive):

Phrase Response (Randomly Chosen)
stupid bot, bot is stupid Smarter than you. or You are stupid.
fu bot, fuck you bot, fuck u bot Bite my shiny metal ass! or Fuck you too.
Mentioning the bot (e.g., @Bot) Imagine thinking inhouse-bot and inhouse-ping are same thing :thinking: or Ping your mum.

Notes

  • Staff-Only Commands: Commands like !vouch, !add, !kick, !mmr, !ban, !unban, !set-name, !set-mmr, !set-dota-id, !record-match, and !close require the user to have bot_access permission in the database.
  • Chat Channel Restrictions: Commands such as !whois, !top, !bottom, !streak, !recent, !role, !afk-ping, !votekick, !ban, !unban, !set-name, !set-mmr, !set-dota-id, and !record-match are only available in the designated chat channel.
  • Free-for-All Commands: The !register and !help commands can be used by anyone, even unregistered players, provided they meet the criteria (e.g., unique name, valid MMR).
  • Queue Restrictions: Players must be vouched and meet MMR requirements to join a queue. They cannot join if already in a full queue (10 players) or leave a full queue without risking a dodge warning.
  • Reaction-Based Queue Joining: Players can join a queue by reacting with ✅ to the queue message in the queues channel. Removing the reaction leaves the queue, unless the queue is full.