Name: nyt-campfinbot
Owner: NYT Newsroom Developers
Description: A SlackBot for notifying NYTimes reporters and editors about filings to the Federal Election Commission's web site.
Created: 2015-10-07 13:10:02.0
Updated: 2016-09-28 20:24:08.0
Pushed: 2016-06-14 15:24:27.0
Homepage: null
Size: 29
Language: Python
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
A Python-based SlackBot derived from SlackHQ's remarkable RTMBot
This bot uses MongoDB instead of the filesystem for persistence. You can install MongoDB locally (default) or export CAMPFINBOT_MONGO_URL
with your custom connection string.
install mongodb
sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
chctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
Create a virtualenv and install the required packages.
rtualenv nyt-campfinbot && pip install -r requirements.txt
Create a bot integration for your campfinbot and get the channel ID. Then export the channel ID and the token.
rt CAMPFINBOT_SLACK_CHANNEL=C012345
rt CAMPFINBOT_SLACK_TOKEN=ABCEFGHIJKLMNOPQRSTUVWXYZ01234567890
Export the hosts for preloaded data.
FINBOT_CANDIDATES_HOST=interactive-api.newsdev.nytimes.com
FINBOT_FILINGS_HOST=projects.nytimes.com
Create the log file if it doesn't exist.
h /tmp/campfinbot.log
Preload data for the bot. It needs some committees and would appreciate knowing about old filings so it doesn't spam your slack channel with stuff you already know about.
on -m campfinbot.preload
Run the bot itself.
on -m campfinbot.bot
Tail the log to see what's going on.
-f /tmp/campfinbot.log
/etc/init/campfinbot.conf
and use this template.t on runlevel [2345]
on runlevel [!2345]
respawn
script export CAMPFINBOT_CANDIDATES_HOST='interactive-api.newsdev.nytimes.com' export CAMPFINBOT_SLACK_CHANNEL='C012345' export CAMPFINBOT_FILINGS_HOST='projects.nytimes.com' export CAMPFINBOT_SLACK_TOKEN='xoxb-1234567890-AbcDefGhijkLmNOpQRstUvWXyz' export CAMPFINBOT_PRD_HOST='ec2-0-0-0-0.compute-99.amazonaws.com' export CAMPFINBOT_MONGO_URL='127.0.0.1:12345' cd /home/ubuntu/nyt-campfinbot && /home/ubuntu/.virtualenvs/nyt-campfinbot/bin/python /home/ubuntu/nyt-campfinbot/campfinbot/bot.py end script