)]}'
{"specs/irc.rst":[{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"659f5ae743de7d094c56425892fd5e50b3ed4ffd","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"* Install limnoria on eavesdrop, to replace supybot"},{"line_number":80,"context_line":"* Configure freenode1 and freenode2 networks, using openstack1 and openstack2 nicks"},{"line_number":81,"context_line":"* Add all channels to the config, splitting across freenode1 and freenode2"},{"line_number":82,"context_line":"* Set all channels to extban based on #openstack so it\u0027s easy to"},{"line_number":83,"context_line":"  update a global ban list."},{"line_number":84,"context_line":"* Add a plugin to watch for highlight spam, and automatically kick"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f96bb07_47eba4af","line":81,"updated":"2018-01-10 17:38:09.000000000","message":"Optionally, generate the per-bot configs with some sort of sharding routine driven from a single list in Git so people don\u0027t need to worry about manual rebalancing.","commit_id":"67d95bf15f3bb2500fc191e86f38c1ef9425f24b"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"d14bbce02388e163771eeaaeffeaa0bb1516f142","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"* Install limnoria on eavesdrop, to replace supybot"},{"line_number":80,"context_line":"* Configure freenode1 and freenode2 networks, using openstack1 and openstack2 nicks"},{"line_number":81,"context_line":"* Add all channels to the config, splitting across freenode1 and freenode2"},{"line_number":82,"context_line":"* Set all channels to extban based on #openstack so it\u0027s easy to"},{"line_number":83,"context_line":"  update a global ban list."},{"line_number":84,"context_line":"* Add a plugin to watch for highlight spam, and automatically kick"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f96bb07_0cd83c51","line":81,"updated":"2018-01-11 22:45:30.000000000","message":"That\u0027s what I meant by the item 3 lines below...","commit_id":"67d95bf15f3bb2500fc191e86f38c1ef9425f24b"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"32e9d1d872a77f8bb483708c0329922c793997bb","unresolved":false,"context_lines":[{"line_number":82,"context_line":"* Set all channels to extban based on #openstack so it\u0027s easy to"},{"line_number":83,"context_line":"  update a global ban list."},{"line_number":84,"context_line":"* Add a plugin to watch for highlight spam, and automatically kick"},{"line_number":85,"context_line":"  accounts and add a ban to #openstack"},{"line_number":86,"context_line":"* Auto-generate the limnoria config based on a yaml file with channel descriptions"},{"line_number":87,"context_line":"* Convert statusbot into a plugin and retire"},{"line_number":88,"context_line":"* Convert gerritbot into a plugin and retire"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f96bb07_a80f3e35","line":85,"updated":"2018-01-16 19:51:41.000000000","message":"Something i noticed talked about in #freenode with all this recent spam was the Sigyn bot [1], which is also a Limnoria plugin\n\nthe idea is to invite it to your channel from wherever freenode are running it.  This would mean we don\u0027t have to do much, which is always appealing :)  with it\u0027s pattern stuff, it seems like we benefit from the global instance if freenode operators are monitoring things.\n\nOf course we could go one step further and integrate it.  tbh, after looking at [2] ... there is a big opportunity for contributions from our general openstack experience on how to make more maintainable python (packaging, testing, docs, db abstraction, etc etc).  Might be better than re-writing our own thing, however.\n\n@jeblair having thought most about this, might be good if you evaluate it and mention it in the alternatives at least?\n\n[1] https://github.com/freenode/Sigyn\n[2] https://github.com/freenode/Sigyn/blob/master/plugin.py","commit_id":"67d95bf15f3bb2500fc191e86f38c1ef9425f24b"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"60159b6937053d2630603255c509be14b696c2a5","unresolved":false,"context_lines":[{"line_number":82,"context_line":"* Set all channels to extban based on #openstack so it\u0027s easy to"},{"line_number":83,"context_line":"  update a global ban list."},{"line_number":84,"context_line":"* Add a plugin to watch for highlight spam, and automatically kick"},{"line_number":85,"context_line":"  accounts and add a ban to #openstack"},{"line_number":86,"context_line":"* Auto-generate the limnoria config based on a yaml file with channel descriptions"},{"line_number":87,"context_line":"* Convert statusbot into a plugin and retire"},{"line_number":88,"context_line":"* Convert gerritbot into a plugin and retire"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f96bb07_2c3d622a","line":85,"updated":"2018-01-17 15:25:49.000000000","message":"The Freenode instance of Sigyn is not a permanent solution -- she leaves channels after spam has ceased for a few days.  They also don\u0027t always add her to channels after being invited.  I don\u0027t know that it\u0027s practical to continuously invite her to 200 channels.\n\nOf course, if we wanted to use Sigyn in our bot, that would be fine.","commit_id":"67d95bf15f3bb2500fc191e86f38c1ef9425f24b"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"bf68f193b113023d8cae97aecc329494a7766271","unresolved":false,"context_lines":[{"line_number":82,"context_line":"* Set all channels to extban based on #openstack so it\u0027s easy to"},{"line_number":83,"context_line":"  update a global ban list."},{"line_number":84,"context_line":"* Add a plugin to watch for highlight spam, and automatically kick"},{"line_number":85,"context_line":"  accounts and add a ban to #openstack"},{"line_number":86,"context_line":"* Auto-generate the limnoria config based on a yaml file with channel descriptions"},{"line_number":87,"context_line":"* Convert statusbot into a plugin and retire"},{"line_number":88,"context_line":"* Convert gerritbot into a plugin and retire"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f96bb07_808008c1","line":85,"in_reply_to":"7f96bb07_4811cc03","updated":"2018-01-17 07:58:13.000000000","message":"I like Sigyn, but keep in mind that she doesn\u0027t like other bots and has at least once klined one of our bots, so if we want to go this path, advance coordination with the #freenode admins will be necessary.","commit_id":"67d95bf15f3bb2500fc191e86f38c1ef9425f24b"},{"author":{"_account_id":9061,"name":"David Moreau Simard","email":"moi@dmsimard.com","username":"dmsimard"},"change_message_id":"13943c8dbd0d4e34d3982e9f96ad0c063fb1fa37","unresolved":false,"context_lines":[{"line_number":82,"context_line":"* Set all channels to extban based on #openstack so it\u0027s easy to"},{"line_number":83,"context_line":"  update a global ban list."},{"line_number":84,"context_line":"* Add a plugin to watch for highlight spam, and automatically kick"},{"line_number":85,"context_line":"  accounts and add a ban to #openstack"},{"line_number":86,"context_line":"* Auto-generate the limnoria config based on a yaml file with channel descriptions"},{"line_number":87,"context_line":"* Convert statusbot into a plugin and retire"},{"line_number":88,"context_line":"* Convert gerritbot into a plugin and retire"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f96bb07_4811cc03","line":85,"in_reply_to":"7f96bb07_a80f3e35","updated":"2018-01-17 05:13:50.000000000","message":"You know, I feel this is such a great idea. Thank you for bringing it up.\n\nFreenode has been good to us for all these years, we have an awesome and useful opportunity to give something back.\n\nImproving Sigyn makes our lives easier while keeping complaints on #freenode about spam to a minimum.\n\nThis would be a great example of the OpenStack community working outside it\u0027s borders.\n\nIt\u0027s probably not the most \"effective\" short term way of solving our problem but the good choices aren\u0027t always the most effective immediately (or effective at all).","commit_id":"67d95bf15f3bb2500fc191e86f38c1ef9425f24b"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"d14bbce02388e163771eeaaeffeaa0bb1516f142","unresolved":false,"context_lines":[{"line_number":83,"context_line":"  update a global ban list."},{"line_number":84,"context_line":"* Add a plugin to watch for highlight spam, and automatically kick"},{"line_number":85,"context_line":"  accounts and add a ban to #openstack"},{"line_number":86,"context_line":"* Auto-generate the limnoria config based on a yaml file with channel descriptions"},{"line_number":87,"context_line":"* Convert statusbot into a plugin and retire"},{"line_number":88,"context_line":"* Convert gerritbot into a plugin and retire"},{"line_number":89,"context_line":"* Convert recheckwatch into a plugin and retire"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f96bb07_acdca846","line":86,"updated":"2018-01-11 22:45:30.000000000","message":"... ^ This one.  Just trying to order by urgency/complexity.","commit_id":"67d95bf15f3bb2500fc191e86f38c1ef9425f24b"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"bf68f193b113023d8cae97aecc329494a7766271","unresolved":false,"context_lines":[{"line_number":86,"context_line":"* Auto-generate the limnoria config based on a yaml file with channel descriptions"},{"line_number":87,"context_line":"* Convert statusbot into a plugin and retire"},{"line_number":88,"context_line":"* Convert gerritbot into a plugin and retire"},{"line_number":89,"context_line":"* Convert recheckwatch into a plugin and retire"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Repositories"},{"line_number":92,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f96bb07_204a54ab","line":89,"updated":"2018-01-17 07:58:13.000000000","message":"Not sure where to put this and not sure which bot does this, but we could use a bot that expands story URLs/IDs with their title and maybe other information similar to what currently happens for launchpad bugs. https://storyboard.openstack.org/#!/story/2001476\n\nBut this could be done in a followup, too.","commit_id":"67d95bf15f3bb2500fc191e86f38c1ef9425f24b"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"60159b6937053d2630603255c509be14b696c2a5","unresolved":false,"context_lines":[{"line_number":86,"context_line":"* Auto-generate the limnoria config based on a yaml file with channel descriptions"},{"line_number":87,"context_line":"* Convert statusbot into a plugin and retire"},{"line_number":88,"context_line":"* Convert gerritbot into a plugin and retire"},{"line_number":89,"context_line":"* Convert recheckwatch into a plugin and retire"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Repositories"},{"line_number":92,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f96bb07_cc45deb5","line":89,"updated":"2018-01-17 15:25:49.000000000","message":"The goal of this spec is for all of our \"bots\" to be plugins of a single bot, so sure, we can add that later.","commit_id":"67d95bf15f3bb2500fc191e86f38c1ef9425f24b"}]}
