class Telebot::Bot
Constants
- DEFAULT_UPDATE_TIME
Default update time
Attributes
client[R]
processed_update_ids[R]
update_time[R]
Public Class Methods
new(token, update_time: DEFAULT_UPDATE_TIME)
click to toggle source
# File lib/telebot/bot.rb, line 8 def initialize(token, update_time: DEFAULT_UPDATE_TIME) @client = Client.new(token) @processed_update_ids = [] @update_time = update_time end
Public Instance Methods
run(&block)
click to toggle source
# File lib/telebot/bot.rb, line 14 def run(&block) loop do # Note: https://core.telegram.org/bots/api#getupdates # To mark an update as confirmed need to use offset+1 offset = @processed_update_ids.last && @processed_update_ids.last + 1 updates = @client.get_updates(offset: offset) updates.each do |update| next if @processed_update_ids.include?(update.update_id) process_update(update, block) @processed_update_ids << update.update_id end sleep(@update_time) end end
Private Instance Methods
process_update(update, block)
click to toggle source
# File lib/telebot/bot.rb, line 31 def process_update(update, block) block.call(client, update.message) end