menu

blargbot is equipped with a number of miscellaneous commands. By default, blargbot responds to b!, blargbot, and mentions. You can add your own custom prefixes with the setprefix command.

Some commands have permission requirements. In order to satisfy them, you need to have a role with the name detailed in the Permissions section.

Usage legend:

<> - denotes a required parameter

[] - denotes an optional parameter

Some commands are able to take flag parameters. All flags are divided into flag codes (prefixed by -) and words (prefixed by --). You can provide them in any order, but they should all be specified at the end of a command.

For example, if a command takes a user input, you'd be able to use -u or --user.

b!command --user @user#1234
b!command -u @user#1234

You can also chain flag codes together. For example, -flag test would activate flags f, l, a, and give the content 'test' to g.

General Commands

brainfuck

Usage:

brainfuck <code>

Role Needed: None

Executes brainfuck code.

Flags:

  • -p/--pointers - Shows a list of pointers after the execution.
define

Usage:

define <word>

Role Needed: None

Gets the definition for the specified word. The word must be in english.

dmerrors

Usage:

dmerrors

Role Needed: None

Toggles whether to DM you errors.

econ

Usage:

econ <from> <to> <amount>

Role Needed: None

Converts currency using recent rates. Example:

User> blargbot econ USD CAD 1
blargbot> @User, 1.0 USD is equivalent to X.X CAD

Currency codes are not case sensitive.

emoji

Usage:

emoji <emoji> [size]

Role Needed: None

Gives you a large version of an emoji. If size is specified, makes the image that size.

Flags:

  • -s/--svg - Get the emote as an svg instead of a png.
emojify

Usage:

emojify <text>

Role Needed: None

Gets emojis based on input.

feedback

Usage:

feedback <feedback>

Role Needed: None

This command has three different functions for varying purposes. Please do not abuse it.

  • feedback - give me feedback about the bot
  • suggest - tell me something you want added or changed
  • report - let me know about a bug you found

Thank you for your support. It means a lot to me!

getprefix

Usage:

getprefix

Role Needed: None

Returns the command prefix for the current guild.

help

Usage:

help [command]

Role Needed: None

Returns a list of commands and custom commands. If a command name is specified, it will return a description of that command instead.

info

Usage:

info

Role Needed: None

Gets information about the specified user.

insult

Usage:

insult [name]

Role Needed: None

Generates an insult, directed at whatever name is supplied. If a name isn't supplied, defaults to 'Your'

invite

Usage:

invite

Role Needed: None

Gives you the bot's invite information.

lines

Usage:

lines

Role Needed: None

Gets the number of lines the bot is made of.

mods

Usage:

mods [online | o | away | a | dnd | d | offline]

Role Needed: None

Gets a list of mods on the guild.

nato

Usage:

nato <text>

Role Needed: None

Translates the given text into the NATO phonetic alphabet.

ping

Usage:

ping

Role Needed: None

Pong!

Find the command latency.

poll

Usage:

poll <question> [flags]

Role Needed: None

Creates a poll for the given question and duration. If emojis are given, they will be used as options for the poll.

Flags:

  • -t/--time - How long before the poll expires, formatted as '1 day 2 hours 3 minutes and 4 seconds', '1d2h3m4s', or some other combination.
  • -e/--emojis - The emojis to apply to the poll.
  • -d/--description - The description of the poll.
  • -c/--colour - The colour of the poll (in HEX).
  • -a/--announce - If specified, it will make an announcement. Requires the proper permissions.
  • -s/--strict - If specified, only accept reactions that were in the initial list.
remind

Usage:

remind <text> -t <time>

Role Needed: None

Reminds you about something after a period of time in a DM.

Flags:

  • -t/--time - The time before the user is to be reminded, formatted as '1 day 2 hours 3 minutes and 4 seconds', '1d2h3m4s', or some other combination.
  • -c/--channel - If set, this will notify the user in current channel instead of in a DM.
roll

Usage:

roll [dice] [modifier]

Role Needed: None

Rolls dice and adds a modifier. You can specify the number of dice and how many sides they have with the notation XdY, where X is number of dice and Y is number of sides. If no dice are specified, it defaults to 1d20.

