module Xtend::TelegramAdapter

Public Instance Methods

run() click to toggle source
# File lib/xtend/telegram_adapter.rb, line 5
def run
  client.listen do |message|
    user = Lita::User.find_by_id(message.from.id)
    user = Lita::User.create(message.from.id, name: message.from.username) unless user

    chat = Lita::Room.new(message.chat.id)

    source = Lita::Source.new(user: user, room: chat)

    message.text ||= ''
    msg = Lita::Message.new(robot, message.text, source)

    robot.receive(msg)
  end
end
send_messages(target, messages) click to toggle source
# File lib/xtend/telegram_adapter.rb, line 22
def send_messages(target, messages)
  messages.each do |message|
    typing(target)
    if message.is_a?(String)
      client.api.sendMessage(chat_id: target.room.to_i, text: message)
    elsif message.is_a?(Hash)
      client.api.sendMessage(chat_id: target.room.to_i, **message)
    else
      next
    end
    robot.trigger(:message_sended, message: message, target: target)
  end
end
typing(target) click to toggle source
# File lib/xtend/telegram_adapter.rb, line 36
def typing(target)
  client.api.sendChatAction(chat_id: target.room.to_i, action: 'typing')
end