lib/telegram/bot.rb in telegram-bot-0.5.0 vs lib/telegram/bot.rb in telegram-bot-0.6.0

- old
+ new

@@ -5,9 +5,28 @@ module Bot class Error < StandardError; end class NotFound < Error; end + # Error class for events when chat is not available anymore for bot. + # While Telegram has same error codes for different messages and there is no + # official docs for this error codes it uses `description` to + # check response. + class StaleChat < Error + DESCRIPTIONS = [ + 'bot was kicked', + "can't write to", + 'group chat is deactivated', + ].freeze + + class << self + def match_response?(response) + description = response['description'].to_s + DESCRIPTIONS.any? { |x| description[x] } + end + end + end + autoload :Client, 'telegram/bot/client' autoload :ClientStub, 'telegram/bot/client_stub' autoload :Middleware, 'telegram/bot/middleware' autoload :UpdatesController, 'telegram/bot/updates_controller' autoload :UpdatesPoller, 'telegram/bot/updates_poller'