rr

Usage:

rr [bullets] [emote]

Role Needed: None

Plays russian roulette with a specified number of bullets. If emote is specified, uses that specific emote.

seen

Usage:

seen <user>

Role Needed: None

Tells you the last time I saw a user speak!

ship

Usage:

ship <user1> <user2>

Role Needed: None

Gives you the ship name for two users.

spell

Usage:

spell [name]

Role Needed: None

Gives you a description for a D&D 5e spell.

stats

Usage:

stats [c]

Role Needed: None

Gives you information about the bot.

status

Usage:

status <code> [cat | dog]

Role Needed: None

Gets you an image of an HTTP status code.

syntax

Usage:

syntax [command name]

Role Needed: None

Gives you the 'syntax' for a command 😉

tag

Usage:

tag [<name> | create | rename | edit | delete | raw | author | search | list | help]

Role Needed: None

Tags are like public custom commands. You can create them on one guild, and use them on another. Anyone is capable of making tags. Tags use a tagging system, so they can can range from simple to complex. See the tag page for more details.

tag <name>

Executes a tag with the given name.

tag create <name> <content>

Creates a tag with the given name and content. The name must be unique.

tag edit <name> <content>

Edits an existing tag. You must own it to edit it!

tag set <name> <content>

Provides the functionality of create and edit in a single command.

tag delete <name>

Deletes the specified tag. You must own it to delete it!

tag rename <name> <new name>

Renames an existing tag to something else. You must own it to rename it!

tag raw <name>

Displays the raw code of a given tag.

tag info <name>

Displays information about a given tag.

tag top

Displays information about the top 5 tags.

tag author <name>

Tells you who made the specified tag

tag search <name>

Searches for tags with given name

tag list

Lists all tags

help tag

Gets basic help tag.

time

Usage:

time <timezone> [ <timezone2> <time> ]

Role Needed: None

Tells you the current time in the specified timezone. If timezone2 and time are specified, converts the time from timezone to timezone2. Time must be formatted as hh:mm[AM/PM], and timezones must use these timezone codes.

timer

Usage:

timer <time>

Role Needed: None

Sets a timer for the provided amount of time, formatted as '1 day 2 hours 3 minutes and 4 seconds', '1d2h3m4s', or some other combination.

todo

Usage:

todo [remove <item id> | add <item>]

Role Needed: None

Access your todo list.

To add items, do todo add <item>.

To remove items, do todo remove <item id>, where item id is the number shown when you do <todo> by itself.

tokenify

Usage:

tokenify <input>

Role Needed: None

Converts the given input into a token.

uptime

Usage:

uptime

Role Needed: None

Tells you how long the bot has been up for.

user

Usage:

user [id/name/mention]

Role Needed: None

Gets information about the specified user.

version

Usage:

version

Role Needed: None

Tells you what version the bot is currently running on.

voteban

Usage:

voteban [info <user> | <user> [reason]]

Role Needed: None

Sign a petition to ban somebody, or check the status of a petition.

warnings

Usage:

warnings [user]

Role Needed: None

Gets how many warnings you or a specified user has.

wordsearch

Usage:

wordsearch

Role Needed: None

Gives you the help menu for the wordsearch. This feature currently a WIP.

NSFW Commands

danbooru

Usage:

danbooru <tags...>

Role Needed: None

Displays three images obtained from danbooru.donmai.us using the provided tags. You can use up to 2 tags at a time. Results have the possibility of being NSFW. If the current channel is not designated as NSFW, a user needs to include the 'rating:safe' tag in order to use the command.

e621

Usage:

e621 <tags...>

Role Needed: None

Displays three images obtained from e621.net using the provided tags. You can use up to 6 tags at a time. Results have the possibility of being NSFW. If the current channel is not designated as NSFW, a user needs to include the 'rating:safe' tag in order to use the command.

rule34

Usage:

rule34 <tags...>

Role Needed: None

Displays three images obtained from rule34.xxx using the provided tags. The current channel needs to be marked as NSFW in order for the command to work.

Image Commands

art

Usage:

art [user]

Role Needed: None

Shows everyone a work of art.

Flags:

  • -I/--image - A custom image.
cah

