Headless chatbot that detects spam and posts links to it to chatrooms for quick deletion.
Clone or download
Pull request Compare This branch is 15579 commits behind Charcoal-SE:master.
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.
ChatExchange @ 7e67297
classes
test
.gitignore
.gitmodules
.pullapprove.yml
.travis.yml
Dockerfile
LICENSE-APACHE
LICENSE-MIT
README.md
RevertedMode.md
StandbyMode.md
apigetpost.py
bad_keywords.txt
blacklisted_usernames.txt
blacklisted_websites.txt
bodyfetcher.py
chatcommands.py
chatcommunicate.py
chatexchange_extension.py
circle.yml
cloud-init
codecov.yml
config.ci
config.sample
datahandling.py
deletionwatcher.py
excepthook.py
findspam.py
fix_pickles.py
gitmanager.py
globalvars.py
helpers.py
install_dependencies.sh
metasmoke.py
nocrash.py
nocrash.sh
parsing.py
queue_timings.py
requirements.txt
setup.sh
spamhandling.py
tox.ini
tox_classes.ini
tox_tests.ini
user_requirements.txt
utcdate.py
watched_keywords.txt
ws.py

README.md

SmokeDetector

Build Status Circle CI codecov

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

User documentation is in the wiki.

To set up, use

git config --global user.email "you@example.com"
git config --global user.name "Your Name"

git clone https://github.com/Charcoal-SE/SmokeDetector.git
cd SmokeDetector
git submodule init
git submodule update
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)

You can run . ChatExchange/setp.sh to set local environment variables so that you don't have to log in every time.

SmokeDetector only supports Stack Exchange OpenIDs for now.

License

Licensed under either of

at your option.

Contribution

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.