Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module Plugins
- module Twitter
- class Error
- exceptions = {
- Twitter::Error::BadRequest => "Bad request! (rate limit exceeded? Warn Azure when this occurs.)",
- Twitter::Error::Unauthorized => "%<username>s's account seems to be protected.",
- Twitter::Error::Forbidden => "Suspended!",
- Twitter::Error::NotFound => "The account \"%<username>s\" seems to be not found!",
- Twitter::Error::NotAcceptable => "An invalid format is specified in the search request.",
- Twitter::Error::EnhanceYourCalm => "Enhance your calm. %<bot_nick>s is being rate limited.",
- Twitter::Error::InternalServerError => "Something seems to be broken! Please try again in a minute.",
- Twitter::Error::BadGateway => "Twitter seems to be down, or is being upgraded. Please try again in a minute.",
- Twitter::Error::ServiceUnavailable => "Twitter is currently under heavy load. Please try again in a few minutes, and hopefully it'll clear up." }
- def self.HandleError ex, params={}
- params = {
- username: nil,
- bot_nick: nil
- }.merge(params).delete_if { |key,value| ![:username,:bot_nick].include?(key) }
- exceptions[ex] % params;
- end
- end
- end
- # elsewhere:
- require_relative 'twitter/error'
- module Plugins
- module Twitter
- class Client
- include Plugins::Twitter::Error
- # etc.
- rescue Twitter::Error => ex
- puts HandleError ex, username: params[:username], bot_nick: @bot.nick
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement