Sha256: 5648c7239996f3d01612e475b51bccc4350644145abb0562d3ad1421bd6ca686

Contents?: true

Size: 1.03 KB

Versions: 1

Compression:

Stored size: 1.03 KB

Contents

require_relative 'telegram_bot/version'
require_relative 'telegram_bot/objects'
require_relative 'telegram_bot/handler'
require_relative 'telegram_bot/request'
require_relative 'telegram_bot/request_methods'
require_relative 'telegram_bot/poll_listener'
require_relative 'telegram_bot/shorthand_methods'


class TelegramBot
  include TelegramBot::EventHandler
  include TelegramBot::Request
  include TelegramBot::RequestMethods

  attr_accessor :history

  def initialize(history: 50)
    @history = []
    @history_length = 50
  end

  def listen(method: :poll, interval: 5, path: '/hook')
    @listen = {
      method:   method,
      interval: interval,
      path:     path
    }
  end

  def extend_env(env)

  end

  def append_history(message)
    @history << message
    @history = @history.last(@history_length || 0)
  end

  def start!
    listener = nil
    case @listen[:method]
    when :poll
      listener = PollListener.new(self, @listen[:interval])
    when :webhook
      warn 'not implemented'
    end
    listener.start!
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
telegram_bot_ruby-0.1.5 lib/telegram_bot.rb