Skip to content
Ondřej Hošek edited this page Nov 24, 2019 · 55 revisions

List of available modules and their commands

This text assumes that the command prefix character is !. This can be changed in the configuration file.

Allograph

The Allograph module has no commands per se. Just write something that it detects and it may respond.

AlsoKnownAs

Channel and private message commands

  • !aka NICK: List previous nicknames connecting from the IP address of this nickname.

BanKit

Channel commands

  • !timedban NICKNAME DURATION: Immediately bans NICKNAME from the channel, then removes the ban once DURATION elapses.
    • If NICKNAME is the nickname of a user in the channel, bans the mask NICKNAME!*@* and also kicks the user from the channel.
    • NICKNAME may also be a full NICK!USER@HOST mask. In this case, only the timed ban is performed; offending users must be kicked manually.
    • DURATION is a duration string of the format 28d23h59m59s. Components may be omitted (e.g. 1h30m) and the largest component in a duration string may overflow its unit (e.g. 48h30m), but the other components may not (i.e. 1d26h is invalid).
    • Aliases for !timedban are !tb, !timeban and !tkb. They take the same arguments

Belch

Channel commands

  • !belch: The bot responds with * BotNick belches loudly.
  • !skittles MESSAGE: The bot responds with MESSAGE painted in the colors of the rainbow.
  • !tel NUMBER: Expands a US-style telephone number with letters to its fully numeric equivalent.

Calc

Channel command

  • !calc EXPRESSION: Calculates the result of EXPRESSION and writes it to the channel.
  • !calcwhere: Illustrates the part of the last expression whose calculation failed.

Counters

Channel commands

  • The plugin configuration defines custom counter commands which can be used by any user to count specific messages.
    • !COUNTER: Count the last message in the current channel toward the chosen COUNTER.
    • !COUNTER FRAGMENT: Count the last message in the current channel which contained FRAGMENT toward the chosen COUNTER.
  • !counted COUNTER: Shows the last message counted against COUNTER in the current channel.
  • !counterstats COUNTER: Displays statistics about COUNTER.
  • !uncount COUNTER: Channel operator-only command. Expunges the last message counted against COUNTER in the current channel from the record.
  • !regexcount COUNTER NICKNAME REGEX: Count the last message in the current channel spoken by the user with NICKNAME and matching the regular expression REGEX toward the chosen COUNTER. This allows more precise matching than !COUNTER.

DatabaseNickMappingPlugin

Channel commands

  • !pseudoregister NICK: Registers NICK with the system (as a base nick) without linking another nick to it.
  • !pseudounregister NICK: Unregisters NICK from the system, taking all the linked nicks with it. NICK must be a base nick.
  • !linknicks NICK NEWALIAS: Registers NEWALIAS to be an alias for NICK. The following may happen:
    • NICK is a base or linked nick and NEWALIAS has not been found in the database. NEWALIAS is linked to the same base nick as NICK.
    • NICK has not been found in the database and NEWALIAS is a base or linked nick. NICK is linked to the same base nick as NEWALIAS. ("exchanged arguments" mode)
    • NICK is either a base or a linked nick, and NEWALIAS is either a base or a linked nick. An error is output.
    • Neither NICK nor NEWALIAS are found in the database. NICK is registered as a base nick and NEWALIAS is linked to it.
  • !unlinknick NICK: Unlinks NICK from its base nick.
  • !basenick NICK: Outputs the base nick for NICK.

Demoderation

