Telegram Bot Api library for Ruby. See https://core.telegram.org/bots/api.
Every method and data structure is supported.
Classes:
Bot: a bot associated with a token.
Message: a message structure returned by getUpdates.
Every data type is represented as a OpenStruct object.
For example, to create a ReplyKeyboardMarkup object to pass to send_message:
kdb = {
:keyboard => [[ "a" ], [ "b" ]],
:selective => true,
:one_time_keyboard => true,
}
bot.send_message(chat_id, text, reply_markup: kdb)
Methods:
Mandatory arguments are given in their order; optional arguments are given as `key: value` pairs,
e.g. send_message(chat_id, "text", reply: msg.message_id) after mandatory arguments.
Note that `reply_to_message` is `reply` for every method.
Bot.new(token): creates a new bot with authentication token.
send_message: sendMessage
note: disable_web_page_preview is disable_preview
send_photo: sendPhoto
send_photo_bytestring(chat_id, data, reply:): send binary data as jpg image
send_audio: sendAudio
send_document: sendDocument
send_sticker: sendSticker
send_video: sendVideo
send_voice: sendVoice
send_location: sendLocation
send_action: sendChatAction
get_userphotos: getUserProfilePhotos
get_updates(callback:): getUpdates
note: the optional argument callback: is called on http error with the request body as the only argument.
set_webhook: setWebhook
get_file: getFile
answer_inline_query: answerInlineQuery
See in the examples/ folder for a minimal bot using the API; also see https://github.com/webgiorno/lainbot for a full bot.