class Telbe::Bot

Constants

ENDPOINT

Public Class Methods

new(token:, proxy: nil) click to toggle source
# File lib/telbe/bot.rb, line 9
def initialize(token:, proxy: nil)
  @token = token
  @proxy = proxy
  @connection = Excon.new(ENDPOINT, persistent: true, proxy: @proxy)
end

Public Instance Methods

add_sticker_to_set(add_sticker_to_set_descriptor) click to toggle source
# File lib/telbe/sticker.rb, line 19
def add_sticker_to_set(add_sticker_to_set_descriptor)
  request(:addStickerToSet, add_sticker_to_set_descriptor)
end
answer_callback_query(answer_callback_query_descriptor) click to toggle source
# File lib/telbe/keyboard.rb, line 3
def answer_callback_query(answer_callback_query_descriptor)
  request(:answerCallbackQuery, answer_callback_query_descriptor)
end
answer_inline_query(answer_inline_query_descriptor) click to toggle source
# File lib/telbe/inline.rb, line 3
def answer_inline_query(answer_inline_query_descriptor)
  request(:answerInlineQuery, answer_inline_query_descriptor)
end
create_new_sticker_set(create_new_sticker_set_descriptor) click to toggle source
# File lib/telbe/sticker.rb, line 15
def create_new_sticker_set(create_new_sticker_set_descriptor)
  request(:createNewStickerSet, create_new_sticker_set_descriptor)
end
delete_chat_photo(get_chat_descriptor) click to toggle source
# File lib/telbe/chat.rb, line 49
def delete_chat_photo(get_chat_descriptor)
  request(:deleteChatPhoto, get_chat_descriptor)
end
delete_chat_sticker_set(get_chat_descriptor) click to toggle source
# File lib/telbe/chat.rb, line 77
def delete_chat_sticker_set(get_chat_descriptor)
  request(:deleteChatStickerSet, get_chat_descriptor)
end
delete_sticker_from_set(delete_sticker_from_set_descriptor) click to toggle source
# File lib/telbe/sticker.rb, line 27
def delete_sticker_from_set(delete_sticker_from_set_descriptor)
  request(:deleteStickerFromSet, delete_sticker_from_set_descriptor)
end
delete_webhook() click to toggle source
# File lib/telbe/webhook.rb, line 7
def delete_webhook
  request(:deleteWebhook)
end
edit_message_live_location(edit_message_live_location_descriptor) click to toggle source
# File lib/telbe/location.rb, line 7
def edit_message_live_location(edit_message_live_location_descriptor)
  Message.new(request(:editMessageLiveLocation, edit_message_live_location_descriptor))
end
get_chat(get_chat_descriptor) click to toggle source
# File lib/telbe/chat.rb, line 3
def get_chat(get_chat_descriptor)
  Chat.new(request(:getChat, get_chat_descriptor))
end
get_chat_administrators(get_chat_descriptor) click to toggle source
# File lib/telbe/chat.rb, line 7
def get_chat_administrators(get_chat_descriptor)
  request(:getChatAdministrators, get_chat_descriptor).collect! do |chat_administrator|
    ChatMember.new(chat_administrator)
  end
end
get_chat_member(chat_member_descriptor) click to toggle source
# File lib/telbe/chat.rb, line 17
def get_chat_member(chat_member_descriptor)
  ChatMember.new(request(:getChatMember, chat_member_descriptor))
end
get_chat_members_count(get_chat_descriptor) click to toggle source
# File lib/telbe/chat.rb, line 13
def get_chat_members_count(get_chat_descriptor)
  request(:getChatMembersCount, get_chat_descriptor)
end
get_file(get_file_descriptor) click to toggle source
# File lib/telbe/media.rb, line 7
def get_file(get_file_descriptor)
  File.new(request(:getFile, get_file_descriptor))
end
get_me() click to toggle source
# File lib/telbe/user.rb, line 5
def get_me
  User.new(request(:getMe))
end
get_sticker_set(get_sticker_set_descriptor) click to toggle source
# File lib/telbe/sticker.rb, line 7
def get_sticker_set(get_sticker_set_descriptor)
  StickerSet.new(request(:getStickerSet, get_sticker_set_descriptor))