Channel commands

  • Most channel commands are set up by channel operators. When used, they temporarily kickban the user who had last posted a detected message.
  • !dmabuse [-b|--ban-time TIME] [-c|--cooldown-time TIME] NICK COMMANDNAME: Channel operator-only command. When the user with nickname NICK abuses COMMANDNAME, this command reverts the temporary ban on the original target, temporarily bans NICK instead, and places NICK on cooldown from using COMMANDNAME again.
    • -b or --ban-time specifies the time span for which NICK is banned from the channel. The syntax is the same as for !timedban; the value 0 can be specified to not ban NICK.
    • -c or --cooldown-time specifies the time span for which NICK is banned from using the function. The syntax is the same as for !timedban; the value 0 can be specified to not place the user on a cooldown.
  • !dmnew COMMANDNAME REGEX: Channel operator-only command. Defines a new command with the name COMMANDNAME (specified without the prefix!) to temporarily kickban the user who last posted a message matching REGEX. Commands are defined per channel.
  • !dmdel COMMANDNAME: Channel operator-only command. Deletes the previously defined command COMMANDNAME in the current channel.
  • !dmrestore COMMANDNAME: Channel operator-only command. Restores the previously deleted command COMMANDNAME in the current channel.
  • !dmimmunity NICKNAME CHANNEL: Channel operator-only command. Makes the user with NICKNAME immune to demoderation in CHANNEL. Using GLOBAL as CHANNEL makes the user immune in all channels.
  • !dmdelimmunity NICKNAME CHANNEL: Channel operator-only command. Removes the immunity to demoderation of the user with NICKNAME in CHANNEL. Using GLOBAL as CHANNEL removes a global immunity entry.
  • !dmpermaban NICKNAME CHANNEL: Channel operator-only command. Bans the user with NICKNAME from using the demoderation function in CHANNEL. Using GLOBAL as CHANNEL bans the user in all channels.
  • !dmunpermaban NICKNAME CHANNEL: Channel operator-only command. Lifts the permanent demoderation function ban on the user with NICKNAME in CHANNEL. Using GLOBAL as CHANNEL removes a global permaban.

Dice

Channel commands

  • !roll DICE: Rolls a set of dice. Dice are specified by an optional number of dice, the letter d, a required number of sides, and an optional value to add or subtract. Multiple dice sets can be delimited with a space or comma. Examples:
    • !roll d6: Rolls a six-sided die.
    • !roll 1d6: Also rolls a six-sided die.
    • !roll 5d6: Rolls five six-sided dice.
    • !roll 10d6 d10: Rolls ten six-sided dice and a ten-sided die.
    • !roll 10d6, d10: Also rolls ten six-sided dice and a ten-sided die.
    • !roll d10+42: Rolls a ten-sided die and adds 42 to the result. (The resulting value is at least 43 and at most 52.)
    • !roll d10-5: Rolls a ten-sided die and subtracts 5 from the result. (The resulting value is at least −4 and at most 5.)
  • !yn QUESTION: Answers a yes/no question.
  • !decide OPTION or OPTION [or OPTION...]: Chooses one of a few options. On rueckgr.at, options are delimited using slashes, semicolons, xor, oder, or, or commas, in descending priority (first one to be found wins).
  • !shuffle OPTION, OPTION[, OPTION...]: Shuffles a list of options. The separators are the same as for !decide.

GroupPressure

The GroupPressure module has no commands per se. Posting the same message multiple times makes the bot post it as well.

IKnewThat

This module is useful for those situations where you wish to be deliberately obtuse for the sake of comedy without tainting your status as a knowledgeable person. Prove that you actually knew the correct answer beforehand by having the bot vouch for you, recalling previously stored information and including a timestamp.

Channel commands

  • !iknewthat KEYWORD: Recalls a morsel of knowledge previously stored via PM using the !iknowthat command.

Private message commands

  • !iknowthat KEYWORD KNOWLEDGE...: Stores a morsel of knowledge under the given keyword, for later recall by !iknewthat.

LinkInfo

Channel commands

  • !link URL: Shows information about the given URL.
  • !lastlink: Shows information about the last URL that was posted.
  • !ll: Alias for !lastlink.

LinkInfoOptIn

Channel commands

All commands of LinkInfo, plus:

  • !autolinkinfo: Opts in to being shown information about all posted URLs automatically via private NOTICE.
  • !noautolinkinfo: Opts out of automatic link info again.

Messenger