Usage:

cah

Role Needed: None

Generates a random set of Cards Against Humanity cards.

caption

Usage:

caption [url] [flags]

Role Needed: None

Captions an image. If url isn't provided, you must give an attachment.

Flags:

  • -t/--top - The top caption.
  • -b/--bottom - The bottom caption.
  • -f/--font - The font to use (case insensitive). Use the command with the -l flag to view the available fonts. Defaults to impact.
  • -l/--list - Lists the available fonts.
cat

Usage:

cat <tags>

Role Needed: None

undefined
clint

Usage:

clint [user]

Role Needed: None

I don't even know, to be honest.

Flags:

  • -I/--image - A custom image.
free

Usage:

free <caption> [flags]

Role Needed: None

Tells everyone what you got for free.

Flags:

  • -b/--bottom - The bottom caption.
pixelate

Usage:

pixelate [url] [flags]

Role Needed: None

Captions an image. If url isn't provided, you must give an attachment.

Flags:

  • -u/--user - A user avatar instead of a url
  • -s/--scale - The amount to pixelate by (defaults to 64)
retarded

Usage:

retarded <text> [flags]

Role Needed: None

Tells everyone who is retarded

Flags:

  • -u/--user - The person who is retarded.
  • -I/--image - A custom image.
shit

Usage:

shit <text> [flags]

Role Needed: None

Tells everyone what's shit. Use -p as the first argument to specify the text as plural.

Flags:

  • -p/--plural - Whether or not the text is plural (use ARE instead of IS).
thesearch

Usage:

thesearch [text]

Role Needed: None

Tells everyone about the progress of the search for intelligent life.

triggered

Usage:

triggered [user]

Role Needed: None

Shows everyone how triggered you are.

Flags:

  • -i/--invert - Inverts the image.
  • -h/--horizontal - Flips the image horizontally.
  • -v/--vertical - Flips the image vertically.
  • -s/--sepia - Applies a sepia filter.
  • -b/--blur - Applies a blur.
  • -g/--greyscale - Makes the image greyscale
  • -I/--image - A custom image.
xkcd

Usage:

xkcd [number]

Role Needed: None

Gives you an xkcd comic. If a number isn't specified, it gives you a random one.

Admin Commands

announce

Usage:

announce <<text> | -reset>

Role Needed: Admin

Makes an annoucement to a configured role, or resets the announcement configuration.

ban

Usage:

ban <user> [days] [-t <time>]

Role Needed: Admin

Bans a user, where days is the number of days to delete messages for. Defaults to 1.

If mod-logging is enabled, the ban will be logged.

Flags:

  • -r/--reason - The reason for the ban.
  • -t/--time - If provided, the user will be unbanned after the period of time. (softban)
blacklist

Usage:

blacklist [channel]

Role Needed: Admin

Blacklists the current channel. The bot will not respond until you do the command again.

ccommand

Usage:

ccommand <command name> <command content>

Role Needed: Admin

Creates a custom command using the BBTag language. Once created, whenever you say the command name, blargbot will respond with the command content. For example:

User> blargbot ccommand create test Hello, {username}. This is a test command.
blargbot> Created command test
User> blargbot test
blargbot> Hello, User. This is a test command.

Custom commands take precedent over all other commands. As such, you can use it to overwrite commands, or disable them entirely. If the command content is "null" (without the quotations), blargbot will have no output whatsoever, allowing you to disable any built-in command you wish. You cannot overwrite the 'ccommand' command. For more in-depth command customization, see the commandperm command.

Commands:

cc create <name> <content>

Creates a ccommand with the given name and content. The name must be unique.

cc edit <name> <content>

Edits an existing ccommand.

cc set <name> <content>

Provides the functionality of create and edit in a single command.

cc delete <name>

Deletes the specified ccommand.

cc rename <name> <new name>

Renames an existing ccommand to something else.

cc raw <name>

Displays the raw code of a given ccommand.

cc setrole <name> <role names...>

sets the roles required to execute the ccommand

cc help

Gets basic ccommand help.

cc sethelp <name> [help text]

sets the help message for the given ccommand

censor

Usage:

censor help

Role Needed: Admin

Creates message censorships. Subcommands:

  • ADD [flags] - Adds a censor with for the provided text.
  • REMOVE - Brings up a menu to remove a censor
  • EXCEPTION [flags] - Adds or removes an exception.
  • RULE [flags] - Sets the censorship rules.
  • INFO - Displays information about censors.

Flags:

  • -R/--regex - Add: If specified, parse as regex rather than plaintext.
  • -w/--weight - Add: How many incidents the censor is worth.
  • -d/--deletemessage - Add/Rule: The BBTag-compatible message to send after a message is deleted. Adds override rules.
  • -k/--kickmessage - Add/Rule: The BBTag-compatible message to send after a user is kicked. Adds override rules.
  • -b/--banmessage - Add/Rule: The BBTag-compatible message to send after a user is banned. Adds override rules.
  • -u/--users - Exception: A list of users that are exempt from censorship.
  • -r/--roles - Exception: A list of roles that are exempt from censorship.
  • -c/--channels - Exception: A list of channels that are exempt from censorship.
changelog

Usage:

changelog

Role Needed: Admin

Sets the current channel as your guild's changelog channel. A message will be posted in this channel whenever there is an update. The bot requires the embed links permission for this.

editcommand

Usage:

editcommand < list 
    | setrole <commandname | "commandname,..."> [role name]... 
    | setperm <commandname | "commandname,..."> [perm number] 
    | toggle <commandname | "commandname,...">

Role Needed: Admin

Changes command-specific usage permissions.

argument description
list Shows a list of modified commands (role required/perms required)
setrole Sets the role(s) required in order to use the command(s)
setperm Sets the permissions required in order to bypass the role requirement (requires `permoverride` in the settings command to be enabled). This has to be a permission number, which can be calculated here
toggle Enables/disables the listed commands
farewell

Usage:

farewell [message]

Role Needed: Admin

Sets a farewell message for any user who leaves your guild. You can use the tagging system for more customization. For example:

User> blargbot farewell **{username}** has left. Bye!
blargbot> Greeting set. Simulation: **User has left. Bye!

Flags:

  • -c/--channel - The channel to put the farewell messages in.
greet

Usage:

greet [message]

Role Needed: Admin

Sets a greeting for any new user who joins your guild. You can use the tagging system for more customization. For example:

User> blargbot greet Welcome, **{username}**. Please read #rules.
blargbot> Greeting set. Simulation: Welcome, **User**. Please read #rules.

Flags:

  • -c/--channel - The channel to put the greeting in.
hackban

Usage:

hackban <user...> [days]

Role Needed: Admin

Bans a user who isn't currently on your guild, where user... is alist of user IDs or mentions (separated by spaces) and days is the number of days to delete messages for. Defaults to 1.

If mod-logging is enabled, the ban will be logged.

Flags:

  • -r/--reason - The reason for the ban.
kick

Usage:

kick <user> [flags]

Role Needed: Admin

Kicks a user from the guild.

If mod-logging is enabled, the kick will be logged.

Flags:

  • -r/--reason - The reason for the kick.
log

Usage:

log <list | enable <channel> <event name>... | disable <event name>...>

Role Needed: Admin

Toggles logging for the specified events. Available events are:

  • memberban - when a user gets banned
  • memberunban - when a user gets unbanned
  • memberjoin - when a user joins
  • memberleave - when a user leaves
  • messagedelete - when a message gets deleted
  • messageupdate - when a message gets updated
  • nameupdate - when a user changes their username
  • avatarupdate - when a user changes their avatar
  • nickupdate - when a user changes their nickname
  • all - enables all of the events
logs

Usage:

logs <number> [flags]

Role Needed: Admin

Creates a chatlog page for a specified channel, where `number` is the amount of lines to get. For more specific logs, you can specify flags.

For example, if you wanted to get 100 messages `stupid cat` deleted, you would do this:

logs 100 --type delete --user stupid cat

If you want to use multiple of the same type, separate parameters with commas or chain them together. For example:

logs 100 -CU -u stupid cat, dumb cat

