{"id":21379665,"url":"https://github.com/andreimarcu/aamnews","last_synced_at":"2025-07-13T12:30:42.846Z","repository":{"id":9577948,"uuid":"11492942","full_name":"andreimarcu/aamnews","owner":"andreimarcu","description":"IRC RSS-feed aggregator ","archived":false,"fork":false,"pushed_at":"2015-06-17T21:42:38.000Z","size":248,"stargazers_count":7,"open_issues_count":11,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2023-08-02T05:42:41.862Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"knxroot/bdcut-cl","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andreimarcu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-07-18T02:57:51.000Z","updated_at":"2023-08-02T05:42:41.863Z","dependencies_parsed_at":"2022-07-30T01:18:00.053Z","dependency_job_id":null,"html_url":"https://github.com/andreimarcu/aamnews","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreimarcu%2Faamnews","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreimarcu%2Faamnews/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreimarcu%2Faamnews/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreimarcu%2Faamnews/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andreimarcu","download_url":"https://codeload.github.com/andreimarcu/aamnews/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225879791,"owners_count":17538674,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-22T10:22:29.428Z","updated_at":"2024-11-22T10:22:30.056Z","avatar_url":"https://github.com/andreimarcu.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"aamnews\n======\nIRC feed parser with multiple channel/user capabilities.\n\nBased on a very stripped down version of a fork of the IRC bot phenny by [mutantmonkey](https://github.com/mutantmonkey/phenny)\n\nRequirements\n------------\n* Python 3.2+\n* [python-requests](http://docs.python-requests.org/en/latest/)\n* [tweepy](https://github.com/tweepy/tweepy)\n* [praw](https://praw.readthedocs.org/en/v2.1.20/)\n* ~~[feedparser](https://code.google.com/p/feedparser/)~~ - however right now it's manually overridden since some issues with python3 are not yet fixed in upstream.\n\nInstallation\n------------\n\n1. ```git clone https://github.com/andreimarcu/aamnews.git```\n2. ```pip3 install -r requirements.txt```\n3. Copy config.example.py to config.py and edit.\n4. ```python3 phenny -c config.py```\n\nDesign\n------\n__Feeds__ are things you want updates from (RSS feeds, etc).  \n__Channels__ have feeds.  \n__Owners__ have channels.\n\n\nUsage\n-------\n\nOnce the bot connects to the IRC network, you can message it commands.  \nThe global owner, as defined in the config, can issue all commands and does not to need to be added to every channel's owners.\n\nRight 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. \n\nCommands\n--------\n\n#### Global owner (in any channel or in private message)\n\nStart updating feeds\n```\n.start\n```\n\nStop updating feeds\n```\n.stop\n```\n\nAdd a channel (max_blast is the number of items to blast maximum per update, should be 0 for unlimited blasts) and join  \n```\n.add_channel \"#channel\" max_blast\n```\n\nDelete a channel and part\n```\n.del_channel #channel\n```\n\nList channels\n```\n.list_channels\n```\n\nJoin all channels (happens at startup, but if bot was kicked, it can be useful)  \n```\n.join_channels\n```\n\nAdd owner to a channel (to be done in said channel)\n```\n.add_owner hostname\n```\nDelete an owner from a channel (to be done in said channel)\n```\n.del_owner hostname\n```\n\nAdd feeds to a (different) channel  \n```\n.add_feed_to_channel \u003ctype\u003e \"\u003cchannel\u003e\" \"\u003cname\u003e\" (\"\u003coptions\u003e\", ...)  \n```\n```\n.add_feed_to_channel rss \"#channel\" \"Feed Name\" \"https://url\"  \n```\n```\n.add_feed_to_channel reddit_subreddit \"#channel\" \"Feed Name\" \"subreddit_name\" \"new|top|hot\"  \n```\n```\n.add_feed_to_channel reddit_comments \"#channel\" \"Feed Name\" \"https://url\"  \n```\n```\n.add_feed_to_channel reddit_search \"#channel\" \"Feed Name\" \"subreddit_name\" \"search query\"  \n```\n```\n.add_feed_to_channel twitter_user \"#channel\" \"Feed Name\" \"twitter_screenname\" \"yes|no\" (with replies or without)   \n```\n```\n.add_feed_to_channel twitter_search \"#channel\" \"Feed Name\" \"search terms\"  \n```\n\n#### Channel owner\n\nGet max_blast\n```\n.max_blast\n```\n\nSet max_blast\n```\n.max_blast \u003cmax_blast\u003e\n```\n\nAdd a feed to a channel (to do in said channel)  \n```\n.add_feed \u003ctype\u003e \"\u003cname\u003e\" (\"\u003coptions\u003e\", ...)  \n```\n```\n.add_feed rss \"Feed Name\" \"https://url\"  \n```\n```\n.add_feed reddit_subreddit \"Feed Name\" \"subreddit_name\" \"new|top|hot\"  \n```\n```\n.add_feed reddit_comments \"Feed Name\" \"https://url\"  \n```\n```\n.add_feed reddit_search \"Feed Name\" \"subreddit_name\" \"search query\"  \n```\n```\n.add_feed twitter_user \"Feed Name\" \"twitter_screenname\" \"yes|no\" (with replies or without)  \n```\n```\n.add_feed twitter_search \"Feed Name\" \"search terms\"    \n```\n\nDelete a feed from a channel (to do in said channel)  \n```\n.del_feed Feed Name\n```\n\n##### Anyone\nList feeds for current channel\n```\n.list_feeds\n```\n\nList owners for the current channel (to be done in said channel)\n```\n.list_owners\n```\n\n\nLogging\n-------\n\nPhenny's own console output will show details for every run (time spent, feeds that had items to blast, etc) \n\nAuthor\n-------\nAndrei Marcu, http://andreim.net/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreimarcu%2Faamnews","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandreimarcu%2Faamnews","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreimarcu%2Faamnews/lists"}