Channel commands

  • !msg [-x|--exact-nickname] USER MESSAGE or !msg [-x|--exact-nickname] USER: MESSAGE: Send MESSAGE to USER. It will be delivered the next time they write something.
    • -x or --exact-nickname ensures that the message is delivered to the user with the exact given nickname, ignoring linked nicknames and user accounts.
  • !smsg [-x|--exact-nickname] USER MESSAGE or !smsg [-x|--exact-nickname] USER: MESSAGE: Send MESSAGE to USER like with !msg, but don't answer with a confirmation if it has been sent successfully. (The s is for silent.)
  • !delivermsg NUMBER: If more than a specific amount of messages would be delivered at once, the user is only informed about them and can have them delivered at their leisure using this command. The number is the maximum number of messages to deliver at once.
  • !replaymsg NUMBER: Re-delivers the most recent messages. The number is the maximum number of messages to replay.
  • !ignoremsg USER: Places a user on your ignore list. They then cannot send messages to you.
  • !unignoremsg USER: Removes a user from your ignore list.
  • !msggone MSGS HOURSh: Opt out of receiving messages for the next HOURS hours, and re-queue MSGS messages for delivery to you. Note that you must write an h after the number of hours.
  • !msgback: Receive messages again, and deliver any outstanding ones.

Any command containing msg can also be written with mail (!mail, !smail, !delivermail, !replaymail, !ignoremail, !unignoremail, !mailgone, !mailback). The syntax of its arguments remains unchanged.

If allowed by the bot's operator, multiple recipient usernames may be specified for one message (separated by semicolons).

Private message commands

  • !pm [-x|--exact-nickname] USER MESSAGE or !pm [-x|--exact-nickname] USER: MESSAGE Send MESSAGE privately to USER. It will be delivered the next time they write something in a channel in which the bot is present.

!pmail and !pmsg are aliases for !pm. If allowed by the bot's operator, multiple recipient usernames may be specified for one private message (separated by semicolons).

NewYear

The NewYear module has no commands; it wishes people a happy New Year (more or less).

Quotes

Channel and private message commands

  • !quote [--any|--bad] [-r]: Displays a random quote.
    • The option --any chooses from all quotes, including downvoted ones.
    • The option --bad chooses only from downvoted quotes.
    • The option -r displays your rating of that quote next to the vote count.
  • !quote [--any|--bad] [-r] FRAGMENT: Displays a random quote that contains the given text fragment.
  • !quoteuser [--any|--bad] [-r] USER: Displays a random quote added or said by that user.
  • !nextquote [--any|--bad] [-r]: Shows the next quote in a shuffled list of all quotes such that a quote is only displayed again when all the others have been displayed previously.
  • !upquote or !uq: Adds a +1 vote from you to the most recently added or displayed quote.
  • !downquote or !dq: Adds a -1 vote from you to the most recently added or displayed quote.

Multiple uses of !upquote and !downquote replace your most recent vote on that quote. When a quote's vote count drops below a specific threshold, the quote is not displayed anymore (unless the --any option variant is used); using the --bad option displays only such quotes.

Channel commands

  • !addquote QUOTE: Adds the given quote to the quote database.
  • !remember USER FRAGMENT: Adds a message posted recently by a specific user and containing a specific text fragment to the quote database.

Rejoin

