1

I have a Slack Bot that needs to respond in an error condition. If the error has certain text in it, I want to append some additional information to the return message. This block of code works fine if I comment out the message += line but breaks if I do not. When I try to replicate this in irb everything works fine too.

Does something look obviously wrong here?

begin
  scan = @nsc.scan_devices(devices)
rescue Nexpose::APIError => e
  puts "[!] API ERROR: Most likely caused by an orphaned asset (#{device_ids})"
  puts "[!] #{e}"
  $slackbot_logger.error("[!] API ERROR: Most likely caused by an orphaned asset (#{device_ids})")
  $slackbot_logger.error(e)

  # Message back to Slack
  message = "<@#{user_id}> scan for #{ip_list} *failed* :sob:"
  message += 'There is a scheduled blackout Tues/Thurs until 1000 CST' if e.include? 'blackout'

  SlackFunctions.slack_send_message(message, channel)
  return
end

1 Answers1

1

This particular error object (and maybe all error objects) did not have an include? method. Therefore using e.to_s seems to do the trick.