Headless chatbot that detects spam and posts it to chatrooms. Uses ChatExchange, takes questions from the Stack Exchange realtime tab, and accesses answers via the Stack Exchange API.
Example chat post:
User documentation is in the wiki.
Detailed documentation for setting up and running SmokeDetector is in the wiki.
To set up SmokeDetector, please use
git clone https://github.com/Charcoal-SE/SmokeDetector.git
cd SmokeDetector
git config user.email "[email protected]"
git config user.name "SmokeDetector"
git checkout deploy
sudo pip3 install -r requirements.txt --upgrade
pip3 install --user -r user_requirements.txt --upgrade
Next, copy config.sample
to a new file called config
,
and edit the values required.
To run, use python3 nocrash.py
(preferably in a daemon-able mode, like a screen
session.)
You can also use python3 ws.py
,
but then SmokeDetector will be shut down after 6 hours;
when running from nocrash.py
, it will be restarted.
(This is to be sure that closed websockets, if any, are reopened.)
Running in a virtual environment is a good way to isolate dependency packages from your local system. To set up SmokeDetector in a virtual environment, please use
git clone https://github.com/Charcoal-SE/SmokeDetector.git
cd SmokeDetector
git config user.email "[email protected]"
git config user.name "SmokeDetector"
git checkout deploy
python3 -m venv env
env/bin/pip3 install -r requirements.txt --upgrade
env/bin/pip3 install --user -r user_requirements.txt --upgrade
Next, copy the config file and edit as said above.
To run SmokeDetector in this virtual environment, use
env/bin/python3 nocrash.py
.
SmokeDetector only supports Stack Exchange logins, and runs on Python 3.5 or higher, for now.
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.