end
get_updates(get_updates_descriptor) click to toggle source
# File lib/telbe/bot.rb, line 29
def get_updates(get_updates_descriptor)
  request(:getUpdates, get_updates_descriptor).collect do |update|
    Update.new(update)
  end
end
get_url(file) click to toggle source
# File lib/telbe/media.rb, line 3
def get_url(file)
  "https://api.telegram.org/file/bot#{@token}/#{file.file_path}"
end
get_user_profile_photos(get_user_profile_photos_descriptor) click to toggle source
# File lib/telbe/user.rb, line 9
def get_user_profile_photos(get_user_profile_photos_descriptor)
  UserProfilePhotos.new(request(:getUserProfilePhotos, get_user_profile_photos_descriptor))
end
get_webhookinfo() click to toggle source
# File lib/telbe/webhook.rb, line 11
def get_webhookinfo
  WebHookInfo.new(request(:getWebhookInfo))
end
kick_chat_member(kick_chat_member_descriptor) click to toggle source
# File lib/telbe/chat.rb, line 25
def kick_chat_member(kick_chat_member_descriptor)
  request(:kickChatMember, kick_chat_member_descriptor)
end
leave_chat(get_chat_descriptor) click to toggle source
# File lib/telbe/chat.rb, line 69
def leave_chat(get_chat_descriptor)
  request(:leaveChat, get_chat_descriptor)
end
pin_chat_message(pin_chat_message_descriptor) click to toggle source
# File lib/telbe/chat.rb, line 61
def pin_chat_message(pin_chat_message_descriptor)
  request(:pinChatMessage, pin_chat_message_descriptor)
end
promote_chat_member(promote_chat_member_descriptor) click to toggle source
# File lib/telbe/chat.rb, line 37
def promote_chat_member(promote_chat_member_descriptor)
  request(:promoteChatMember, promote_chat_member_descriptor)
end
request(action, query = {}) click to toggle source
# File lib/telbe/bot.rb, line 15
def request(action, query = {})
  path = "/bot#{@token}/#{action}"
  response = @connection.post(path: path, query: query.to_h)
  raise ResponseError, response.body unless response.status == 200

  body = response.body
  data = JSON.parse(body)
  data['result']
end
restrict_chat_member(restrict_chat_member_descriptor) click to toggle source
# File lib/telbe/chat.rb, line 33
def restrict_chat_member(restrict_chat_member_descriptor)
  request(:restrictChatMember, restrict_chat_member_descriptor)
end
send_animation(send_animation_descriptor) click to toggle source
# File lib/telbe/media.rb, line 27
def send_animation(send_animation_descriptor)
  Message.new(request(:sendAnimation, send_animation_descriptor))
end
send_audio(send_audio_descriptor) click to toggle source
# File lib/telbe/media.rb, line 15
def send_audio(send_audio_descriptor)
  Message.new(request(:sendAudio, send_audio_descriptor))
end
send_chat_action(send_chat_action_descriptor) click to toggle source
# File lib/telbe/chat.rb, line 21
def send_chat_action(send_chat_action_descriptor)
  request(:sendChatAction, send_chat_action_descriptor)
end
send_contact(contact_descriptor) click to toggle source
# File lib/telbe/contact.rb, line 3
def send_contact(contact_descriptor)
  Message.new(request(:sendContact, contact_descriptor))
end
send_document(send_document_descriptor) click to toggle source
# File lib/telbe/media.rb, line 19
def send_document(send_document_descriptor)
  Message.new(request(:sendDocument, send_document_descriptor))
end
send_location(send_location_descriptor) click to toggle source
# File lib/telbe/location.rb, line 3
def send_location(send_location_descriptor)
  Message.new(request(:sendLocation, send_location_descriptor))
end
send_media_group(send_media_group_descriptor) click to toggle source
# File lib/telbe/media.rb, line 39
def send_media_group(send_media_group_descriptor)
  request(:sendMediaGroup, send_media_group_descriptor).collect do |m|
    Message.new(m)
  end
