Plugin commands
This page contains a list of all commands from plugins within Sopel’s main plugins directory. If you have added plugins without rebuilding the documentation, or are using a secondary plugins directory, those plugins will not be shown here.
Command(s) | Purpose | Example | Plugin |
---|---|---|---|
.chanlist .channels |
Show channels Sopel is in. | admin | |
.join | Join the specified channel. This is an admin-only command. | .join #example |
admin |
.me | Send an ACTION (/me) to a given channel or nick. Can only be done in privmsg by an admin. |
admin | |
.mode | Set a user mode on Sopel. Can only be done in privmsg by an admin. | admin | |
.part | Part the specified channel. This is an admin-only command. | .part #example |
admin |
.quit | Quit from the server. This is an owner-only command. | admin | |
.restart | Restart the bot. This is an owner-only command. | admin | |
.save | Save state of Sopel’s config object to the configuration file. | .save |
admin |
.say .msg |
Send a message to a given channel or nick. Can only be done in privmsg by an admin. |
.say #YourPants Does anyone else smell neurotoxin? |
admin |
.set | See and modify values of Sopel’s config object. Trigger args: arg1 - section and option, in the form “section.option” arg2 - value If there is no section, section will default to “core”. If value is not provided, the current value will be displayed. |
.set core.owner MyNick |
admin |
.tmpjoin | Like join , without saving. This is an admin-only command.Unlike the join command, tmpjoin won’t remember the channel uponrestarting the bot. |
.tmpjoin #example |
admin |
.tmppart | Like part , without saving. This is an admin-only command.Unlike the part command, tmppart will rejoin the channel uponrestarting the bot. |
.tmppart #example |
admin |
.unset | Unset value of Sopel’s config object. Unsetting a value will reset it to the default specified in the config definition. Trigger args: arg1 - section and option, in the form “section.option” If there is no section, section will default to “core”. |
.unset core.owner |
admin |
.ban | Ban a user from the channel The bot must be a channel operator for this command to work. |
adminchannel | |
.deop | Command to deop users in a room. If no nick is given, Sopel will deop the nick who sent the command |
adminchannel | |
.devoice | Command to devoice users in a room. If no nick is given, Sopel will devoice the nick who sent the command |
adminchannel | |
.kick | Kick a user from the channel. | adminchannel | |
.kickban .kb |
Kick and ban a user from the channel The bot must be a channel operator for this command to work. |
.kickban [#chan] user1 user!*@* get out of here |
adminchannel |
.op | Command to op users in a room. If no nick is given, Sopel will op the nick who sent the command |
adminchannel | |
.quiet | Quiet a user The bot must be a channel operator for this command to work. |
adminchannel | |
.tmask | Set the topic mask to use for the current channel Within the topic mask, {} is used to allow substituting in chunks of text. This mask is used when running the ‘topic’ command. |
adminchannel | |
.showmask | Show the topic mask for the current channel. | adminchannel | |
.topic | Change the channel topic The bot must be a channel operator for this command to work in +t channels. |
adminchannel | |
.unban | Unban a user from the channel The bot must be a channel operator for this command to work. |
adminchannel | |
.unquiet | Unquiet a user The bot must be a channel operator for this command to work. |
adminchannel | |
.voice | Command to voice users in a room. If no nick is given, Sopel will voice the nick who sent the command |
adminchannel | |
.announce | Send an announcement to all channels the bot is in. | .announce Some important message here |
announce |
.c .calc |
Evaluate some calculation. | .c 5 / 2 |
calc |
.choose .choice .ch |
Makes a difficult choice easy. | .choose a, b, c |
choose |
.t .time |
Return the current time. The command takes an optional parameter: it will try to guess if it’s a nick, a channel, or a timezone (in that order). If it’s a known nick or channel but there is no configured timezone, then it will complain. If nothing can be found, it’ll complain that the argument is not a valid timezone. The format used can be set with the settf or setctf commands. |
.t |
clock |
.tz .timez |
Return the current time in a timezone. Unlike the time command, it requires an argument, and that argumentmust be a valid timezone. |
.tz America/New_York |
clock |
.getchanneltimeformat .getctf |
Gets the channel’s preferred time format It returns the current channel’s if no channel name is given. |
.getctf |
clock |
.getchanneltz .getctz |
Gets the channel’s preferred timezone. It returns the current channel’s if no channel name is given. |
.getctz |
clock |
.gettimeformat .gettf |
Gets a user’s preferred time format. It will show yours if no user specified. |
.gettf |
clock |
.gettz .gettimezone |
Gets a user’s preferred time zone. It will show yours if no user specified. |
.gettz |
clock |
.setchanneltz .setctz |
Set the preferred timezone for the current channel. | .setctz America/New_York |
clock |
.setchanneltimeformat .setctf |
Sets your preferred format for time. Uses the standard strftime format. You can use http://strftime.net or your favorite search engine to learn more. |
.setctf %Y-%m-%dT%T%z |
clock |
.settz .settimezone |
Set your preferred timezone. Most timezones will work, but it’s best to use one from https://sopel.chat/tz. |
.settz America/New_York |
clock |
.settimeformat .settf |
Sets your preferred format for time. Uses the standard strftime format. You can use http://strftime.net or your favorite search engine to learn more. |
.settf %Y-%m-%dT%T%z |
clock |
.countdown | Displays a countdown to a given date. | .countdown 2078 09 14 |
countdown |
.cur .currency .exchange |
Show the exchange rate between two currencies. | .cur 100 usd in btc cad eur can aux |
currency |
.roll .dice .d |
Rolls dice and reports the result. The dice roll follows this format: XdY[vZ][+N][#COMMENT] X is the number of dice. Y is the number of faces in the dice. Z is the number of lowest dice to be dropped from the result. N is the constant to be applied to the end result. Comment is for easily noting the purpose. |
.roll 1d6 |
dice |
.afraid | No documentation found. | .afraid |
emoticons |
.rage .anger |
No documentation found. | .anger |
emoticons |
.crazy | No documentation found. | .crazy |
emoticons |
.cry | No documentation found. | .cry |
emoticons |
.happy | No documentation found. | .happy |
emoticons |
.hungry | No documentation found. | .hungry |
emoticons |
.lenny | No documentation found. | .lenny |
emoticons |
.love | No documentation found. | .love |
emoticons |
.shrug | No documentation found. | .shrug |
emoticons |
.sick | No documentation found. | .sick |
emoticons |
.smirk | No documentation found. | .smirk |
emoticons |
.success .winner |
No documentation found. | .winner |
emoticons |
.surprised | No documentation found. | .surprised |
emoticons |
.tableflip .tflip |
No documentation found. | .tflip |
emoticons |
.unflip | No documentation found. | .unflip |
emoticons |
.confused .wat |
No documentation found. | .wat |
emoticons |
.worried | No documentation found. | .worried |
emoticons |
.help .commands |
Shows a command’s documentation, and an example if available. With no arguments, lists all commands. | .help tell |
help |
.invite | Invite the given user to the current channel, or (with optional second argument) another channel that Sopel is in. |
.invite converge #sopel |
invite |
.iplookup .ip |
IP Lookup tool | .ip 8.8.8.8 |
ip |
.isup | Check if a website is up or not. | .isup google.com |
isup |
.isupinsecure | Check if a website is up (without verifying HTTPS). | isup | |
.lmgtfy .lmgify .gify .gtfy |
Let me just… Google that for you. | .lmgtfy |
lmgtfy |
.chairs | Set the meeting chairs. See meetbot plugin usage | .chairs Tyrope Jason elad |
meetbot |
.endmeeting | End a meeting. See meetbot plugin usage | .endmeeting |
meetbot |
.listactions | List all the actions in the meeting summary. | .listactions |
meetbot |
.action | Log an action in the meeting log. See meetbot plugin usage | .action elad will develop a meetbot |
meetbot |
.agreed | Log an agreement in the meeting log. See meetbot plugin usage | .agreed Bowties are cool |
meetbot |
.info | Log an informational item in the meeting log. See meetbot plugin usage | .info all board members present |
meetbot |
.link | Log a link in the meeing log. See meetbot plugin usage | .link http://example.com |
meetbot |
.subject | Change the meeting subject. See meetbot plugin usage | .subject roll call |
meetbot |
.comments | Show the comments that have been logged for this meeting with .comment. See meetbot plugin usage |
meetbot | |
.startmeeting | Start a meeting. See meetbot plugin usage | .startmeeting Meeting Title |
meetbot |
.comment | Log a comment, to be shown with other comments when a chair uses .comments. Intended to allow commentary from those outside the primary group of people in the meeting. Used in private message only, as .comment <#channel> <comment to add> See meetbot plugin usage |
meetbot | |
.ping | Reply to ping command. | ping | |
.pronouns | Show the pronouns for a given user, defaulting to the current user if left blank. | .pronouns Embolalia |
pronouns |
.setpronouns | Set your pronouns. | .setpronouns they/them/their/theirs/themselves |
pronouns |
.py | Evaluate a Python expression. | .py len([1,2,3]) |
py |
.rand | Replies with a random number between first and second argument. | .rand 10 99 |
rand |
.getsafeforwork .getsfw |
Gets the preferred channel’s Safe for Work status, or the current channel’s status if no channel given. |
.getsfw [channel] |
|
.getspoilerfree .getspoilfree |
Gets the channel’s Spoiler-Free status, or the current channel’s status if no channel given. |
.getspoilfree [channel] |
|
.redditor | No documentation found. | .redditor poem_for_your_sprog |
|
.setsafeforwork .setsfw |
Sets the Safe for Work status (true or false) for the current channel. Defaults to false. |
.setsfw false |
|
.setspoilerfree .setspoilfree |
Sets the Spoiler-Free status (true or false) for the current channel. Defaults to false. |
.setspoilfree false |
|
.subreddit | No documentation found. | .subreddit plex |
|
.load | Wrapper for allowing delivery of .load command via PM | reload | |
.reload | Wrapper for allowing delivery of .reload command via PM | reload | |
.update | Wrapper for allowing delivery of .update command via PM | reload | |
.reminders | Count or forget your reminders in the current channel. Use a subcommand “count” (default) or “forget”. The second argument is optional and can be either a channel name, your nick, or * (for all). |
.reminders count |
remind |
.at | Gives you a reminder at the given time. Takes hh:mm:ssTimezone Date message where seconds, Timezone, and Dateare optional. Timezone is any timezone Sopel takes elsewhere; the best choices are those from the tzdb; a list of valid options is available at https://sopel.chat/tz. The Date can be expressed in one of these formats: YYYY-mm-dd, dd-mm-YYYY, dd-mm-YY, or dd-mm. The separator can be . , - , or / . |
.at 00:01 25/12 Open your gift! |
remind |
.in | Gives you a reminder in the given amount of time. | .in 3h45m Go to class |
remind |
.safety | Set safety setting for channel | safety | |
.bing | Queries Bing for the specified input. | .bing sopel.chat irc bot |
search |
.duck .ddg .g |
Queries DuckDuckGo for the specified input. | .duck sopel.chat irc bot |
search |
.search | Searches both Bing and DuckDuckGo. | .search sopel irc bot |
search |
.suggest | Suggests terms starting with given input | .suggest lkashdfiauwgaef |
search |
.seen | Reports when and where the user was last seen. | seen | |
.tell .ask |
Give someone a message the next time they’re seen | .ask Exirel |
tell |
.tld | Show information about the given Top Level Domain. | .tld ru |
tld |
.tldcache | No documentation found. | .tldcache |
tld |
.mangle .mangle2 |
Repeatedly translate the input until it makes absolutely no sense. | translate | |
.translate .tr |
Translates a phrase, with an optional language hint. | .tr mon chien |
translate |
.u | Look up a Unicode character or a hexadecimal code point. | .u 203D |
unicode_info |
.length .distance |
Convert distances | .length 3 parsec |
units |
.weight .mass |
Convert mass | units | |
.temp | Convert temperatures | .temp 100K |
units |
.uptime | Return the uptime of Sopel. | .uptime |
uptime |
.title | Show the title or URL information for the given URL, or the last URL seen in this channel. |
.title https://www.google.com |
url |
.urlexclude .urlpexclude .urlban .urlpban |
Exclude a URL from auto title. Use urlpexclude to exclude a pattern instead of a URL. |
.urlexclude example.com/path |
url |
.urlallow .urlpallow .urlunban .urlpunban |
Allow a URL for auto title. Use urlpallow to allow a pattern instead of a URL. |
.urlallow example.com/path |
url |
.version | Display the installed version of Sopel. Includes the version of Python Sopel is installed on. Includes the commit hash if Sopel is installed from source. |
version | |
.w .wiki .wik |
Search Wikipedia. | .w San Francisco |
wikipedia |
.wpclang | No documentation found. | .wpclang ja |
wikipedia |
.wplang | No documentation found. | .wplang pl |
wikipedia |
.wt .define .dict |
Look up a word on Wiktionary. | .wt bailiwick |
wiktionary |
.ety | Look up a word’s etymology on Wiktionary. | .ety bailiwick |
wiktionary |
.xkcd | Finds an xkcd comic strip. Takes one of 3 inputs: * If no input is provided it will return a random comic * If numeric input is provided it will return that comic, or the nth-latest comic if the number is non-positive * If non-numeric input is provided it will return the first search result for those keywords on the xkcd.com site |
.xkcd |
xkcd |
.blocks | Manage Sopel’s blocking features. See ignore system documentation. | coretasks | |
.useserviceauth | Set owner’s account from an authenticated owner. This command can be used to automatically configure core.owner_account when the owner is known and has a registered account, but the bot doesn’t have core.owner_account configured.This doesn’t work if the account-tag capability is not available. |
coretasks | |
.execute | Execute commands specified to perform on IRC server connect. This allows a bot owner or admin to force the execution of commands that are automatically performed when the bot connects. |
coretasks |