From eccf69f4a4413294b58605cf0a7da6fd85d44bed Mon Sep 17 00:00:00 2001 From: Robert Jackson Date: Wed, 16 Jan 2013 05:38:03 +0000 Subject: [PATCH] Make github automated status less noisy. * Only print the status if the current status is worse than 'minor'. * Only print the status if the current status is different than the previous message. --- plugin/github_status_cinch_plugin.rb | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/plugin/github_status_cinch_plugin.rb b/plugin/github_status_cinch_plugin.rb index 6ce3bfe..6104691 100644 --- a/plugin/github_status_cinch_plugin.rb +++ b/plugin/github_status_cinch_plugin.rb @@ -14,19 +14,24 @@ def self.help PluginCommand.new("'.github last message'","Show latest manual status update for Github.")] end - timer 900, method: :status + timer 900, method: :automated_status + match /github automated status/, method: :automated_status + def automated_status(m=nil) + message = "github status: \x02#{last_message['created_on']}\x02 - \x02#{last_message['status']}\x02" + + if last_message != @previous_last_message && !['good','minor'].include?(last_message['status']) + bot.channel_list.each{|c| c.send(message)} + end + + @previous_last_message = last_message + end + match /github status/, :method => :status - def status(m=nil) + def status(m) data = get_json_data('https://status.github.com/api/status.json') message = "github status: \x02#{data['last_updated']}\x02 - \x02#{data['status']}\x02" - if m - m.reply message - else - if data['status'] != 'good' - bot.channel_list.each{|c| c.send(message)} - end - end + m.reply message end match /github last message/, :method => :last_message