diff --git a/scripts/hubot-sumologic-image-widget/widgetFinder.coffee b/scripts/hubot-sumologic-image-widget/widgetFinder.coffee index e2e7eb6..d4b1d1b 100644 --- a/scripts/hubot-sumologic-image-widget/widgetFinder.coffee +++ b/scripts/hubot-sumologic-image-widget/widgetFinder.coffee @@ -6,8 +6,6 @@ sumoToken = process.env.SUMOLOGIC_TOKEN || "ZnJvbnRlbmRAdGVhZHMudHY6RzhMZGNK class WidgetFinder constructor: (@name, @robot) -> @config = _.get(mapping, @name) - if _.isUndefined(@config) - robot.logger.error "The widget '#{@name}' isn't mapped yet !" exists: () -> not _.isUndefined(@config) diff --git a/scripts/sumo-main.coffee b/scripts/sumo-main.coffee index f18dee0..42ce526 100644 --- a/scripts/sumo-main.coffee +++ b/scripts/sumo-main.coffee @@ -3,11 +3,50 @@ WidgetFinder = require './hubot-sumologic-image-widget/widgetFinder' module.exports = (robot) -> robot.respond /sumo (.*)/i, (result) -> - widget = new WidgetFinder(result.match[1], robot) - if widget.exists() - result.reply "Sure ! I process it and send you this one here !" - widget.getData(result.message) + argz = result.match[1].split(' ') + n = argz.length + # WARNING: Slack replaces "--" with "-" ! + # FIXME: do this with a regex + + verbose = false + if argz.indexOf('-v') > -1 + verboseOptIndex = argz.indexOf('-v') + else + verboseOptIndex = argz.indexOf('-verbose') + + if verboseOptIndex > -1 + verbose = true + argz.splice(verboseOptIndex, 1) # remove it from argz + n = argz.length + + if argz.indexOf('-a') > -1 + addOptIndex = argz.indexOf('-a') else - result.reply "I don't know this widget sorry... :disappointed:" + addOptIndex = argz.indexOf('—add') + if addOptIndex > -1 + # add a widget to config + argz.splice(addOptIndex, 1) # remove it from argz + n = argz.length + # DIRTY!!! + # we should have --name "name" etc + if n >= 4 + name = argz[0] + dashboardId = argz[1] + widgetId = argz[2] + type = argz[3] + + result.reply "Ok, I'll remember the widget " + name + " (id " + widgetId + " - dashboardId " + dashboardId + " - type " + type + ")." + else + result.reply "To add a widget, I need 4 pieces of information!" + + else + if n > -1 + widgetName = argz[n-1] + widget = new WidgetFinder(widgetName, robot) + if widget.exists() + result.reply "I know this widget, let me grab it for you ;)" + widget.getData(result.message) + else + result.reply "I don't know this widget sorry... :disappointed:" diff --git a/scripts/welcome.coffee b/scripts/welcome.coffee index 032c7fe..6512bc9 100644 --- a/scripts/welcome.coffee +++ b/scripts/welcome.coffee @@ -12,7 +12,7 @@ getRandomItem = (items) => items[Math.floor(Math.random()*items.length)] module.exports = (robot) -> - robot.messageRoom "general", "Hubot is back !!!!!! :banana:" + # robot.messageRoom "general", "Hubot is back !!!!!! :banana:" responses = [ "uk:Hello!" @@ -54,4 +54,4 @@ module.exports = (robot) -> res.reply ":flag-" + randomResponse[0] + ": " + randomResponse[1] robot.hear /(bichour)/i, (res) -> - res.reply "Bichour toi" \ No newline at end of file + res.reply "Bichour toi"