The bot may also join a channel it has been invited to (using IRC's INVITE) command, if the bot operator has activated this functionality.

Private message commands

  • !invite CHANNEL: Invites the bot to join the given channel, if the bot operator has activated this functionality.

Sed

Channel commands

  • s/REGEX/REPLACEMENT/FLAGS: Outputs the last line matching REGEX with the text matching REGEX replaced with REPLACEMENT. The flags are optional (the terminating separator is not).
    • The separator must be one of !"#$%&'*+,-./:;=?^_`|~. If it should appear within REGEX or REPLACEMENT, it can be escaped using the backslash \\.
    • REGEX is constructed according to the .NET regular expression language.
    • REPLACEMENT is taken verbatim except for sed-style numeric references to capture groups (e.g. \2). Backslashes may be doubled for escaping purposes.
    • FLAGS is a combination of the following:
      • i: Matches case-insensitively.
      • g: Replaces all occurrences in the string, not only the first.
      • x: Whitespace in REGEX is ignored.
      • n: Only explicitly named groups are considered capture groups.
      • a number: Instead of the first occurrence, the nth (zero-based) occurrence in the string is replaced, where n is the supplied number.
      • Combining g and the number is interpreted according to GNU sed rules: replace the nth (zero-based) occurrence and all following it.
  • tr/FROM/TO/: Transposes the characters such that each character in FROM is replaced by the corresponding character in TO. Both FROM and TO support ranges which can be specified using a hyphen.
    • To transpose a hyphen itself, specify it as the first character, last character, a character immediately following a range, or escape it using a backslash.

Smileys

Channel commands

  • !smileys: Sends you a list of all the available smileys via private message.

Note: IRC itself does not support smileys; the list must be held in tandem with the canonical smiley list in the web client (or whichever client the majority of users uses).

Sockpuppet

All functionality in this module is only available to specific users due to its limitless potential for abuse.

Private message commands

  • !reload: Reloads the configuration of all plugins that support configuration reloading.
  • !sockpuppet RAWMESSAGE: The bot sends the given raw IRC message to the server.

TextCommands

Note: This list is not exhaustive.

Channel and private message commands

  • !eek: Gives a short history of why the :eek2: smiley is named :eek2: when there is no :eek: smiley. (This is a frequently asked question.)
  • !help: Posts a link to this page.
  • !prost: Gives you a brief toast.
    • !prost NICKNAME: Gives a brief toast to the specified user.
    • !prost -r or !prost --random: Gives a brief toast to a random user in the channel; recently active users are more likely to be picked.
    • !prost -R or !prost --really-random: Gives a brief toast to a random user in the channel; all users are equally likely to be picked.

Thanks

Channel commands

  • !thank USER: Thanks a user.
  • !thank --force USER: Thanks a user even if they are not logged in via NickServ.
    • !thx USER and !thanks USER are aliases for !thank USER. They also support the --force option.
  • !thanked USER: Shows how often a user has been thanked and which users have been most grateful to them.
  • !grateful USER: Shows how often a user has thanked others and which users they have thanked most often.
  • !topthanked: Lists the users who have received the most thanks.
  • !topgrateful: Lists the users who have given the most thanks.

Time

Channel commands

  • !time [LOCATION]: Displays the current time at the given location or, if none is specified, the default location.
    • !ltime [LOCATION]: Same as !time, but hides the name of the actual location.
  • !interval [--days] [--utc] DATE|TIME|DATETIME: Displays the interval between the current date/time and the specified timestamp.
    • With --days, no attempt is made to calculate the difference in months and years; instead, the total number of days is output.
    • With --utc, the specified timestamp is assumed to be in UTC.
    • If a date with no year is specified, the current year is assumed. If this date has already passed, the next year is assumed instead.
      • If the date is not valid next year (e.g. 29th of February), up to eight years in the future are tested and the first future year where the date is valid again is assumed.
    • If no date is specified, today is assumed. If the time today has already passed, tomorrow is assumed instead.

Trivia

Channel commands

  • !starttrivia: Starts a trivia game.
  • !stoptrivia: Stops a running trivia game.
  • !question: Redisplays the current question.

UnoBot

Channel commands

  • ?join: Makes the bot join an Uno game using !botjoin. (Also makes other bots join.)
  • ?join NICKNAME: Makes only the bot with the given nickname join an Uno game using !botjoin.
  • ?leave: Makes the bot leave an Uno game using !leave. (Also makes other bots leave.)
  • ?leave NICKNAME: Makes only the bot with the given nickname leave an Uno game using !leave.
  • ??color COLOR: The bot will prioritize switching to the given color if it means preventing someone else from taking the victory.

Weather

Channel commands

  • !weather [LOCATION]: Displays the current weather and a forecast for the given location or, if none is specified, the default location.
    • !lweather [LOCATION]: Same as !weather, but hides the name of the actual location.

WhoDoYouThinkIs

Channel and private message commands

  • !wdyti NICKNAME: Displays the registered username for a nickname, or a message that the nickname is not registered.