Commands
This page lists all the commands the Helpmebot currently recognises.
Standard commands
!access
Requires A
Synopsis
Manages user access to the bot
Syntax
-
!access grant global <mask> <flaggroup>
-
Grants the specified flag group to the user globally.
-
!access revoke global <mask> <flaggroup>
-
Revokes the specified flag group from the user globally.
This command allows management of the bot's access control by managing which flag groups a user is a member of, as shown on the Access control page.
Masks
This command requires a mask or an account name to apply the flag group change to. The bot will try to interpret what you mean, but it is recommended to either use a plain account name, or a full nick!user@host mask.
- If you wish to apply the change to a NickServ account, simply specify the account name - for example
!access grant global stwalkerster Superuser
- If you wish to apply the change to a nickname, specify
nick!*@*
- for example!access grant global nick!*@* Superuser
. Note that nickname grants are considered insecure. - If you wish to apply the change to a hostname or cloak, specify
*!*@hostname.example.net
Global vs Local
Use the global
modifier to change the user's membership of a group across all channels.
Local access is currently not supported.
!afccount
Requires I
Synopsis
Returns the number of AfC submissions awaiting review
Aliases:
- !afcbacklog
Syntax
-
!afccount
!basewiki
Requires I
Synopsis
Configures which wiki is used by the bot for commands which pull data from the wiki.
Syntax
-
!basewiki [OPTIONS]
-
Retrieves the base wiki this channel is configured to use
Options
-
--target=VALUE
-
The target channel to apply this command to
-
-
!basewiki list
-
Lists all the wikis the bot is configured to use
Requires P
-
!basewiki set [OPTIONS] <wiki>
-
Sets the base wiki for this channel. Use the "database" name of the wiki, eg `enwiki` or `commonswiki`.
Options
-
--target=VALUE
-
The target channel to apply this command to
-
!blockinfo
Requires I
Synopsis
Returns information about active blocks on the provided target
Syntax
-
!blockinfo <target>
!blockmonitor
Requires C
Synopsis
Manages configuration of on-wiki block reporting
Syntax
-
!blockmonitor add <channel>
-
Adds monitoring of blocked users joining the specified channel, reporting in the current channel
-
!blockmonitor del <channel>
-
Removes monitoring of blocked users joining the specified channel, reporting in the current channel
Aliases
- !blockmonitor delete
- !blockmonitor remove
!botops
Requires o
Synopsis
Commands to manage the bot's use of chanop privileges
Syntax
-
!botops grant
-
Requests the bot gain channel operator status. Requires ChanServ flag `+o` on the target channel.
-
!botops revoke
-
Requests the bot remove channel operator status from itself.
-
!botops topic <topic>
-
Replaces the channel topic with the specified value
Requires O
-
!botops sync <channel>
-
Runs a ChanServ SYNC on the specified channel. Requires ChanServ flag `+R` on the target channel.
Requires O
!categorysize
Requires I
Synopsis
Returns the number of items in the provided category
Aliases:
- !catsize
Syntax
-
!categorysize <category>
!contribs
Requires I
Synopsis
Returns information on the last contribution for this user
Syntax
-
!contribs <username>
!crosschannel
Requires C
Syntax
-
!crosschannel configure <channel>
-
Sets up cross-channel notifications from the provided ("frontend") channel to this ("backend") channel.
This command should be run in the desired backend channel.
-
!crosschannel deconfigure
-
Removes cross-channel notification configuration from this channel.
This command should be run in the backend channel.
-
!crosschannel notifications [OPTIONS]
-
Manages the notification state. Without parameters, this will return the current state.
Aliases
- !crosschannel notify
Options
-
--enable
-
Enable notifications
-
--disable
-
Disable notifications
-
!crosschannel notifykeyword <keyword>
-
Sets the keyword used for triggering the notification
-
!crosschannel notifymessage <message>
-
Sets the message used for the notification.
This command configures any cross-channel operations which the bot supports.
Currently, this is used for:
- Notification commands (such as
!helper
in #wikipedia-en-help) notifying a backend channel of it's usage - Welcomer notifications about ban exemption setting
!forcewelcome
cross-channel usage
Setting a notification message
The notification message specified using !crosschannel notifymessage
is the message sent to the backend channel when the command is triggered.
The message is not stored as a usual response message, but is the actual message to be sent. This message accepts three parameters:
{0}
: the nickname of the person triggering the command{1}
: the channel the command was triggered in{2}
: the message given by the user, if any.
Both the notification message and the keyword to be used to trigger the message must be set before notifications can be enabled in the channel.
!decode
Requires P
Synopsis
Decodes a hexadecimal representation of an IP address.
Syntax
-
!decode <hex>
!editcount
Requires I
Synopsis
Returns your edit count or the edit count for the specified user
Aliases:
- !count
Syntax
-
!editcount [username]
!flaggroup
Requires S
Synopsis
Manages bot user access control groups
Syntax
-
!flaggroup list
-
Lists the currently configured flag groups
Aliases
- !flaggroup
-
!flaggroup add <name> <flags>
-
Adds a new flag group
Aliases
- !flaggroup create
Requires A
-
!flaggroup modify <name> <flag changes>
-
Modifies the flags on an existing flag group
Requires A
-
!flaggroup set <name> <flags>
-
Sets the flags on an existing flag group
Requires A
-
!flaggroup mode <name> granting|revoking
-
Sets the mode the flag group operates in - either granting flags from a user, or revoking flags from a user.
Requires A
-
!flaggroup delete <name>
-
Deletes an existing flag group
Aliases
- !flaggroup remove
- !flaggroup del
- !flaggroup rm
Requires A
!forcewelcome
Requires P
Synopsis
Forces the welcomer to trigger for the provided nickname, giving them the standard welcome message.
Aliases:
- !fwelcome
- !welcomef
Syntax
-
!forcewelcome <nickname>
!gancount
Requires I
Synopsis
Returns the number of GAN submissions awaiting review
Syntax
-
!gancount
Requires I
Synopsis
Returns a message with a link to a google search result
Syntax
-
!google <search>
!idlehelpees
Requires P
Synopsis
Returns a list of helpees and their in-channel idle time, including the last-active helpers
Syntax
-
!idlehelpees
!idleremove
Requires o
Synopsis
Removes idle helpees from the channel
Syntax
-
!idleremove [OPTIONS] <nickname...>
-
Removes the listed helpees who have been inactive for more than 15 minutes by the bot's reckoning. Nicknames not eligible are automatically filtered out.
Options
-
--force
-
Force the removal, bypassing safety protections
-
--dry-run
--dryrun
-
List who will be removed from the channel, but don't actually do it
-
!interwiki
Requires C
Synopsis
Manages the bot's list of interwiki prefixes for constructing links.
Aliases:
- !iw
Syntax
-
!interwiki add <interwiki> <url>
-
Adds or updates the specified interwiki entry
Aliases
- !interwiki insert
- !interwiki edit
- !interwiki update
-
!interwiki delete <interwiki>
-
Removes the specified interwiki entry
Aliases
- !interwiki del
- !interwiki rm
- !interwiki remove
-
!interwiki import
-
Imports all interwiki prefixes from the active MediaWiki site. Any new entries will be automatically added; any updated or deleted entries will be held for review.
-
!interwiki accept <prefix>
-
Accepts a held modification of an entry as correct
-
!interwiki reject <prefix>
-
Rejects a held modification of an entry
-
!interwiki forgetmissing
-
Removes any markers for interwikis created or missing from the last import.
!ipinfo
Requires P
Synopsis
Returns the controlling organisation and the real-world location for the provided IP address
Aliases:
- !geolocate
- !whois
Syntax
-
!ipinfo <ip>
!ipinfo <hexstring>
!ipinfo <nickname>
!join
Requires M
Synopsis
Joins the specified channel
Syntax
-
!join <channel>
-
This command is also usable through an /invite on IRC.
!kb
Requires O
Synopsis
Kickbans the specified user.
Syntax
-
!kb [OPTIONS] <nickname>
-
Options
-
--force
-
Force the kickban to apply even if the user is cloaked
-
!ld
Requires O
Synopsis
Enables channel lockdown mode, quieting all unregistered users and exempting as configured in the welcomer.
Syntax
-
!ld
!link
Requires S
Synopsis
Convert a wikilink into a clickable URL
Aliases:
- !l
Syntax
-
!link
!link <link>
-
Parses a wikilink or MediaWiki page name and returns a URL for each detected wikilink
If no wikilinks are detected in the argument, the entire argument is treated as a link
If no argument is supplied, the last seen link in the channel is used.
!maxlag
Requires I
Synopsis
Returns the maximum replication lag on the channel's MediaWiki instance
Syntax
-
!maxlag
Synopsis
Manages/alters the bot's response strings for hard-coded commands
Aliases:
- !response
Syntax
-
!message set <global|local> <key> <alternate> <line> <value...>
-
Changes a message line for the specified alternate in the database to the provided value, creating new if necessary
-
!message remove <global|local> <key> <alternate> <line>
-
Removes the specified alternate message or message line from the database, removing the entire alternate or message from the database if is is the last one.
Aliases
- !message del
This command manages the bot's responses in the database, as shown at the Responses page.
Alternates and Lines
Messages are defined under a specific key, and are split twice - firstly into a set of message "alternates", then into a set of "lines". When a message is requested, one alternate will be chosen at random, then all lines in that alternate will be sent.
On the Responses page, alternates are numbered to make it easier to determine which alternate is which.
For the majority of commands, there is a single line in a single alternate, so the alternate
and line
parameters will both be 1
. For example, to modify a message such as brain.command.learn
to the value "I remember!", the following command can be used:
!message set global brain.command.learn 1 1 I remember!
To add a new line or alternate, just specify a number which is larger than the current set - for example, this will add a second alternative to the aforementioned message:
!message set global brain.command.learn 2 1 Saved to database
Removing lines or alternates is similar - just specify the alternate and line to remove. If the removed line is the last line in an alternate, the entire alternate will be removed. If the removed alternate is the last alternate in the message, the entire message will revert to the default value.
!message remove global brain.command.learn 2 1
Global vs Local
Use the global
modifier to change the message across all channels.
Use the local
modifier to change the message just for the current channel.
Please note that there is no differentiation between private messages - a local
change done in private message to the bot will change the message for all private messages for any user. This is for technical reasons - the bot will store the change with it's current nickname as the "channel".
!quit
Requires O
Synopsis
Shuts down the bot.
Aliases:
- !die
Syntax
-
!quit <nickname>
-
Shuts down the bot. Provide the bot's nickname to confirm the request
!registration
Requires I
Synopsis
Returns the registration date and account age of the specified user
Aliases:
- !reg
- !age
Syntax
-
!registration <username>
!resolve
Requires I
Synopsis
Performs a DNS lookup on the requested address
Aliases:
- !dns
Syntax
-
!resolve <ip>
!resolve <hostname>
!reviewstatus
Requires I
Synopsis
Provides the current status of a draft
Aliases:
- !draftstatus
- !draft
Syntax
-
!reviewstatus <draft>
!rights
Requires I
Synopsis
Returns the list of groups you or the specified user currently hold
Aliases:
- !userrights
- !usergroups
- !groups
Syntax
-
!rights [username]
!shorten
Requires S
Synopsis
Shortens the provided URL
Aliases:
- !shorturl
- !isgd
- !hmbim
Syntax
-
!shorten <url>
!untrack
Requires P
Synopsis
Prevents the provided nickname from triggering tracking alerts. This safe-listing will only last until they leave the channel, and only gives a reprieve from bot-initiated violence by reducing the user's current score by a large value. Sufficient additional hits will result in the user being added back to tracking.
Syntax
-
!untrack <nickname>
!userinfo
Requires I
Synopsis
Gives a batch of information on the specified user.
Syntax
-
!userinfo [username]
Synopsis
Manages the on-join welcome message
Syntax
-
!welcomer list [OPTIONS]
-
Lists all masks configured to be welcomed in this channel
Options
-
--target=VALUE
-
The target channel to apply this command to
-
-
!welcomer add [OPTIONS]
-
Adds a mask to the welcome list for the current channel.
All attributes default to `.*`; use the listed options to override specific attributes.
Options
-
--target=VALUE
-
The target channel to apply this command to
-
--ignore
-
Interpret this mask as an exception rule instead of a match rule
-
--host=VALUE
-
Specify the hostname part of the mask to use
-
--user=VALUE
-
Specify the username part of the mask to use
-
--nick=VALUE
-
Specify the hostname part of the mask to use
-
--account=VALUE
-
Specify the NickServ account part of the mask to use
-
--realname=VALUE
-
Specify the GECOS/realname part of the mask to use
-
-
!welcomer del [OPTIONS]
-
Removes a mask from the welcome list for the current channel.
Aliases
- !welcomer delete
- !welcomer remove
Options
-
--target=VALUE
-
The target channel to apply this command to
-
--ignore
-
Interpret this mask as an exception rule instead of a match rule
-
--host=VALUE
-
Specify the hostname part of the mask to use
-
--user=VALUE
-
Specify the username part of the mask to use
-
--nick=VALUE
-
Specify the hostname part of the mask to use
-
--account=VALUE
-
Specify the NickServ account part of the mask to use
-
--realname=VALUE
-
Specify the GECOS/realname part of the mask to use
-
!welcomer mode [OPTIONS] none
!welcomer mode [OPTIONS] <mode>
-
Sets the welcomer override mode
This enables a specific override rule for the welcomer allowing a different welcome message to be used for users matching pre-defined conditions
Aliases
- !welcomer override
- !welcomer overridemode
Options
-
--target=VALUE
-
The target channel to apply this command to
This command configures the channel welcomer. Any user who has a hostmask on the list (but not on the ignore list) will be greeted with the message defined by the response channelservices.welcomer.welcome
on their entry to the channel. It is strongly recommended to set a local override for this message in the channel.
If an override mode is configured, then a different message key might be used.
If there are no hostmasks in the list to be welcomed, then nobody will be welcomed.
Brain commands
Commands used to manage the bot's stored responses
!brainedit
Requires b
Synopsis
Edits an existing brain entry by applying a sed-style expression to a message.
Aliases:
- !editbrain
Syntax
-
!brainedit test <keyword> <expression>
-
Applies the expression to the content of the specified learnt command, and returns the result
Expressions should be in GNU sed substitution format ( s/search/replace/ ), but using .NET-flavour regular expressions. The flags g and i are supported for global matches and case insensitive matches respectively.
For backreferences in the search pattern, use the \1 format. For backreferences in the replacement pattern, use $1 format.
Aliases
- !brainedit dryrun
-
!brainedit edit <keyword> <expression>
-
Applies the expression to the content of the specified learnt command as 'test' subcommand, and saves the change to the message.
!brainsearch
Requires P
Synopsis
Searches for a brain entry by content, returning the keywords of any matching entries. If there are few enough results, the full content of those entries will also be returned.
Aliases:
- !bs
Syntax
-
!brainsearch <search...>
-
The text to search for in all brain entries
!forget
Requires b
Synopsis
Removes the provided keywords from the learnt command list.
Aliases:
- !unlearn
Syntax
-
!forget <keyword> [keyword...]
-
Provide the keyword(s) to remove as parameters.
At least one keyword is required.
!learn
Requires b
Synopsis
Creates a new learnt command
Aliases:
- !teach
Syntax
-
!learn [OPTIONS] <keyword> <message>
-
Creates a new learnt command invoked by <keyword> to respond with the provided message
Options
-
--action
-
Send the response as a CTCP action (aka a /me command) instead of a normal message
-
Available variables
You may use the following variables in your message:
- Numbered variables such as
{0}
,{1}
, and{2}
may be used to reflect the input passed to Helpmebot with the command. - Numbered variables can also be used like
{1*}
to display everything from parameter{1}
to the end of the input. Note that numbered variables start at 0 so{1}
would be the second word. - URL encoding can be added by specifying
:url
just inside the closing brace, or an approximation of MediaWiki title encoding can be added by specifying:title
just inside the closing brace. For example,{3*:title}
{channel}
is the full name of the current channel.{nickname}!{username}@{hostname}
are three variables that represent the host mask of the user calling the command.{nickname}
is the user's nick in the channel{username}
is also known as "ident" on other IRC servers.{hostname}
this will be the user's cloak if they have one, otherwise it will be the host ISP's name and maybe IPv4 address they are connected from.
Category watcher commands
Commands used to trigger an immediate update of the category watchers
!adminhelp
Requires I
Synopsis
Retrieves the current items for the adminhelp category watcher.
Syntax
-
!adminhelp
For more information on the category watchers, see the category watcher information page.
!catwatcher
Requires P
Synopsis
Manages category watcher configuration
Syntax
-
!catwatcher list
-
Lists all configured category watchers
-
!catwatcher create <flag> <wiki> <category>
-
Adds a category watcher with the specified flag, on the specified wiki shortcode, watching the specified category.
Requires C
-
!catwatcher delete <flag>
-
Removes a category watcher entirely.
The category watcher must be disabled in every channel before it can be deleted.
Requires C
-
!catwatcher configure [OPTIONS] <flag>
-
Aliases
- !catwatcher config
Options
-
-e
--enable
-
Enable reporting in this channel
-
-d
--disable
-
Disable reporting in this channel
-
-i=VALUE
--interval=VALUE
-
Sets the interval (in seconds) between reporting category members to the channel
-
-w
--show-wait-time
-
Show the wait time of each item
-
-W
--hide-wait-time
-
Hide the wait time of each item
-
-m=VALUE
--min-wait-time=VALUE
-
Set the minimum wait time of an item before the wait time is shown (if enabled)
-
-l
--show-links
-
Show the URL to each item as well as the wikilink
-
-L
--hide-links
-
Hide the URL to each item, showing only the wikilink
-
-a
--show-additions
-
Report additions to the category as they are detected
-
-A
--hide-additions
-
Don't report additions
-
-r
--show-removals
-
Report removals from the category as soon as they are detected
-
-R
--hide-removals
-
Don't report removals
-
-s=VALUE
--statusmsg=VALUE
-
Configure message target within channel. Use `@` to only send to channel operators, or `+` to only send to voiced users. Use `all` to send to everyone.
-
-t=VALUE
--anchor=VALUE
-
Configure a specific anchor on the page to link to. For example, set to `potato` for link to `https://enwp.org/User_talk:Example#potato`. To clear, use an empty parameter (eg, `--anchor=`
-
!catwatcher status
-
Returns the current configuration of all the defined category watchers for this channel.
!catwatcherignored
Requires P
Synopsis
Manages pages ignored by the category watcher
!ecer
Requires I
Synopsis
Retrieves the current items for the ecer category watcher.
Syntax
-
!ecer
For more information on the category watchers, see the category watcher information page.
!editreq
Requires I
Synopsis
Retrieves the current items for the editreq category watcher.
Syntax
-
!editreq
For more information on the category watchers, see the category watcher information page.
!fetchall
Requires P
Synopsis
Returns the current state of all category watchers configured in the current channel.
Syntax
-
!fetchall [OPTIONS]
-
Options
-
--all
-
Return the current state of all category watchers configured on the bot.
-
!g10
Requires I
Synopsis
Retrieves the current items for the g10 category watcher.
Syntax
-
!g10
For more information on the category watchers, see the category watcher information page.
!helpme
Requires I
Synopsis
Retrieves the current items for the helpme category watcher.
Syntax
-
!helpme
For more information on the category watchers, see the category watcher information page.
!per
Requires I
Synopsis
Retrieves the current items for the per category watcher.
Syntax
-
!per
For more information on the category watchers, see the category watcher information page.
!sper
Requires I
Synopsis
Retrieves the current items for the sper category watcher.
Syntax
-
!sper
For more information on the category watchers, see the category watcher information page.
!tper
Requires I
Synopsis
Retrieves the current items for the tper category watcher.
Syntax
-
!tper
For more information on the category watchers, see the category watcher information page.
!unblock
Requires I
Synopsis
Retrieves the current items for the unblock category watcher.
Syntax
-
!unblock
For more information on the category watchers, see the category watcher information page.
ACC commands
Commands used for Wikipedia's ACC process
!acccount
Requires a
Synopsis
Provides statistics on the number of ACC requests closed
Syntax
-
!acccount [username]
-
Returns stats for the given user, or the nickname of the current user if not specified
!accdeploy
Requires a
Synopsis
Utility command for ACC tool development deployment
Syntax
-
!accdeploy <branch>
-
Deploys the specified branch to the ACC sandbox environment
!accstats
Requires a
Synopsis
Provides information on an ACC user
Syntax
-
!accstats [username]
-
Returns stats for the given user, or the nickname of the current user if not specified
Synopsis
Manages AMQP notification delivery to the channel.
Syntax
-
!notifications enable
-
Enables delivery of notifications to this channel. For notifications to actually arrive, they must also be sent to the bot via AMQP.
-
!notifications disable
-
Disables delivery of notifications to this channel
Fun commands
Non-serious commands for non-serious channels. Fun commands can be disabled per-channel using !curl, so these might not be available for use in all channels.
!exorcise
Requires F
Synopsis
Purges demons and other system background services
Syntax
-
!exorcise [user]
!pillow
Requires F
Synopsis
That thing you rest your head on? Yeah, that. At high speed.
Aliases:
- !pillowfight
Syntax
-
!pillow [user]
Diagnostic commands
Bot diagnostics and debugging tools
!raw
Requires O
Synopsis
Injects the specified message directly onto the IRC network socket
Syntax
-
!raw <IRC protocol message>
!rawctcp
Requires O
Synopsis
Sends a CTCP command to the specified destination
Syntax
-
!rawctcp <CTCP command> <destination> [content]
!version
Requires S
Synopsis
Provides the current version of the bot and the key libraries
Syntax
-
!version [OPTIONS]
-
Options
-
--modules
-
Include the versions of all loaded modules
-