Class: Pug::TelegramClient

Inherits:
Interfaces::Client show all
Defined in:
lib/pug/telegram_client.rb

Overview

The client for Telegram interactions

Instance Method Summary collapse

Constructor Details

#initialize(token, chat_id) ⇒ TelegramClient

Returns a new instance of TelegramClient.

Parameters:

  • token (String)

    API token for Telegram bot

  • chat_id (String)

    Chat id for Telegram bot



10
11
12
13
# File 'lib/pug/telegram_client.rb', line 10

def initialize(token, chat_id)
  @token = token
  @chat_id = chat_id
end

Instance Method Details

#configure_keyboard(keyboard_markup) ⇒ Object

Configures keyboard with provided markup This can be useful to make shortcuts for Commands

Parameters:

  • keyboard_markup (Array<Array<String>>)

    A 2D array of strings used to populate on the keyboard



19
20
21
# File 'lib/pug/telegram_client.rb', line 19

def configure_keyboard(keyboard_markup)
  @keyboard_markup = keyboard_markup || []
end

#listen {|text| ... } ⇒ Object

Yield Parameters:



25
26
27
28
29
30
31
32
33
34
# File 'lib/pug/telegram_client.rb', line 25

def listen
  perform_with_bot do |bot|
    bot.listen do |message|
      next if message.nil?
      text = message.text
      next if text.nil?
      yield text
    end
  end
end

#send_message(message) ⇒ void

This method returns an undefined value.

Override of Interfaces::Client#send_message



38
39
40
41
# File 'lib/pug/telegram_client.rb', line 38

def send_message(message)
  return if message.to_s.empty?
  send_telegram_message(message)
end