end
send_message(message_descriptor) click to toggle source
# File lib/telbe/bot.rb, line 25
def send_message(message_descriptor)
  Message.new(request(:sendMessage, message_descriptor))
end
send_photo(send_photo_descriptor) click to toggle source
# File lib/telbe/media.rb, line 11
def send_photo(send_photo_descriptor)
  Message.new(request(:sendPhoto, send_photo_descriptor))
end
send_poll(poll_descriptor) click to toggle source
# File lib/telbe/poll.rb, line 3
def send_poll(poll_descriptor)
  Message.new(request(:sendPoll, poll_descriptor))
end
send_sticker(send_sticker_descriptor) click to toggle source
# File lib/telbe/sticker.rb, line 3
def send_sticker(send_sticker_descriptor)
  Message.new(request(:sendSticker, send_sticker_descriptor))
end
send_video(send_video_descriptor) click to toggle source
# File lib/telbe/media.rb, line 23
def send_video(send_video_descriptor)
  Message.new(request(:sendVideo, send_video_descriptor))
end
send_video_note(send_video_note_descriptor) click to toggle source
# File lib/telbe/media.rb, line 35
def send_video_note(send_video_note_descriptor)
  Message.new(request(:sendVideoNote, send_video_note_descriptor))
end
send_voice(send_voice_descriptor) click to toggle source
# File lib/telbe/media.rb, line 31
def send_voice(send_voice_descriptor)
  Message.new(request(:sendVoice, send_voice_descriptor))
end
set_chat_description(set_chat_description_descriptor) click to toggle source
# File lib/telbe/chat.rb, line 57
def set_chat_description(set_chat_description_descriptor)
  request(:setChatDescription, set_chat_description_descriptor)
end
set_chat_photo(set_chat_photo_descriptor) click to toggle source
# File lib/telbe/chat.rb, line 45
def set_chat_photo(set_chat_photo_descriptor)
  request(:setChatPhoto, set_chat_photo_descriptor)
end
set_chat_sticker_set(set_chat_sticker_set_descriptor) click to toggle source
# File lib/telbe/chat.rb, line 73
def set_chat_sticker_set(set_chat_sticker_set_descriptor)
  request(:setChatStickerSet, set_chat_sticker_set_descriptor)
end
set_chat_title(set_chat_title_descriptor) click to toggle source
# File lib/telbe/chat.rb, line 53
def set_chat_title(set_chat_title_descriptor)
  request(:setChatTitle, set_chat_title_descriptor)
end
set_sticker_position_in_set(set_sticker_position_in_set_descriptor) click to toggle source
# File lib/telbe/sticker.rb, line 23
def set_sticker_position_in_set(set_sticker_position_in_set_descriptor)
  request(:setStickerPositionInSet, set_sticker_position_in_set_descriptor)
end
set_webhook(webhook_descriptor) click to toggle source
# File lib/telbe/webhook.rb, line 3
def set_webhook(webhook_descriptor)
  request(:setWebhook, webhook_descriptor)
end
stop_message_live_location(stop_message_live_location_descriptor) click to toggle source
# File lib/telbe/location.rb, line 11
def stop_message_live_location(stop_message_live_location_descriptor)
  Message.new(request(:stopMessageLiveLocation, stop_message_live_location_descriptor))
end
stop_poll(stop_poll_descriptor) click to toggle source
# File lib/telbe/poll.rb, line 7
def stop_poll(stop_poll_descriptor)
  Poll.new(request(:stopPoll, stop_poll_descriptor))
end
unban_chat_member(chat_member_descriptor) click to toggle source
# File lib/telbe/chat.rb, line 29
def unban_chat_member(chat_member_descriptor)
  request(:unbanChatMember, chat_member_descriptor)
end
unpin_chat_message(get_chat_descriptor) click to toggle source
# File lib/telbe/chat.rb, line 65
def unpin_chat_message(get_chat_descriptor)
  request(:unpinChatMessage, get_chat_descriptor)
end
upload_sticker_file(upload_sticker_file_descriptor) click to toggle source
# File lib/telbe/sticker.rb, line 11
def upload_sticker_file(upload_sticker_file_descriptor)
  File.new(request(:uploadStickerFile, upload_sticker_file_descriptor))
end