Flags:

  • -t/--type - The type(s) of message. Value can be CREATE, UPDATE, and/or DELETE, separated by commas.
  • -c/--channel - The channel to retrieve logs from. Value can be a channel ID or a channel mention.
  • -u/--user - The user(s) to retrieve logs from. Value can be a username, nickname, mention, or ID. This uses the user lookup system.
  • -o/--order - The order of logs. Value can be DESC (get newest messages first) or ASC (get oldest messages first).
  • -C/--create - Get message creates.
  • -U/--update - Get message updates.
  • -D/--delete - Get message deletes.
  • -j/--json - Returns the logs in a json file rather than on a webpage.
modlog

Usage:

modlog [disable | clear [number to clear]]

Role Needed: Admin

Enables the modlog and sets it to the current channel. Doing modlog disable will disable it. Doing modlog clear [number] will clear the specified number of cases from the modlog. Leaving number blank will clear all cases. When an admin does a moderation command (ban, unban, mute, unmute, and kick), the incident will be logged. The admin will then be encouraged to do reason <case number> <reason> to specify why the action took place.

Bans and unbans are logged regardless of whether the ban or unban commands are used.

mute

Usage:

mute <user> [flags]

Role Needed: Admin

Gives the user a special muted role. On first run, this role will be created. The bot needs to be able to manage roles to create and assign the role, and manage channels to configure the role. You are able to manually configure the role without the bot, but the bot has to make it. Deleting the muted role causes it to be regenerated.

If the bot has permissions for it, this command will also voice-mute the user.

If mod-logging is enabled, the mute will be logged.

You can also specify a length of time the user should be muted for, using formats such as 1 hour 2 minutes or 1h2m

Flags:

  • -r/--reason - The reason for the mute.
  • -t/--time - The amount of time to mute for, formatted as '1 day 2 hours 3 minutes and 4 seconds', '1d2h3m4s', or some other combination.
nsfw

Usage:

nsfw

Role Needed: Admin

Designates the current channel as NSFW, allowing you to use NSFW commands.

pardon

Usage:

pardon <user> [flags]

Role Needed: Admin

Pardons a user.

If mod-logging is enabled, the pardon will be logged.

This will not unban users.

Flags:

  • -r/--reason - The reason for the pardon.
  • -c/--count - The number of warnings that will be removed.
purge

Usage:

purge

Role Needed: Admin

Deletes all the messages in the current channel made by the bot, within 100 messages.

reason

Usage:

reason <caseid | latest> <reason>

Role Needed: Admin

Sets the reason for an action on the modlog.

roleme

Usage:

roleme <list | add | remove>

Role Needed: Admin

undefined
setprefix

Usage:

setprefix [prefix]

Role Needed: Admin

Sets the custom command prefix for the guild. You can set it to anything. If no prefix is specified, disables the custom prefix.

settings

Usage:

settings [keys|help|set <key>]

Role Needed: Admin

Gets or sets the settings for the current guild. For key documentation, go here.

tidy

Usage:

tidy [amount] [flags]

Role Needed: Admin

Cleans a number of messages, defaulting to 100.

Flags:

  • -b/--bots - Remove messages from bots.
  • -i/--invites - Remove messages containing invites.
  • -l/--links - Remove messages containing links.
  • -e/--embeds - Remove messages containing embeds.
  • -a/--attachments - Remove messages containing attachments.
  • -u/--user - Removes messages from the users specified, separated by commas.
  • -q/--query - Removes messages that match the regex query. You can also use regex.
  • -I/--invert - Reverses the effects of all the flag filters.
unban

Usage:

unban <userid> [flags]

Role Needed: Admin

Unbans a user.

If mod-logging is enabled, the unban will be logged.

Flags:

  • -r/--reason - The reason for the unban.
unmute

Usage:

unmute <user> [flags]

Role Needed: Admin

Unmutes a user.

If mod-logging is enabled, the unmute will be logged.

Flags:

  • -r/--reason - The reason for the unmute.
warn

Usage:

warn <user> [flags]

Role Needed: Admin

Issues a warning.

If mod-logging is enabled, the warning will be logged.

If kickat and banat have been set using the settings command, the target could potentially get banned or kicked.

Flags:

  • -r/--reason - The reason for the warning.
  • -c/--count - The number of warnings that will be issued.