IRC feed parser with multiple channel/user capabilities.
Based on a very stripped down version of a fork of the IRC bot phenny by mutantmonkey
- Python 3.2+
feedparser- however right now it's manually overridden since some issues with python3 are not yet fixed in upstream.
git clone https://github.com/andreimarcu/aamnews.git
pip3 install -r requirements.txt
- Copy config.example.py to config.py and edit.
python3 phenny -c config.py
Feeds are things you want updates from (RSS feeds, etc).
Channels have feeds.
Owners have channels.
Once the bot connects to the IRC network, you can message it commands.
The global owner, as defined in the config, can issue all commands and does not to need to be added to every channel's owners.
Right now, authentication for owners is done by hostname (very easy on oftc since there are registered username cloaks), however this might not be ideal for all networks.
Global owner (in any channel or in private message)
Start updating feeds
Stop updating feeds
Add a channel (max_blast is the number of items to blast maximum per update, should be 0 for unlimited blasts) and join
.add_channel "#channel" max_blast
Delete a channel and part
Join all channels (happens at startup, but if bot was kicked, it can be useful)
Add owner to a channel (to be done in said channel)
Delete an owner from a channel (to be done in said channel)
Add feeds to a (different) channel
.add_feed_to_channel <type> "<channel>" "<name>" ("<options>", ...)
.add_feed_to_channel rss "#channel" "Feed Name" "https://url"
.add_feed_to_channel reddit_subreddit "#channel" "Feed Name" "subreddit_name" "new|top|hot"
.add_feed_to_channel reddit_comments "#channel" "Feed Name" "https://url"
.add_feed_to_channel reddit_search "#channel" "Feed Name" "subreddit_name" "search query"
.add_feed_to_channel twitter_user "#channel" "Feed Name" "twitter_screenname" "yes|no" (with replies or without)
.add_feed_to_channel twitter_search "#channel" "Feed Name" "search terms"
Add a feed to a channel (to do in said channel)
.add_feed <type> "<name>" ("<options>", ...)
.add_feed rss "Feed Name" "https://url"
.add_feed reddit_subreddit "Feed Name" "subreddit_name" "new|top|hot"
.add_feed reddit_comments "Feed Name" "https://url"
.add_feed reddit_search "Feed Name" "subreddit_name" "search query"
.add_feed twitter_user "Feed Name" "twitter_screenname" "yes|no" (with replies or without)
.add_feed twitter_search "Feed Name" "search terms"
Delete a feed from a channel (to do in said channel)
.del_feed Feed Name
List feeds for current channel
List owners for the current channel (to be done in said channel)
Phenny's own console output will show details for every run (time spent, feeds that had items to blast, etc)
Andrei Marcu, http://andreim.net/