Skip to content
A chatbot for the Stack Exchange chat rooms.
Python Shell Batchfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
ChatExchange @ a0307e4
botbuiltins @ fe2e5c7

SE-Chatbot, a chat bot for the Stack Exchange chat rooms.

Codacy Badge

A chat bot for the Stack Exchange chat rooms.

The bot is licensed under CPOL (The Code Project Open License) v1.02. You can find a copy of this license in LICENSE.htm.


Before you can use the bot, you need to install some dependencies such as ChatExchange3 (the Python 3 port of ChatExchange and BeautifulSoup4. You can install them by running on Linux (requires pip to be installed) or setup.bat (requires git and pip, in C:\<YourPythonFolder>\Scripts\ to be added to your PATH).

You'll also need to copy templates/ to You will also need to add some required configuration data in The comments in that file tell you which values you can add and how to add them.


To run the bot, you have to use Python 3. When you run it, it will prompt you for necessary information that you have not provided in If you wish to use a specific configuration, run the bot with the argument -c configuration_name. You can also use -s site_name, -r room_number, -e email_address and -p password. The last four items will always override data stored in a configuration, if set.


You can use logging on the bot. It is disabled by default, but you can enable it by un-commenting the self.setup_logging() line in (in the main method).

Executing commands/posting messages using the command line

You can execute commands from the bot by providing input on the command line. $+command args will execute the command and post the result to the chat room, and $-command args will only post the result to the command line. If your input does not start with a $, the bot will post the given input to the chat room.

Commands in a chat room

Commands in a chat room are executed like >>command optional arguments. To get a list of all commands, run >>listcommands. To get help on a specific command, run >>help command.


You can extend the bot by adding your own modules, which you can group into meta-modules. See the templates in the templates/ folder for help on how to create a module.

You can’t perform that action at this time.