Skip to content
Headless chatbot that detects spam and posts links to it to chatrooms for quick deletion.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
.github
classes
test
.gitattributes
.gitignore
.pullapprove.yml
.travis.yml
Dockerfile
InspectionReference.txt
LICENSE-APACHE
LICENSE-MIT
README.md
apigetpost.py
bad_keywords.txt
blacklisted_numbers.txt
blacklisted_usernames.txt
blacklisted_websites.txt
blacklists.py
bodyfetcher.py
chatcommands.py
chatcommunicate.py
chatexchange_extension.py
config.ci
config.sample
datahandling.py
deletionwatcher.py
excepthook.py
findspam.py
flovis.py
gitmanager.py
globalvars.py
helpers.py
install_dependencies.sh
metasmoke.py
nocrash.py
parsing.py
queue_timings.py
requirements.txt
rooms.yml
setup.sh
socketscience.py
spamhandling.py
tasks.py
tox.ini
tox_classes.ini
tox_tests.ini
user_requirements.txt
users.yml
util.py
watched_keywords.txt
watched_numbers.txt
ws.py

README.md

SmokeDetector

Build Status Circle CI Coverage Status Open issues Open PRs

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:

Example chat post

Documentation

User documentation is in the wiki.

Detailed documentation for setting up and running SmokeDetector is in the wiki.

Basic setup

To set up SmokeDetector, please use

git clone https://github.com/Charcoal-SE/SmokeDetector.git
cd SmokeDetector
git config user.email "smokey@erwaysoftware.com"
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.)

Virtual environment setup

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 "smokey@erwaysoftware.com"
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.

Requirements

SmokeDetector only supports Stack Exchange logins, and runs on Python 3.5 or higher, for now.

License

Licensed under either of

at your option.

Contribution Licensing

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.

You can’t perform that action at this time.