-
Notifications
You must be signed in to change notification settings - Fork 6
Home
Welcome to the sibyl wiki! Sibyl is a chat bot written in Python originally intended for controlling XBMC/Kodi/OSMC. It is extensible via plug-ins for both chat protocols and chat commands. It was inspired by the popular hubot, based on JabberBot, and it's namesake is a computer from the anime Psycho-Pass. Please use the links to the right to browse the wiki!
For detailed setup instructions, see the Setup
section of the README.
Currently Sibyl has been tested on Ubuntu, Raspbmc, OSMC, and Windows 7. To run
as a daemon, you can use the example init
or systemd
files. There is
currently no official way to run Sibyl as a service on Windows. To run the
script in a terminal, all you have to do is python run.py
, optionally
specifying a config file with python run.py -c sibyl.conf
.
In order to get sibyl's attention in a room, you have to start your message with
sibyl's nickname (default Sibyl
) or a command prefix (set with cmd_prefix
).
In private chat those are unnecessary. If you ever need to pass a single option
to a chat command that contains spaces, you can enclose it in double quotes. Try
these commands out to start. For detailed info on chat commands see the
individual plug-in articles on this wiki.
hello
about
help
For most users, the explanations in sibyl.conf.default
will probably
be enough to understand how to configure the bot. However, there is more
detailed info available on the Config page. Of particular note is the
ability to black- and white-list users, explained on this page. Finally,
chat protocols may have their own config options, which are explained on their
individual wiki pages.
Most general questions should be answered on the wiki. Bug reports should be done using this project's issue tracker. Otherwise try the following:
- IRC -
#sibyl
atirc.freenode.net
- XMPP -
[email protected]
- email -
[email protected]
- Matrix -
#sibyl:terracrypt.net
Sibyl is written in Python, specifically Python 2. See the Development page for more information on extending Sibyl. To contribute please fork and create a pull request. What follows is a brief outline of the files and directories:
-
cmds/
- contains Python scripts with chat commands-
cmds/custom/
- (not tracked by git) contains user-defined chat commands
-
-
data/
- (not tracked by git) default directory for user data e.g. logs -
example/
- various example scripts and configs -
init/
- sysv and systemd templates -
lib/
- python files that make sibyl work-
config.py
- config file parsing and management -
decorators.py
- decorators for chat commands, config, and hooks -
password.py
- class for obfuscating config values -
protocol.py
- base classes for chat protocols -
sibylbot.py
- main script containing the SibylBot class -
thread.py
- thread class used by SibylBot -
util.py
- general functions that don't fit anywhere else
-
-
protocols/
- chat protocol plug-ins -
tests/
- very basic unit tests (currently un-maintained) -
CHANGELOG.md
- project changelog -
LICENSE
- copy of the GPLv3 -
TODO.txt
- TODO tracking for developers -
client.py
- chat client for Sibyl's socket protocol -
installdeps.sh
- installs dependencies on some linux distros -
run.py
- run the bot e.g.python run.py
-
sibyl.conf
- (not tracked by git) default name for the config file -
sibyl.conf.default
- default config file for users to edit -
sibyl.sh
- used by the sysv init script for forking