зеркало из
https://github.com/glebtv/telegram-bot.git
synced 2026-09-02 01:16:18 +03:00
43 строки
1.4 KiB
Ruby
43 строки
1.4 KiB
Ruby
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 blocked',
|
|
'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 :Async, 'telegram/bot/async'
|
|
autoload :Botan, 'telegram/bot/botan'
|
|
autoload :Client, 'telegram/bot/client'
|
|
autoload :ClientStub, 'telegram/bot/client_stub'
|
|
autoload :DebugClient, 'telegram/bot/debug_client'
|
|
autoload :Initializers, 'telegram/bot/initializers'
|
|
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)
|