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.
On most systems where you can run Python, the best way to install Sopel is to
install pip and then pip install sopel
.
Arch users can install the sopel
package from the [community] repository,
though new versions might take slightly longer to become available.
Failing both of those options, you can grab the latest tarball from GitHub and follow the steps for installing from the latest source below.
First, either clone the repository with git clone
git://github.com/sopel-irc/sopel.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.
Note: Python 2.x is near end of life. Sopel will drop support in version 8.0.
In the source directory (whether cloned or from the tarball) run pip install
-e .
. You can then run sopel
to configure and start the bot.
Sopel leverages SQLAlchemy to support the following database types: SQLite,
MySQL, PostgreSQL, MSSQL, Oracle, Firebird, and Sybase. By default Sopel will
use a SQLite database in the current configuration directory, but alternative
databases can be configured with the following config options: db_type
,
db_filename
(SQLite only), db_driver
, db_user
, db_pass
,
db_host
, db_port
, and db_name
. You will need to manually install
any packages (system or pip
) needed to make your chosen database work.
Note: Plugins not updated since Sopel 7.0 was released might have problems with database types other than SQLite (but many will work just fine).
The easiest place to put new plugins is in ~/.sopel/plugins
. Some newer
plugins are installable as packages; search PyPI for these. Many more plugins
written by other users can be found using your favorite search engine.
Some older, unmaintained plugins are available in the
sopel-extras repository, but of
course you can also write your own. A tutorial
for creating new plugins is available on Sopel's website.
API documentation can be found online at https://sopel.chat/docs/, or
you can create a local version by running make docs
.
The official website includes such valuable information as a full listing of built-in commands, tutorials, API documentation, and other usage information.
Join us in #sopel on Freenode.
We're thrilled that you want to support the project!
We have applied for access to organization-level sponsorship from GitHub. In the interim, if you wish to contribute sooner, you are welcome to do so through Open Collective or sponsor Sopel's maintainer, dgw, individually.
Any donations received will be used to cover infrastructure costs, such as our domain name and hosting services. Our main project site is easily hosted by Netlify, but we are considering building a few new features that would require more than static hosting. All project-related expenses are tracked on our Open Collective profile, for transparency.