Human Resources


A multiple purpose bot including revolutionary features such as 8ball

Human Resources Commands Prefix: !

Report Github Repository

Human Resources

General purpose Discord bot with a focus on administrative functionality written in C#. To get this bot working at it's best it's recommended to set it as guild administrator.

Please join the support server if you have any issues or questions:


To get the timeout functionality to work properly it's advisable to remove the ability for people with only the @everybody role to be unable to speak. The reason for this is that the timeout command removes any roles except the @everybody role.


This functionality is used to mark users that deserve to be punished somehow. Any marked users are unable to remove the mark from their name and, if the configuration is set properly, won't be able to use the bot.


If this functionality is enabled new members are greeted with a message and will have to wait for a specified amount of time before being upgraded to the config specific guild rank. It's recommended to make members with only the @everybody role unable to chat and join voice channels in order for this to work properly.

Markov chain

The markov chain functionality randomly outputs a message of a specific length whenever a non-command line is written in a channel. It uses filtered previously written messages in the channel where it triggers to generate the message. Source is by default set to 500 since messages can only be retrieved at a rate of 100/request and a request takes ~0.2 seconds.


The announcement feature is used to let other users know when a user has joined or left the server. To set this up simply run settings announcement channel !CHANNEL REFERENCE. These messages can be individually configured or disabled.

Default guild settings

  • Prefix - ! (mentioning the bot at the start of a message also works)
  • Mark - ⭐
  • Marklist - false
  • Welcome
    • Enabled - false
    • Time - 10
    • Rank - First
    • Message - Welcome! You'll gain full privileges soon.
  • Markov
    • Step - 1
    • Count - 20
    • Source - 500
    • Chance - 0
  • Announcement
    • Channel - null
    • userjoined
      • Message: :white_check_mark: {0} just joined the server, welcome!
      • State: true
    • userleft
      • Message: :negative_squared_cross_mark: {0} just left the server, good bye!
      • State: true


Settings - Get and set guild specific settings

  • help - Returns link to this Github repository
  • settings - Returns the bot settings for the guild
  • settings prefix !char - Set command prefix for the guild (admin)
  • settings mark !char - Set mark for the guild (admin)
  • settings marklist !bool - Set if marked members are also blacklisted (admin)
  • settings reset - Resets the prefix, mark and marklist settings to defaults (admin)

Welcome settings - Get and set guild settings related to the welcome functionality

  • settings welcome - Returns all the welcome settings for the guild
  • settings welcome enable !bool - Enable or disable guild welcome functionality (admin)
  • settings welcome time !ulong - Set the guild welcome time (admin)
  • settings welcome role !string/ulong - Set the first role of new users (admin)
  • settings welcome message !...string - Set the new guild welcome message (admin)
  • settings welcome reset - Reset guild welcome settings to default (admin)

Markov settings - Get and set guild settings related to the markov chain functionality

  • settings markov - Get markov settings
  • settings markov step !uint - Set markov step value (admin)
  • settings markov count !uint - Set markov word count (admin)
  • settings markov source !uint - Set markov source count (admin)
  • settings markov chance !uint - Set markov trigger chance (admin)
  • settings markov reset - Reset markov settings to default (admin)

Announcement settings - Set guild settings related to announcements

  • settings announcement - Get the current announcement settings of the guild (admin)
  • settings announcement channel !string/ulong - Set the given channel as the announcement channel (admin)
  • settings announcement enable !key !bool - Set the announement given by key to the set state (admin)
  • settings announcement message !key !...string - Set the announcement message of the given key (admin)

Administration - Standard administrative guild functions

  • kick !string/ulong ...string - Kicks user (kick)
  • ban !string/ulong ...string - Bans user (ban)
  • purge !uint - Remove specified amount of messages from channel (admin)
  • voice kick !string/ulong ...string - Voice kick user (kick)
  • voice mute !string/ulong ...string - Mute user (mute)
  • voice mute remove !string/ulong - Removes mute from user (mute)
  • voice deafen !string/ulong ...string - Deafen user (deafen)
  • voice deafen remove !string/ulong - Removes deafen from user (deafen)
  • blacklist !string/ulong ...string - Disable bot usage of user (admin)
  • blacklist remove !string/ulong - Removes user from blacklist (admin)
  • timeout !string/ulong uint=10, ...string - Set user on timeout, set time to 0 for random 10-5000 (admin)
  • timeout remove !string/ulong - Removes user from timeout (admin)
  • timeout setup - Sets up the @everyone role for timeout usage (admin)
  • mark !string/ulong ...string - Set guild mark on user (admin)
  • mark remove !string/ulong - Remove guild mark from user (admin)

Twitter - Various Twitter related functions

  • twitter search !string/ulong bool=false - Returns information on Twitter user, set bool to true for verbose
  • twitter follow !ulong/string !ulong/string - Follow a specified twitter user and output their tweets in the given channel (admin)
  • twitter follow remove !ulong/string !ulong/string - Unfollow a specified twitter user in a given channel (admin)
  • twitter follow list - Get complete follow list of guild (admin)


  • spongebob !...string - Spongebobbify text input
  • 8ball !...string - Ask a question, get an answer

React - Make the bot react to certain phrases

  • react ulong - Get all or specific reactions (admin)
  • react add !ulong !rgx !...phrase - Add a new reaction (admin)
  • react remove !ulong - Remove bot guild reaction (admin)
  • react modify add !ulong !...phrase - Append phrase to existing reaction (admin)
  • react modify remove !ulong !uint - Removes phrase at index from reaction (admin)
  • react modify phrase !ulong !uint !...phrase - Modify phrase at index from reaction (admin)
  • react modify regex !ulong - Modify regex (admin)
  • react modify enable !ulong !bool - Enable or disable specific reaction (admin)



  • ! - Required
  • ... - Can contain spaces
  • (ABC) - Requires permission ABC
  • ABC=X - Parameter ABC has default value X
  • command name - Bold letters signify alias of command, spaces are included so the example alias is "cd n"

Data types

  • char - Single character
  • bool - Boolean expression (true/false)
  • uint - Number between 0 and 4294967295
  • ulong - Number between 0 and 18446744073709551615
  • string - String of characters
  • rgx - Regular expression