Sopel

The Python IRC Bot

Module commands

This page contains a list of all commands from modules within Sopel’s main modules directory. If you have added modules without rebuilding the documentation, or are using a secondary modules directory, those modules will not be shown here.

Command(s) Purpose Example Module
.join Join the specified channel. This is an admin-only command. .join #example or .join #example key 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
.msg Send a message to a given channel or nick. Can only be done in privmsg by
an admin.
.msg #YourPants Does anyone else smell neurotoxin? 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
.save Save state of Sopel’s config object to the configuration file. .save 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 None, the option will be deleted.
.set core.owner Me admin
.ban This give admins the ability to ban a user.
The bot must be a Channel Operator for this command to work.
  adminchannel
.kick Kick a user from the channel.   adminchannel
.kickban
.kb
This gives admins the ability to kickban a user.
The bot must be a Channel Operator for this command to work.
.kickban [#chan] user1 user!@ get out of here
  adminchannel
.quiet This gives admins the ability to quiet a user.
The bot must be a Channel Operator for this command to work.
  adminchannel
.tmask Set the mask to use for .topic in the current channel. {} is used to allow
substituting in chunks of text.
  adminchannel
.showmask Show the topic mask for the current channel.   adminchannel
.topic This gives ops the ability to change the topic.
The bot must be a Channel Operator for this command to work.
  adminchannel
.unban This give admins the ability to unban a user.
The bot must be a Channel Operator for this command to work.
  adminchannel
.unquiet This gives admins the ability to unquiet a user.
The bot must be a Channel Operator for this command to work.
  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
.py Evaluate a Python expression. .py len([1,2,3]) calc
.t
.time
Returns the current time. .t America/New_York clock
.getchanneltimeformat
.getctf
Gets the channel’s preferred time format; will return current channel’s if
no channel name is given.
.getctf [channel] clock
.getchanneltz
.getctz
Gets the channel’s preferred timezone; returns the current channel’s
if no channel name is given.
.getctz [channel] clock
.gettimeformat
.gettf
Gets a user’s preferred time format; will show yours if no user specified. .gettf [nick] clock
.gettz
.gettimezone
Gets a user’s preferred time zone; will show yours if no user specified. .gettz [nick] clock
.setchanneltz
.setctz
Set the preferred timezone for the 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 time zone. 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 .countdown - displays a countdown to a given date.   countdown
.btc
.bitcoin
No documentation found. .btc 20 EUR currency
.cur
.currency
.exchange
Show the exchange rate between two currencies .cur 20 EUR in USD currency
.choose
.ch
.choice
.choice option1|option2|option3 - Makes a difficult choice easy.   dice
.d
.dice
.roll
.dice XdY[vZ][+N], rolls dice and reports the result.

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.
.roll 1d1+1d1 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
.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
.ety Look up the etymology of a word .ety word etymology
.help
.commands
Shows a command’s documentation, and possibly an example. .help tell help
.iplookup
.ip
IP Lookup tool .ip 8.8.8.8 ip
.console Starts an interactive IPython console   ipython
.isup
.isupinsecure
isup.me website status checker   isup
.lmgtfy
.lmgify
.gify
.gtfy
Let me just… google that for you. .lmgtfy lmgtfy
.chairs Set the meeting chairs. See meetbot module usage .chairs Tyrope Jason elad meetbot
.endmeeting End a meeting. See meetbot module usage .endmeeting meetbot
.listactions No documentation found. .listactions meetbot
.action Log an action in the meeting log. See meetbot module usage .action elad will develop a meetbot meetbot
.agreed Log an agreement in the meeting log. See meetbot module usage .agreed Bowties are cool meetbot
.info Log an informational item in the meeting log. See meetbot module usage .info all board members present meetbot
.link Log a link in the meeing log. See meetbot module usage .link http://example.com meetbot
.subject Change the meeting subject. See meetbot module usage .subject roll call meetbot
.comments Show the comments that have been logged for this meeting with .comment.

See meetbot module usage
  meetbot
.startmeeting Start a meeting. See meetbot module usage .startmeeting title or .startmeeting 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 module usage
  meetbot
.pronouns No documentation found. .pronouns Embolalia pronouns
.setpronouns No documentation found. .setpronouns they/them/their/theirs/themselves pronouns
.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] reddit
.redditor Show information about the given Redditor .redditor poem_for_your_sprog reddit
.setsafeforwork
.setsfw
Sets the Safe for Work status (true or false) for the current
channel. Defaults to false.
.setsfw false reddit
.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
.at Gives you a reminder at the given time. Takes hh:mm:ssTimezone message.
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 seconds and timezone are optional.
.at 13:47 Do your homework! 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 irc bot search
.duck
.ddg
.g
Queries Duck Duck Go for the specified input. .duck sopel irc bot search
.search Searches Bing and Duck Duck Go. .search sopel irc bot search
.suggest Suggest terms starting with given input .suggest lkashdfiauwgeaef search
.seen Reports when and where the user was last seen.   seen
.spellcheck
.spell
Says whether the given word is spelled correctly, and gives suggestions if
it’s not.
.spellcheck stuff spellcheck
.tell
.ask
Give someone a message the next time they’re seen Sopel, tell Embolalia he broke something again. tell
.tld Show information about the given Top Level Domain. .tld ru 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 No documentation found. .u 203D unicode_info
.length
.distance
Convert distances .length 3 parsec units
.weight
.mass
Convert mass   units
.temp Convert temperatures .temp 100K units
.uptime .uptime - Returns the uptime of Sopel.   uptime
.title Show the title or URL information for the given URL, or the last URL seen
in this channel.
.title http://google.com url
.version Display the latest commit version, if Sopel is running in a git repo.   version
.w
.wiki
.wik
No documentation found. .w San Francisco wikipedia
.wt
.define
.dict
Look up a word on Wiktionary. .wt bailiwick wiktionary
.xkcd .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 google result for those keywords on the xkcd.com site
  xkcd
.blocks Manage Sopel’s blocking features. See ignore system documentation.   coretasks
.useserviceauth No documentation found.   coretasks