Sha256: 200a48f8d350203a85f13d12a84d503ac57143e91d71856ba31fef84488c93e3

Contents?: true

Size: 1.16 KB

Versions: 4

Compression:

Stored size: 1.16 KB

Contents

require 'telegram/bot/config_methods'

module Telegram
  extend Bot::ConfigMethods

  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 :Botan,              'telegram/bot/botan'
    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'
  end
end

require 'telegram/bot/railtie' if defined?(Rails)

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
telegram-bot-0.8.0 lib/telegram/bot.rb
telegram-bot-0.7.4 lib/telegram/bot.rb
telegram-bot-0.7.3 lib/telegram/bot.rb
telegram-bot-0.7.2 lib/telegram/bot.rb