Formerly Willie. An easy-to-use and highly extensible IRC Bot framework
Clone or download
Latest commit e7e419e Nov 19, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
contrib Make use HTTPS, everywhere Apr 1, 2018
docs Fix spelling mistakes found during unrelated work Apr 2, 2018
sopel lmgtfy: urlencode query Nov 18, 2018
test tests: Separate tests for aliased/not nick commands Jun 20, 2018
.coveragerc Update to testing process Apr 6, 2018
.gitignore .gitignore pytest cache Mar 29, 2018
.gitmodules updated wiki submodule Mar 25, 2018
.travis.yml Update to testing process Apr 6, 2018 CONTRIBUTING: Update coding/future import guidelines Jan 29, 2016
COPYING Added EFL license file, to actually comply with it Sep 19, 2012
CREDITS Huge cleanup of copyright headers and docstrings Dec 27, 2015 Revert "Prune tests from release distribution" Apr 4, 2018
NEWS Add changelog for upcoming 6.5.3 release Apr 6, 2018
README.rst Make use HTTPS, everywhere Apr 1, 2018 Update style checks & fix newly detected issues Oct 27, 2018 Update to be useful again Mar 29, 2018 Update ignored files for tests Mar 21, 2018
dev-requirements.txt Update style checks & fix newly detected issues Oct 27, 2018
pytest.ini Update to testing process Apr 6, 2018 Update to testing process Apr 6, 2018
requirements.txt Merge pull request #1266 from tpltnt/issue-570 Nov 5, 2018 Update to testing process Apr 6, 2018 Make __future__ imports consistent Mar 26, 2018


Introduction version build issues coverage-status license

Sopel is a simple, lightweight, open source, easy-to-use IRC Utility bot, written in Python. It's designed to be easy to use, run and extend.


Latest stable release

If you're on Arch, the easiest way to install is through your package manager. The package is named sopel in [community] repository. On other distros, and pretty much any operating system you can run Python on, you can install pip, and do pip install sopel. Failing all that, you can download the latest tarball from and follow the steps for installing from the latest source below.

Latest source

First, either clone the repository with git clone git:// or download a tarball from GitHub.

Note: sopel requires Python 2.7.x or Python 3.3+ to run. On Python 2.7, sopel requires backports.ssl_match_hostname to be installed. Use pip install backports.ssl_match_hostname or yum install python-backports.ssl_match_hostname to install it, or download and install it manually from PyPi <>.

In the source directory (whether cloned or from the tarball) run install. You can then run sopel to configure and start the bot. Alternately, you can just run the file in the source directory.

Adding modules

The easiest place to put new modules is in ~/.sopel/modules.

Some extra modules are available in the sopel-extras repository, but of course you can also write new modules. A tutorial for creating new modules is available on the wiki. API documentation can be found online at, or you can create a local version by running make html in the doc directory.

Further documentation

In addition to the official website, there is also a wiki which includes valuable information including a full listing of commands.


Join us in #sopel on Freenode.