Advertisement
Azure

non-working except from twitter6

Dec 27th, 2011
440
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.50 KB | None | 0 0
  1. module Plugins
  2.   module Twitter
  3.     class Error
  4.       exceptions = {
  5.         Twitter::Error::BadRequest => "Bad request! (rate limit exceeded? Warn Azure when this occurs.)",
  6.         Twitter::Error::Unauthorized => "%<username>s's account seems to be protected.",
  7.         Twitter::Error::Forbidden => "Suspended!",
  8.         Twitter::Error::NotFound => "The account \"%<username>s\" seems to be not found!",
  9.         Twitter::Error::NotAcceptable => "An invalid format is specified in the search request.",
  10.         Twitter::Error::EnhanceYourCalm => "Enhance your calm. %<bot_nick>s is being rate limited.",
  11.         Twitter::Error::InternalServerError => "Something seems to be broken! Please try again in a minute.",
  12.         Twitter::Error::BadGateway => "Twitter seems to be down, or is being upgraded. Please try again in a minute.",
  13.         Twitter::Error::ServiceUnavailable => "Twitter is currently under heavy load. Please try again in a few minutes, and hopefully it'll clear up." }
  14.      
  15.       def self.HandleError ex, params={}
  16.         params = {
  17.           username: nil,
  18.           bot_nick: nil
  19.         }.merge(params).delete_if { |key,value| ![:username,:bot_nick].include?(key) }
  20.        
  21.         exceptions[ex] % params;
  22.     end
  23.   end
  24. end
  25.  
  26. # elsewhere:
  27. require_relative 'twitter/error'
  28.  
  29. module Plugins
  30.   module Twitter
  31.     class Client
  32.       include Plugins::Twitter::Error
  33.       # etc.
  34.     rescue Twitter::Error => ex
  35.       puts HandleError ex, username: params[:username], bot_nick: @bot.nick
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement