tdlib-ruby 2.1.0 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +2 -1
- data/README.md +2 -1
- data/bin/parser +2 -3
- data/lib/tdlib/client_methods.rb +341 -108
- data/lib/tdlib/types.rb +69 -9
- data/lib/tdlib/types/audio.rb +1 -1
- data/lib/tdlib/types/authorization_state.rb +1 -0
- data/lib/tdlib/types/authorization_state/wait_other_device_confirmation.rb +9 -0
- data/lib/tdlib/types/authorization_state/wait_phone_number.rb +2 -0
- data/lib/tdlib/types/auto_download_settings.rb +5 -3
- data/lib/tdlib/types/background.rb +1 -1
- data/lib/tdlib/types/background_fill.rb +11 -0
- data/lib/tdlib/types/background_fill/gradient.rb +13 -0
- data/lib/tdlib/types/background_fill/solid.rb +8 -0
- data/lib/tdlib/types/background_type.rb +1 -1
- data/lib/tdlib/types/background_type/fill.rb +8 -0
- data/lib/tdlib/types/background_type/pattern.rb +7 -6
- data/lib/tdlib/types/background_type/wallpaper.rb +1 -1
- data/lib/tdlib/types/base.rb +1 -1
- data/lib/tdlib/types/basic_group_full_info.rb +2 -2
- data/lib/tdlib/types/call_protocol.rb +2 -2
- data/lib/tdlib/types/can_transfer_ownership_result.rb +13 -0
- data/lib/tdlib/types/can_transfer_ownership_result/ok.rb +5 -0
- data/lib/tdlib/types/can_transfer_ownership_result/password_needed.rb +5 -0
- data/lib/tdlib/types/can_transfer_ownership_result/password_too_fresh.rb +8 -0
- data/lib/tdlib/types/can_transfer_ownership_result/session_too_fresh.rb +8 -0
- data/lib/tdlib/types/chat.rb +9 -2
- data/lib/tdlib/types/chat_action_bar.rb +14 -0
- data/lib/tdlib/types/chat_action_bar/add_contact.rb +6 -0
- data/lib/tdlib/types/chat_action_bar/report_add_block.rb +6 -0
- data/lib/tdlib/types/chat_action_bar/report_spam.rb +5 -0
- data/lib/tdlib/types/chat_action_bar/report_unrelated_location.rb +6 -0
- data/lib/tdlib/types/chat_action_bar/share_phone_number.rb +6 -0
- data/lib/tdlib/types/chat_administrator.rb +12 -0
- data/lib/tdlib/types/chat_administrators.rb +8 -0
- data/lib/tdlib/types/chat_event_action.rb +3 -0
- data/lib/tdlib/types/chat_event_action/linked_chat_changed.rb +10 -0
- data/lib/tdlib/types/chat_event_action/location_changed.rb +10 -0
- data/lib/tdlib/types/chat_event_action/slow_mode_delay_changed.rb +10 -0
- data/lib/tdlib/types/chat_invite_link_info.rb +2 -1
- data/lib/tdlib/types/chat_list.rb +11 -0
- data/lib/tdlib/types/chat_list/archive.rb +6 -0
- data/lib/tdlib/types/chat_list/main.rb +5 -0
- data/lib/tdlib/types/chat_location.rb +10 -0
- data/lib/tdlib/types/chat_member_status/administrator.rb +4 -1
- data/lib/tdlib/types/chat_member_status/creator.rb +4 -1
- data/lib/tdlib/types/chat_members_filter/administrators.rb +1 -1
- data/lib/tdlib/types/chat_nearby.rb +10 -0
- data/lib/tdlib/types/chat_report_reason.rb +1 -0
- data/lib/tdlib/types/chat_report_reason/unrelated_location.rb +5 -0
- data/lib/tdlib/types/chats_nearby.rb +10 -0
- data/lib/tdlib/types/formatted_text.rb +4 -0
- data/lib/tdlib/types/inline_keyboard_button_type/login_url.rb +1 -1
- data/lib/tdlib/types/input_file/remote.rb +4 -0
- data/lib/tdlib/types/input_inline_query_result/sticker.rb +2 -2
- data/lib/tdlib/types/input_message_content/text.rb +2 -1
- data/lib/tdlib/types/log_stream/file.rb +2 -2
- data/lib/tdlib/types/login_url_info.rb +11 -0
- data/lib/tdlib/types/login_url_info/open.rb +10 -0
- data/lib/tdlib/types/login_url_info/request_confirmation.rb +15 -0
- data/lib/tdlib/types/message.rb +7 -1
- data/lib/tdlib/types/message_forward_info.rb +5 -5
- data/lib/tdlib/types/message_scheduling_state.rb +11 -0
- data/lib/tdlib/types/message_scheduling_state/send_at_date.rb +9 -0
- data/lib/tdlib/types/message_scheduling_state/send_when_online.rb +6 -0
- data/lib/tdlib/types/notification.rb +2 -0
- data/lib/tdlib/types/page_block.rb +1 -0
- data/lib/tdlib/types/page_block/voice_note.rb +10 -0
- data/lib/tdlib/types/page_block_table_cell.rb +3 -2
- data/lib/tdlib/types/public_chat_type.rb +11 -0
- data/lib/tdlib/types/public_chat_type/has_username.rb +5 -0
- data/lib/tdlib/types/public_chat_type/is_location_based.rb +5 -0
- data/lib/tdlib/types/public_message_link.rb +1 -1
- data/lib/tdlib/types/push_message_content/chat_add_members.rb +1 -1
- data/lib/tdlib/types/push_message_content/chat_delete_member.rb +1 -1
- data/lib/tdlib/types/remote_file.rb +5 -0
- data/lib/tdlib/types/rich_text/strikethrough.rb +1 -1
- data/lib/tdlib/types/rich_text/url.rb +2 -0
- data/lib/tdlib/types/secret_chat.rb +5 -4
- data/lib/tdlib/types/send_message_options.rb +14 -0
- data/lib/tdlib/types/supergroup.rb +12 -8
- data/lib/tdlib/types/supergroup_full_info.rb +17 -3
- data/lib/tdlib/types/supergroup_members_filter/administrators.rb +1 -1
- data/lib/tdlib/types/terms_of_service.rb +1 -1
- data/lib/tdlib/types/text_entity_type.rb +3 -1
- data/lib/tdlib/types/text_entity_type/strikethrough.rb +5 -0
- data/lib/tdlib/types/text_entity_type/underline.rb +5 -0
- data/lib/tdlib/types/text_parse_mode/markdown.rb +4 -0
- data/lib/tdlib/types/ton_lite_server_response.rb +8 -0
- data/lib/tdlib/types/ton_wallet_password_salt.rb +8 -0
- data/lib/tdlib/types/top_chat_category.rb +1 -0
- data/lib/tdlib/types/top_chat_category/forward_chats.rb +5 -0
- data/lib/tdlib/types/update.rb +5 -0
- data/lib/tdlib/types/update/active_notifications.rb +1 -1
- data/lib/tdlib/types/update/chat_action_bar.rb +10 -0
- data/lib/tdlib/types/update/chat_chat_list.rb +11 -0
- data/lib/tdlib/types/update/chat_has_scheduled_messages.rb +10 -0
- data/lib/tdlib/types/update/chat_last_message.rb +1 -1
- data/lib/tdlib/types/update/chat_order.rb +2 -1
- data/lib/tdlib/types/update/have_pending_notifications.rb +1 -1
- data/lib/tdlib/types/update/message_live_location_viewed.rb +11 -0
- data/lib/tdlib/types/update/new_callback_query.rb +1 -1
- data/lib/tdlib/types/update/unread_chat_count.rb +5 -1
- data/lib/tdlib/types/update/unread_message_count.rb +4 -2
- data/lib/tdlib/types/update/users_nearby.rb +9 -0
- data/lib/tdlib/types/user.rb +7 -10
- data/lib/tdlib/types/user_full_info.rb +3 -0
- data/lib/tdlib/types/user_privacy_setting.rb +2 -0
- data/lib/tdlib/types/user_privacy_setting/allow_finding_by_phone_number.rb +7 -0
- data/lib/tdlib/types/user_privacy_setting/show_phone_number.rb +5 -0
- data/lib/tdlib/types/user_privacy_setting_rule.rb +2 -0
- data/lib/tdlib/types/user_privacy_setting_rule/allow_chat_members.rb +8 -0
- data/lib/tdlib/types/user_privacy_setting_rule/allow_users.rb +1 -1
- data/lib/tdlib/types/user_privacy_setting_rule/restrict_chat_members.rb +8 -0
- data/lib/tdlib/types/user_privacy_setting_rule/restrict_users.rb +1 -1
- data/lib/tdlib/types/user_type/deleted.rb +1 -1
- data/lib/tdlib/types/user_type/unknown.rb +1 -1
- data/lib/tdlib/types/video.rb +1 -1
- data/lib/tdlib/version.rb +1 -1
- data/tdlib-ruby.gemspec +6 -6
- metadata +68 -21
- data/lib/tdlib/types/background_type/solid.rb +0 -8
- data/lib/tdlib/types/chat_report_spam_state.rb +0 -8
- data/lib/tdlib/types/link_state.rb +0 -13
- data/lib/tdlib/types/link_state/is_contact.rb +0 -5
- data/lib/tdlib/types/link_state/knows_phone_number.rb +0 -5
- data/lib/tdlib/types/link_state/none.rb +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b9e176529fc658fb3f1cdd453eb43068742468a2964fbc4ce78183ab9efed5ec
|
4
|
+
data.tar.gz: 8d9be756f46a6aa947b5bed03ae5c16d0475f3210492385bea075d2656f6d603
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2c0775f4e688e10688d34dcc78ec95328770ab7cd3a03349371448f48cf662d8ed30049af41da350943417dfce518c89f6c8fda331fff9d2fd95544707aca968
|
7
|
+
data.tar.gz: 53aedc6fd23f9924c2d3c1f09944875817e5ae2d2cb3073531094380b1fa89a1265f14f6ba102a0cb35cc4d8f98865d00a49745f69297b5ffa926f2e4f11b1b4
|
data/.travis.yml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
language: ruby
|
2
2
|
rvm:
|
3
3
|
- 2.4.9
|
4
|
-
- 2.
|
4
|
+
- 2.7.0
|
5
5
|
addons:
|
6
6
|
apt:
|
7
7
|
sources:
|
@@ -19,6 +19,7 @@ env:
|
|
19
19
|
global:
|
20
20
|
secure: DmAoRsr+dTPVNs486nBXzChjzCCVdoxfmSbvqMBBl0v8uuUIZD1rSfYKcEaL5pmE7vgYq3X+3Dk0gf4ef/p2xPVKqFKrkBiF/7t06WgQTH7003gHMLq3aC7R9+1xvqJDzpoc6UB59Y1fOJBe5YfqDuw1dT9a46tzY2uzoVpEpbN8M/hssaKf6Wuzvpz5yekFeXq2raPwi3aOqvkSG+ODoacVdYQgJ4Vn0//CI2HzWijkQCvdsefWQUKkbgtuLWRp3UNy8AEhVWzQnTcSM7oc+MwMsOI/90DZkTP5n2WJl/CFTM5b70VyrIciG92SvTAhhBo/p7t3QBJa6kJMPXAHh5q+3wqVQA411+CoVF48bO5rKjKY3Ply49uqAzVJRh+Tkhf5uC1pHiZ6QKGxu1Czde+mKItBpaDmJFmQi0CSdv2WYXLnJWOQIO6vc2P3liwpMDRDyaGWOQtUYS+gHAlRbD4NPycIkGjkcjmLMqSEEO1TdCpM+CYwTvNTkRS+9HrWXZNdEfWORDYHgYohoIP6kY6XWSgunUb6F6pVxLoPWJNEBEVuIMZeOa/s9oklxBzD5XXIzBx4QsPYanvfxoN1uOcXlBXbOGqwiqb+urokNDw+BzWhbA+xY03U2+yO0Ujh3HQDyMDtrXEQfaPC0SxpEvIINVYwznG4sMKvbOaCVSo=
|
21
21
|
before_install:
|
22
|
+
- gem install -v 2.1.2 bundler
|
22
23
|
- set -e
|
23
24
|
- cd td
|
24
25
|
- mkdir -p build
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# tdlib-ruby
|
2
2
|
|
3
|
-
[![Maintainability](https://api.codeclimate.com/v1/badges/9362ca2682b7edbae205/maintainability)](https://codeclimate.com/github/centosadmin/tdlib-ruby/maintainability) [![Build Status](https://travis-ci.org/
|
3
|
+
[![Maintainability](https://api.codeclimate.com/v1/badges/9362ca2682b7edbae205/maintainability)](https://codeclimate.com/github/centosadmin/tdlib-ruby/maintainability) [![Build Status](https://travis-ci.org/southbridgeio/tdlib-ruby.svg?branch=master)](https://travis-ci.org/centosadmin/tdlib-ruby)
|
4
4
|
|
5
5
|
## Description
|
6
6
|
|
@@ -30,6 +30,7 @@ http://rpms.southbridge.ru/rhel6/stable/SRPMS/
|
|
30
30
|
| 1.x | → | 1.0 - 1.2 |
|
31
31
|
| 2.0 | → | 1.3 |
|
32
32
|
| 2.1 | → | 1.5 |
|
33
|
+
| 2.2 | → | 1.6 |
|
33
34
|
|
34
35
|
## Install
|
35
36
|
|
data/bin/parser
CHANGED
@@ -1,9 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
require 'open-uri'
|
3
2
|
require 'active_support/all'
|
4
3
|
|
5
4
|
AUTOLOAD_BASE_DIR = 'tdlib/types'
|
6
|
-
TD_API_TL_LOCATION =
|
5
|
+
TD_API_TL_LOCATION = 'td/td/generate/scheme/td_api.tl'
|
7
6
|
|
8
7
|
|
9
8
|
def parse_tl_type(type)
|
@@ -221,7 +220,7 @@ klass = <<-RUBY
|
|
221
220
|
module TD::Types
|
222
221
|
class Base < Dry::Struct
|
223
222
|
# throw an error when unknown keys provided
|
224
|
-
|
223
|
+
schema schema.strict
|
225
224
|
|
226
225
|
# convert string keys to symbols
|
227
226
|
transform_keys(&:to_sym)
|
data/lib/tdlib/client_methods.rb
CHANGED
@@ -53,6 +53,22 @@ module TD::ClientMethods
|
|
53
53
|
'user_ids' => user_ids)
|
54
54
|
end
|
55
55
|
|
56
|
+
# Adds a user to the contact list or edits an existing contact by their user identifier.
|
57
|
+
#
|
58
|
+
# @param contact [TD::Types::Contact, nil] The contact to add or edit; phone number can be empty and needs to be
|
59
|
+
# specified only if known, vCard is ignored.
|
60
|
+
# @param share_phone_number [Boolean] True, if the new contact needs to be allowed to see current user's phone
|
61
|
+
# number.
|
62
|
+
# A corresponding rule to {TD::Types::UserPrivacySetting::ShowPhoneNumber} will be added if needed.
|
63
|
+
# Use the field UserFullInfo.need_phone_number_privacy_exception to check whether the current user needs to be
|
64
|
+
# asked to share their phone number.
|
65
|
+
# @return [TD::Types::Ok]
|
66
|
+
def add_contact(contact = nil, share_phone_number)
|
67
|
+
broadcast('@type' => 'addContact',
|
68
|
+
'contact' => contact,
|
69
|
+
'share_phone_number' => share_phone_number)
|
70
|
+
end
|
71
|
+
|
56
72
|
# Adds a custom server language pack to the list of installed language packs in current localization target.
|
57
73
|
# Can be called before authorization.
|
58
74
|
#
|
@@ -101,7 +117,7 @@ module TD::ClientMethods
|
|
101
117
|
# Can be called before authorization.
|
102
118
|
# Can be called synchronously.
|
103
119
|
#
|
104
|
-
# @param verbosity_level [Integer]
|
120
|
+
# @param verbosity_level [Integer] The minimum verbosity level needed for the message to be logged, 0-1023.
|
105
121
|
# @param text [String] Text of a message to log.
|
106
122
|
# @return [TD::Types::Ok]
|
107
123
|
def add_log_message(verbosity_level, text)
|
@@ -275,6 +291,13 @@ module TD::ClientMethods
|
|
275
291
|
'user_id' => user_id)
|
276
292
|
end
|
277
293
|
|
294
|
+
# Checks whether the current session can be used to transfer a chat ownership to another user.
|
295
|
+
#
|
296
|
+
# @return [TD::Types::CanTransferOwnershipResult]
|
297
|
+
def can_transfer_ownership
|
298
|
+
broadcast('@type' => 'canTransferOwnership')
|
299
|
+
end
|
300
|
+
|
278
301
|
# Stops the downloading of a file.
|
279
302
|
# If a file has already been downloaded, does nothing.
|
280
303
|
#
|
@@ -299,19 +322,6 @@ module TD::ClientMethods
|
|
299
322
|
'file_id' => file_id)
|
300
323
|
end
|
301
324
|
|
302
|
-
# Reports to the server whether a chat is a spam chat or not.
|
303
|
-
# Can be used only if ChatReportSpamState.can_report_spam is true.
|
304
|
-
# After this request, ChatReportSpamState.can_report_spam becomes false forever.
|
305
|
-
#
|
306
|
-
# @param chat_id [Integer] Chat identifier.
|
307
|
-
# @param is_spam_chat [Boolean] If true, the chat will be reported as spam; otherwise it will be marked as not spam.
|
308
|
-
# @return [TD::Types::Ok]
|
309
|
-
def change_chat_report_spam_state(chat_id, is_spam_chat)
|
310
|
-
broadcast('@type' => 'changeChatReportSpamState',
|
311
|
-
'chat_id' => chat_id,
|
312
|
-
'is_spam_chat' => is_spam_chat)
|
313
|
-
end
|
314
|
-
|
315
325
|
# Changes imported contacts using the list of current user contacts saved on the device.
|
316
326
|
# Imports newly added contacts and, if at least the file database is enabled, deletes recently deleted contacts.
|
317
327
|
# Query result depends on the result of the previous query, so only one query is possible at the same time.
|
@@ -413,6 +423,16 @@ module TD::ClientMethods
|
|
413
423
|
'username' => username)
|
414
424
|
end
|
415
425
|
|
426
|
+
# Checks whether the maximum number of owned public chats has been reached.
|
427
|
+
# Returns corresponding error if the limit was reached.
|
428
|
+
#
|
429
|
+
# @param type [TD::Types::PublicChatType] Type of the public chats, for which to check the limit.
|
430
|
+
# @return [TD::Types::Ok]
|
431
|
+
def check_created_public_chats_limit(type)
|
432
|
+
broadcast('@type' => 'checkCreatedPublicChatsLimit',
|
433
|
+
'type' => type)
|
434
|
+
end
|
435
|
+
|
416
436
|
# Checks the database encryption key for correctness.
|
417
437
|
# Works only when the current authorization state is authorizationStateWaitEncryptionKey.
|
418
438
|
#
|
@@ -534,6 +554,17 @@ module TD::ClientMethods
|
|
534
554
|
'secret_chat_id' => secret_chat_id)
|
535
555
|
end
|
536
556
|
|
557
|
+
# Confirms QR code authentication on another device.
|
558
|
+
# Returns created session on success.
|
559
|
+
#
|
560
|
+
# @param link [String] A link from a QR code.
|
561
|
+
# The link must be scanned by the in-app camera.
|
562
|
+
# @return [TD::Types::Session]
|
563
|
+
def confirm_qr_code_authentication(link)
|
564
|
+
broadcast('@type' => 'confirmQrCodeAuthentication',
|
565
|
+
'link' => link)
|
566
|
+
end
|
567
|
+
|
537
568
|
# Returns an existing chat corresponding to a known basic group.
|
538
569
|
#
|
539
570
|
# @param basic_group_id [Integer] Basic group identifier.
|
@@ -605,12 +636,14 @@ module TD::ClientMethods
|
|
605
636
|
# @param title [String] Title of the new chat; 1-128 characters.
|
606
637
|
# @param is_channel [Boolean] True, if a channel chat should be created.
|
607
638
|
# @param description [String] Chat description; 0-255 characters.
|
639
|
+
# @param location [TD::Types::ChatLocation] Chat location if a location-based supergroup is being created.
|
608
640
|
# @return [TD::Types::Chat]
|
609
|
-
def create_new_supergroup_chat(title, is_channel, description)
|
641
|
+
def create_new_supergroup_chat(title, is_channel, description, location)
|
610
642
|
broadcast('@type' => 'createNewSupergroupChat',
|
611
643
|
'title' => title,
|
612
644
|
'is_channel' => is_channel,
|
613
|
-
'description' => description
|
645
|
+
'description' => description,
|
646
|
+
'location' => location)
|
614
647
|
end
|
615
648
|
|
616
649
|
# Returns an existing chat corresponding to a given user.
|
@@ -685,7 +718,7 @@ module TD::ClientMethods
|
|
685
718
|
end
|
686
719
|
|
687
720
|
# Deletes all messages sent by the specified user to a chat.
|
688
|
-
# Supported only
|
721
|
+
# Supported only for supergroups; requires can_delete_messages administrator privileges.
|
689
722
|
#
|
690
723
|
# @param chat_id [Integer] Chat identifier.
|
691
724
|
# @param user_id [Integer] User identifier.
|
@@ -778,7 +811,7 @@ module TD::ClientMethods
|
|
778
811
|
end
|
779
812
|
|
780
813
|
# Deletes a supergroup or channel along with all messages in the corresponding chat.
|
781
|
-
# This will release the supergroup or channel username and remove all members; requires
|
814
|
+
# This will release the supergroup or channel username and remove all members; requires owner privileges in the
|
782
815
|
# supergroup or channel.
|
783
816
|
# Chats with more than 1000 members can't be deleted using this method.
|
784
817
|
#
|
@@ -1011,6 +1044,21 @@ module TD::ClientMethods
|
|
1011
1044
|
'reply_markup' => reply_markup)
|
1012
1045
|
end
|
1013
1046
|
|
1047
|
+
# Edits the time when a scheduled message will be sent.
|
1048
|
+
# Scheduling state of all messages in the same album or forwarded together with the message will be also changed.
|
1049
|
+
#
|
1050
|
+
# @param chat_id [Integer] The chat the message belongs to.
|
1051
|
+
# @param message_id [Integer] Identifier of the message.
|
1052
|
+
# @param scheduling_state [TD::Types::MessageSchedulingState] The new message scheduling state.
|
1053
|
+
# Pass null to send the message immediately.
|
1054
|
+
# @return [TD::Types::Ok]
|
1055
|
+
def edit_message_scheduling_state(chat_id, message_id, scheduling_state)
|
1056
|
+
broadcast('@type' => 'editMessageSchedulingState',
|
1057
|
+
'chat_id' => chat_id,
|
1058
|
+
'message_id' => message_id,
|
1059
|
+
'scheduling_state' => scheduling_state)
|
1060
|
+
end
|
1061
|
+
|
1014
1062
|
# Edits the text of a message (or a text of a game message).
|
1015
1063
|
# Returns the edited message after the edit is completed on the server side.
|
1016
1064
|
#
|
@@ -1075,9 +1123,7 @@ module TD::ClientMethods
|
|
1075
1123
|
# @param chat_id [Integer] Identifier of the chat to which to forward messages.
|
1076
1124
|
# @param from_chat_id [Integer] Identifier of the chat from which to forward messages.
|
1077
1125
|
# @param message_ids [Array<Integer>] Identifiers of the messages to forward.
|
1078
|
-
# @param
|
1079
|
-
# are forwarded to a secret chat.
|
1080
|
-
# @param from_background [Boolean] Pass true if the messages are sent from the background.
|
1126
|
+
# @param options [TD::Types::SendMessageOptions] Options to be used to send the messages.
|
1081
1127
|
# @param as_album [Boolean] True, if the messages should be grouped into an album after forwarding.
|
1082
1128
|
# For this to work, no more than 10 messages may be forwarded, and all of them must be photo or video messages.
|
1083
1129
|
# @param send_copy [Boolean] True, if content of the messages needs to be copied without links to the original
|
@@ -1086,17 +1132,15 @@ module TD::ClientMethods
|
|
1086
1132
|
# @param remove_caption [Boolean] True, if media captions of message copies needs to be removed.
|
1087
1133
|
# Ignored if send_copy is false.
|
1088
1134
|
# @return [TD::Types::Messages]
|
1089
|
-
def forward_messages(chat_id, from_chat_id, message_ids,
|
1090
|
-
|
1091
|
-
|
1092
|
-
'
|
1093
|
-
'
|
1094
|
-
'
|
1095
|
-
'
|
1096
|
-
'
|
1097
|
-
'
|
1098
|
-
'send_copy' => send_copy,
|
1099
|
-
'remove_caption' => remove_caption)
|
1135
|
+
def forward_messages(chat_id, from_chat_id, message_ids, options, as_album, send_copy, remove_caption)
|
1136
|
+
broadcast('@type' => 'forwardMessages',
|
1137
|
+
'chat_id' => chat_id,
|
1138
|
+
'from_chat_id' => from_chat_id,
|
1139
|
+
'message_ids' => message_ids,
|
1140
|
+
'options' => options,
|
1141
|
+
'as_album' => as_album,
|
1142
|
+
'send_copy' => send_copy,
|
1143
|
+
'remove_caption' => remove_caption)
|
1100
1144
|
end
|
1101
1145
|
|
1102
1146
|
# Generates a new invite link for a chat; the previously generated link is revoked.
|
@@ -1153,7 +1197,7 @@ module TD::ClientMethods
|
|
1153
1197
|
#
|
1154
1198
|
# @param is_masks [Boolean] Pass true to return mask stickers sets; pass false to return ordinary sticker sets.
|
1155
1199
|
# @param offset_sticker_set_id [Integer] Identifier of the sticker set from which to return the result.
|
1156
|
-
# @param limit [Integer]
|
1200
|
+
# @param limit [Integer] The maximum number of sticker sets to return.
|
1157
1201
|
# @return [TD::Types::StickerSets]
|
1158
1202
|
def get_archived_sticker_sets(is_masks, offset_sticker_set_id, limit)
|
1159
1203
|
broadcast('@type' => 'getArchivedStickerSets',
|
@@ -1230,7 +1274,7 @@ module TD::ClientMethods
|
|
1230
1274
|
# Returns users that were blocked by the current user.
|
1231
1275
|
#
|
1232
1276
|
# @param offset [Integer] Number of users to skip in the result; must be non-negative.
|
1233
|
-
# @param limit [Integer]
|
1277
|
+
# @param limit [Integer] The maximum number of users to return; up to 100.
|
1234
1278
|
# @return [TD::Types::Users]
|
1235
1279
|
def get_blocked_users(offset, limit)
|
1236
1280
|
broadcast('@type' => 'getBlockedUsers',
|
@@ -1261,17 +1305,17 @@ module TD::ClientMethods
|
|
1261
1305
|
'chat_id' => chat_id)
|
1262
1306
|
end
|
1263
1307
|
|
1264
|
-
# Returns a list of
|
1308
|
+
# Returns a list of administrators of the chat with their custom titles.
|
1265
1309
|
#
|
1266
1310
|
# @param chat_id [Integer] Chat identifier.
|
1267
|
-
# @return [TD::Types::
|
1311
|
+
# @return [TD::Types::ChatAdministrators]
|
1268
1312
|
def get_chat_administrators(chat_id)
|
1269
1313
|
broadcast('@type' => 'getChatAdministrators',
|
1270
1314
|
'chat_id' => chat_id)
|
1271
1315
|
end
|
1272
1316
|
|
1273
1317
|
# Returns a list of service actions taken by chat members and administrators in the last 48 hours.
|
1274
|
-
# Available only
|
1318
|
+
# Available only for supergroups and channels.
|
1275
1319
|
# Requires administrator rights.
|
1276
1320
|
# Returns results in reverse chronological order (i.
|
1277
1321
|
# e., in order of decreasing event_id).
|
@@ -1280,7 +1324,7 @@ module TD::ClientMethods
|
|
1280
1324
|
# @param query [String] Search query by which to filter events.
|
1281
1325
|
# @param from_event_id [Integer] Identifier of an event from which to return results.
|
1282
1326
|
# Use 0 to get results from the latest events.
|
1283
|
-
# @param limit [Integer]
|
1327
|
+
# @param limit [Integer] The maximum number of events to return; up to 100.
|
1284
1328
|
# @param filters [TD::Types::ChatEventLogFilters] The types of events to return.
|
1285
1329
|
# By default, all types will be returned.
|
1286
1330
|
# @param user_ids [Array<Integer>] User identifiers by which to filter events.
|
@@ -1381,17 +1425,19 @@ module TD::ClientMethods
|
|
1381
1425
|
'chat_id' => chat_id)
|
1382
1426
|
end
|
1383
1427
|
|
1384
|
-
# Returns
|
1428
|
+
# Returns all scheduled messages in a chat.
|
1429
|
+
# The messages are returned in a reverse chronological order (i.e., in order of decreasing message_id).
|
1385
1430
|
#
|
1386
1431
|
# @param chat_id [Integer] Chat identifier.
|
1387
|
-
# @return [TD::Types::
|
1388
|
-
def
|
1389
|
-
broadcast('@type' => '
|
1432
|
+
# @return [TD::Types::Messages]
|
1433
|
+
def get_chat_scheduled_messages(chat_id)
|
1434
|
+
broadcast('@type' => 'getChatScheduledMessages',
|
1390
1435
|
'chat_id' => chat_id)
|
1391
1436
|
end
|
1392
1437
|
|
1393
1438
|
# Returns an HTTP URL with the chat statistics.
|
1394
1439
|
# Currently this method can be used only for channels.
|
1440
|
+
# Can be used only if SupergroupFullInfo.can_view_statistics == true.
|
1395
1441
|
#
|
1396
1442
|
# @param chat_id [Integer] Chat identifier.
|
1397
1443
|
# @param parameters [String] Parameters from "tg://statsrefresh?params=******" link.
|
@@ -1404,19 +1450,21 @@ module TD::ClientMethods
|
|
1404
1450
|
'is_dark' => is_dark)
|
1405
1451
|
end
|
1406
1452
|
|
1407
|
-
# Returns an ordered list of chats.
|
1453
|
+
# Returns an ordered list of chats in a chat list.
|
1408
1454
|
# Chats are sorted by the pair (order, chat_id) in decreasing order.
|
1409
1455
|
# (For example, to get a list of chats from the beginning, the offset_order should be equal to a biggest signed
|
1410
1456
|
# 64-bit number 9223372036854775807 == 2^63 - 1).
|
1411
1457
|
# For optimal performance the number of returned chats is chosen by the library.
|
1412
1458
|
#
|
1459
|
+
# @param chat_list [TD::Types::ChatList] The chat list in which to return chats.
|
1413
1460
|
# @param offset_order [Integer] Chat order to return chats from.
|
1414
1461
|
# @param offset_chat_id [Integer] Chat identifier to return chats from.
|
1415
1462
|
# @param limit [Integer] The maximum number of chats to be returned.
|
1416
1463
|
# It is possible that fewer chats than the limit are returned even if the end of the list is not reached.
|
1417
1464
|
# @return [TD::Types::Chats]
|
1418
|
-
def get_chats(offset_order, offset_chat_id, limit)
|
1465
|
+
def get_chats(chat_list, offset_order, offset_chat_id, limit)
|
1419
1466
|
broadcast('@type' => 'getChats',
|
1467
|
+
'chat_list' => chat_list,
|
1420
1468
|
'offset_order' => offset_order,
|
1421
1469
|
'offset_chat_id' => offset_chat_id,
|
1422
1470
|
'limit' => limit)
|
@@ -1445,11 +1493,13 @@ module TD::ClientMethods
|
|
1445
1493
|
broadcast('@type' => 'getCountryCode')
|
1446
1494
|
end
|
1447
1495
|
|
1448
|
-
# Returns a list of public chats
|
1496
|
+
# Returns a list of public chats of the specified type, owned by the user.
|
1449
1497
|
#
|
1498
|
+
# @param type [TD::Types::PublicChatType] Type of the public chats to return.
|
1450
1499
|
# @return [TD::Types::Chats]
|
1451
|
-
def get_created_public_chats
|
1452
|
-
broadcast('@type' => 'getCreatedPublicChats'
|
1500
|
+
def get_created_public_chats(type)
|
1501
|
+
broadcast('@type' => 'getCreatedPublicChats',
|
1502
|
+
'type' => type)
|
1453
1503
|
end
|
1454
1504
|
|
1455
1505
|
# Returns all updates needed to restore current TDLib state, i.e.
|
@@ -1565,7 +1615,7 @@ module TD::ClientMethods
|
|
1565
1615
|
#
|
1566
1616
|
# @param user_id [Integer] User identifier.
|
1567
1617
|
# @param offset_chat_id [Integer] Chat identifier starting from which to return chats; use 0 for the first request.
|
1568
|
-
# @param limit [Integer]
|
1618
|
+
# @param limit [Integer] The maximum number of chats to be returned; up to 100.
|
1569
1619
|
# @return [TD::Types::Chats]
|
1570
1620
|
def get_groups_in_common(user_id, offset_chat_id, limit)
|
1571
1621
|
broadcast('@type' => 'getGroupsInCommon',
|
@@ -1581,6 +1631,15 @@ module TD::ClientMethods
|
|
1581
1631
|
broadcast('@type' => 'getImportedContactCount')
|
1582
1632
|
end
|
1583
1633
|
|
1634
|
+
# Returns a list of recently inactive supergroups and channels.
|
1635
|
+
# Can be used when user reaches limit on the number of joined supergroups and channels and receives CHANNELS_TOO_MUCH
|
1636
|
+
# error.
|
1637
|
+
#
|
1638
|
+
# @return [TD::Types::Chats]
|
1639
|
+
def get_inactive_supergroup_chats
|
1640
|
+
broadcast('@type' => 'getInactiveSupergroupChats')
|
1641
|
+
end
|
1642
|
+
|
1584
1643
|
# Returns game high scores and some part of the high score table in the range of the specified user; for bots only.
|
1585
1644
|
#
|
1586
1645
|
# @param inline_message_id [String] Inline message identifier.
|
@@ -1596,7 +1655,7 @@ module TD::ClientMethods
|
|
1596
1655
|
# Returns an error with code 502 if the bot fails to answer the query before the query timeout expires.
|
1597
1656
|
#
|
1598
1657
|
# @param bot_user_id [Integer] The identifier of the target bot.
|
1599
|
-
# @param chat_id [Integer] Identifier of the chat
|
1658
|
+
# @param chat_id [Integer] Identifier of the chat where the query was sent.
|
1600
1659
|
# @param user_location [TD::Types::Location] Location of the user, only if needed.
|
1601
1660
|
# @param query [String] Text of the query.
|
1602
1661
|
# @param offset [String] Offset of the first entry to return.
|
@@ -1748,6 +1807,38 @@ module TD::ClientMethods
|
|
1748
1807
|
broadcast('@type' => 'getLogVerbosityLevel')
|
1749
1808
|
end
|
1750
1809
|
|
1810
|
+
# Returns an HTTP URL which can be used to automatically authorize the user on a website after clicking an inline
|
1811
|
+
# button of type inlineKeyboardButtonTypeLoginUrl.
|
1812
|
+
# Use the method getLoginUrlInfo to find whether a prior user confirmation is needed.
|
1813
|
+
# If an error is returned, then the button must be handled as an ordinary URL button.
|
1814
|
+
#
|
1815
|
+
# @param chat_id [Integer] Chat identifier of the message with the button.
|
1816
|
+
# @param message_id [Integer] Message identifier of the message with the button.
|
1817
|
+
# @param button_id [Integer] Button identifier.
|
1818
|
+
# @param allow_write_access [Boolean] True, if the user allowed the bot to send them messages.
|
1819
|
+
# @return [TD::Types::HttpUrl]
|
1820
|
+
def get_login_url(chat_id, message_id, button_id, allow_write_access)
|
1821
|
+
broadcast('@type' => 'getLoginUrl',
|
1822
|
+
'chat_id' => chat_id,
|
1823
|
+
'message_id' => message_id,
|
1824
|
+
'button_id' => button_id,
|
1825
|
+
'allow_write_access' => allow_write_access)
|
1826
|
+
end
|
1827
|
+
|
1828
|
+
# Returns information about a button of type inlineKeyboardButtonTypeLoginUrl.
|
1829
|
+
# The method needs to be called when the user presses the button.
|
1830
|
+
#
|
1831
|
+
# @param chat_id [Integer] Chat identifier of the message with the button.
|
1832
|
+
# @param message_id [Integer] Message identifier of the message with the button.
|
1833
|
+
# @param button_id [Integer] Button identifier.
|
1834
|
+
# @return [TD::Types::LoginUrlInfo]
|
1835
|
+
def get_login_url_info(chat_id, message_id, button_id)
|
1836
|
+
broadcast('@type' => 'getLoginUrlInfo',
|
1837
|
+
'chat_id' => chat_id,
|
1838
|
+
'message_id' => message_id,
|
1839
|
+
'button_id' => button_id)
|
1840
|
+
end
|
1841
|
+
|
1751
1842
|
# Returns information about a file with a map thumbnail in PNG format.
|
1752
1843
|
# Only map thumbnail files with size less than 1MB can be downloaded.
|
1753
1844
|
#
|
@@ -1955,7 +2046,7 @@ module TD::ClientMethods
|
|
1955
2046
|
end
|
1956
2047
|
|
1957
2048
|
# Returns a public HTTPS link to a message.
|
1958
|
-
# Available only for messages in supergroups and channels with username.
|
2049
|
+
# Available only for messages in supergroups and channels with a username.
|
1959
2050
|
#
|
1960
2051
|
# @param chat_id [Integer] Identifier of the chat to which the message belongs.
|
1961
2052
|
# @param message_id [Integer] Identifier of the message.
|
@@ -2019,6 +2110,9 @@ module TD::ClientMethods
|
|
2019
2110
|
|
2020
2111
|
# Returns information about a file by its remote ID; this is an offline request.
|
2021
2112
|
# Can be used to register a URL as a file for further uploading, or sending as a message.
|
2113
|
+
# Even the request succeeds, the file can be used only if it is still accessible to the user.
|
2114
|
+
# For example, if the file is from a message, then the message must be not deleted and accessible to the user.
|
2115
|
+
# If the file database is disabled, then the corresponding object with the file must be preloaded by the client.
|
2022
2116
|
#
|
2023
2117
|
# @param remote_file_id [String] Remote identifier of the file to get.
|
2024
2118
|
# @param file_type [TD::Types::FileType] File type, if known.
|
@@ -2099,7 +2193,7 @@ module TD::ClientMethods
|
|
2099
2193
|
#
|
2100
2194
|
# @param emoji [String] String representation of emoji.
|
2101
2195
|
# If empty, returns all known installed stickers.
|
2102
|
-
# @param limit [Integer]
|
2196
|
+
# @param limit [Integer] The maximum number of stickers to be returned.
|
2103
2197
|
# @return [TD::Types::Stickers]
|
2104
2198
|
def get_stickers(emoji, limit)
|
2105
2199
|
broadcast('@type' => 'getStickers',
|
@@ -2110,8 +2204,8 @@ module TD::ClientMethods
|
|
2110
2204
|
# Returns storage usage statistics.
|
2111
2205
|
# Can be called before authorization.
|
2112
2206
|
#
|
2113
|
-
# @param chat_limit [Integer]
|
2114
|
-
# should be returned.
|
2207
|
+
# @param chat_limit [Integer] The maximum number of chats with the largest storage usage for which separate
|
2208
|
+
# statistics should be returned.
|
2115
2209
|
# All other chats will be grouped in entries with chat_id == 0.
|
2116
2210
|
# If the chat info database is not used, the chat_limit is ignored and is always set to 0.
|
2117
2211
|
# @return [TD::Types::StorageStatistics]
|
@@ -2128,7 +2222,15 @@ module TD::ClientMethods
|
|
2128
2222
|
broadcast('@type' => 'getStorageStatisticsFast')
|
2129
2223
|
end
|
2130
2224
|
|
2131
|
-
# Returns
|
2225
|
+
# Returns a list of basic group and supergroup chats, which can be used as a discussion group for a channel.
|
2226
|
+
# Basic group chats need to be first upgraded to supergroups before they can be set as a discussion group.
|
2227
|
+
#
|
2228
|
+
# @return [TD::Types::Chats]
|
2229
|
+
def get_suitable_discussion_chats
|
2230
|
+
broadcast('@type' => 'getSuitableDiscussionChats')
|
2231
|
+
end
|
2232
|
+
|
2233
|
+
# Returns information about a supergroup or a channel by its identifier.
|
2132
2234
|
# This is an offline request if the current user is not a bot.
|
2133
2235
|
#
|
2134
2236
|
# @param supergroup_id [Integer] Supergroup or channel identifier.
|
@@ -2138,7 +2240,7 @@ module TD::ClientMethods
|
|
2138
2240
|
'supergroup_id' => supergroup_id)
|
2139
2241
|
end
|
2140
2242
|
|
2141
|
-
# Returns full information about a supergroup or channel by its identifier, cached for up to 1 minute.
|
2243
|
+
# Returns full information about a supergroup or a channel by its identifier, cached for up to 1 minute.
|
2142
2244
|
#
|
2143
2245
|
# @param supergroup_id [Integer] Supergroup or channel identifier.
|
2144
2246
|
# @return [TD::Types::SupergroupFullInfo]
|
@@ -2191,11 +2293,18 @@ module TD::ClientMethods
|
|
2191
2293
|
'text' => text)
|
2192
2294
|
end
|
2193
2295
|
|
2296
|
+
# Returns a salt to be used with locally stored password to access a local TON-based wallet.
|
2297
|
+
#
|
2298
|
+
# @return [TD::Types::TonWalletPasswordSalt]
|
2299
|
+
def get_ton_wallet_password_salt
|
2300
|
+
broadcast('@type' => 'getTonWalletPasswordSalt')
|
2301
|
+
end
|
2302
|
+
|
2194
2303
|
# Returns a list of frequently used chats.
|
2195
2304
|
# Supported only if the chat info database is enabled.
|
2196
2305
|
#
|
2197
2306
|
# @param category [TD::Types::TopChatCategory] Category of chats to be returned.
|
2198
|
-
# @param limit [Integer]
|
2307
|
+
# @param limit [Integer] The maximum number of chats to be returned; up to 30.
|
2199
2308
|
# @return [TD::Types::Chats]
|
2200
2309
|
def get_top_chats(category, limit)
|
2201
2310
|
broadcast('@type' => 'getTopChats',
|
@@ -2243,7 +2352,7 @@ module TD::ClientMethods
|
|
2243
2352
|
#
|
2244
2353
|
# @param user_id [Integer] User identifier.
|
2245
2354
|
# @param offset [Integer] The number of photos to skip; must be non-negative.
|
2246
|
-
# @param limit [Integer]
|
2355
|
+
# @param limit [Integer] The maximum number of photos to be returned; up to 100.
|
2247
2356
|
# @return [TD::Types::UserProfilePhotos]
|
2248
2357
|
def get_user_profile_photos(user_id, offset, limit)
|
2249
2358
|
broadcast('@type' => 'getUserProfilePhotos',
|
@@ -2275,9 +2384,9 @@ module TD::ClientMethods
|
|
2275
2384
|
'text' => text)
|
2276
2385
|
end
|
2277
2386
|
|
2278
|
-
# Adds new contacts or edits existing contacts; contacts' user identifiers are ignored.
|
2387
|
+
# Adds new contacts or edits existing contacts by their phone numbers; contacts' user identifiers are ignored.
|
2279
2388
|
#
|
2280
|
-
# @param contacts [Array<TD::Types::Contact>] The list of contacts to import or edit
|
2389
|
+
# @param contacts [Array<TD::Types::Contact>] The list of contacts to import or edit; contacts' vCard are ignored and
|
2281
2390
|
# are not imported.
|
2282
2391
|
# @return [TD::Types::ImportedContacts]
|
2283
2392
|
def import_contacts(contacts)
|
@@ -2385,7 +2494,8 @@ module TD::ClientMethods
|
|
2385
2494
|
'chat_limit' => chat_limit)
|
2386
2495
|
end
|
2387
2496
|
|
2388
|
-
# Parses Bold, Italic, Code, Pre, PreCode and
|
2497
|
+
# Parses Bold, Italic, Underline, Strikethrough, Code, Pre, PreCode, TextUrl and MentionName entities contained in
|
2498
|
+
# the text.
|
2389
2499
|
# This is an offline method.
|
2390
2500
|
# Can be called before authorization.
|
2391
2501
|
# Can be called synchronously.
|
@@ -2515,6 +2625,15 @@ module TD::ClientMethods
|
|
2515
2625
|
'background_id' => background_id)
|
2516
2626
|
end
|
2517
2627
|
|
2628
|
+
# Removes a chat action bar without any other action.
|
2629
|
+
#
|
2630
|
+
# @param chat_id [Integer] Chat identifier.
|
2631
|
+
# @return [TD::Types::Ok]
|
2632
|
+
def remove_chat_action_bar(chat_id)
|
2633
|
+
broadcast('@type' => 'removeChatActionBar',
|
2634
|
+
'chat_id' => chat_id)
|
2635
|
+
end
|
2636
|
+
|
2518
2637
|
# Removes users from the contact list.
|
2519
2638
|
#
|
2520
2639
|
# @param user_ids [Array<Integer>] Identifiers of users to be deleted.
|
@@ -2549,7 +2668,7 @@ module TD::ClientMethods
|
|
2549
2668
|
# Needs to be called only if the notification group is removed by the current user.
|
2550
2669
|
#
|
2551
2670
|
# @param notification_group_id [Integer] Notification group identifier.
|
2552
|
-
# @param max_notification_id [Integer]
|
2671
|
+
# @param max_notification_id [Integer] The maximum identifier of removed notifications.
|
2553
2672
|
# @return [TD::Types::Ok]
|
2554
2673
|
def remove_notification_group(notification_group_id, max_notification_id)
|
2555
2674
|
broadcast('@type' => 'removeNotificationGroup',
|
@@ -2642,7 +2761,7 @@ module TD::ClientMethods
|
|
2642
2761
|
|
2643
2762
|
# Reports a chat to the Telegram moderators.
|
2644
2763
|
# Supported only for supergroups, channels, or private chats with bots, since other chats can't be checked by
|
2645
|
-
# moderators.
|
2764
|
+
# moderators, or when the report is done from the chat action bar.
|
2646
2765
|
#
|
2647
2766
|
# @param chat_id [Integer] Chat identifier.
|
2648
2767
|
# @param reason [TD::Types::ChatReportReason] The reason for reporting the chat.
|
@@ -2684,6 +2803,16 @@ module TD::ClientMethods
|
|
2684
2803
|
broadcast('@type' => 'requestPasswordRecovery')
|
2685
2804
|
end
|
2686
2805
|
|
2806
|
+
# Requests QR code authentication by scanning a QR code on another logged in device.
|
2807
|
+
# Works only when the current authorization state is authorizationStateWaitPhoneNumber.
|
2808
|
+
#
|
2809
|
+
# @param other_user_ids [Array<Integer>] List of user identifiers of other users currently using the client.
|
2810
|
+
# @return [TD::Types::Ok]
|
2811
|
+
def request_qr_code_authentication(other_user_ids)
|
2812
|
+
broadcast('@type' => 'requestQrCodeAuthentication',
|
2813
|
+
'other_user_ids' => other_user_ids)
|
2814
|
+
end
|
2815
|
+
|
2687
2816
|
# Re-sends an authentication code to the user.
|
2688
2817
|
# Works only when the current authorization state is authorizationStateWaitCode and the next_code_type of the result
|
2689
2818
|
# is not null.
|
@@ -2865,7 +2994,7 @@ module TD::ClientMethods
|
|
2865
2994
|
# Returns up to 1 location message per user.
|
2866
2995
|
#
|
2867
2996
|
# @param chat_id [Integer] Chat identifier.
|
2868
|
-
# @param limit [Integer]
|
2997
|
+
# @param limit [Integer] The maximum number of messages to be returned.
|
2869
2998
|
# @return [TD::Types::Messages]
|
2870
2999
|
def search_chat_recent_location_messages(chat_id, limit)
|
2871
3000
|
broadcast('@type' => 'searchChatRecentLocationMessages',
|
@@ -2878,7 +3007,7 @@ module TD::ClientMethods
|
|
2878
3007
|
#
|
2879
3008
|
# @param query [String] Query to search for.
|
2880
3009
|
# If the query is empty, returns up to 20 recently found chats.
|
2881
|
-
# @param limit [Integer]
|
3010
|
+
# @param limit [Integer] The maximum number of chats to be returned.
|
2882
3011
|
# @return [TD::Types::Chats]
|
2883
3012
|
def search_chats(query, limit)
|
2884
3013
|
broadcast('@type' => 'searchChats',
|
@@ -2886,11 +3015,22 @@ module TD::ClientMethods
|
|
2886
3015
|
'limit' => limit)
|
2887
3016
|
end
|
2888
3017
|
|
3018
|
+
# Returns a list of users and location-based supergroups nearby.
|
3019
|
+
# The list of users nearby will be updated for 60 seconds after the request by the updates updateUsersNearby.
|
3020
|
+
# The request should be sent again every 25 seconds with adjusted location to not miss new chats.
|
3021
|
+
#
|
3022
|
+
# @param location [TD::Types::Location] Current user location.
|
3023
|
+
# @return [TD::Types::ChatsNearby]
|
3024
|
+
def search_chats_nearby(location)
|
3025
|
+
broadcast('@type' => 'searchChatsNearby',
|
3026
|
+
'location' => location)
|
3027
|
+
end
|
3028
|
+
|
2889
3029
|
# Searches for the specified query in the title and username of already known chats via request to the server.
|
2890
3030
|
# Returns chats in the order seen in the chat list.
|
2891
3031
|
#
|
2892
3032
|
# @param query [String] Query to search for.
|
2893
|
-
# @param limit [Integer]
|
3033
|
+
# @param limit [Integer] The maximum number of chats to be returned.
|
2894
3034
|
# @return [TD::Types::Chats]
|
2895
3035
|
def search_chats_on_server(query, limit)
|
2896
3036
|
broadcast('@type' => 'searchChatsOnServer',
|
@@ -2901,7 +3041,7 @@ module TD::ClientMethods
|
|
2901
3041
|
# Searches for the specified query in the first names, last names and usernames of the known user contacts.
|
2902
3042
|
#
|
2903
3043
|
# @param query [String, nil] Query to search for; may be empty to return all contacts.
|
2904
|
-
# @param limit [Integer]
|
3044
|
+
# @param limit [Integer] The maximum number of users to be returned.
|
2905
3045
|
# @return [TD::Types::Users]
|
2906
3046
|
def search_contacts(query = nil, limit)
|
2907
3047
|
broadcast('@type' => 'searchContacts',
|
@@ -2914,17 +3054,19 @@ module TD::ClientMethods
|
|
2914
3054
|
#
|
2915
3055
|
# @param text [String] Text to search for.
|
2916
3056
|
# @param exact_match [Boolean] True, if only emojis, which exactly match text needs to be returned.
|
3057
|
+
# @param input_language_code [String, nil] IETF language tag of the user's input language; can be empty if unknown.
|
2917
3058
|
# @return [TD::Types::Emojis]
|
2918
|
-
def search_emojis(text, exact_match)
|
2919
|
-
broadcast('@type'
|
2920
|
-
'text'
|
2921
|
-
'exact_match'
|
3059
|
+
def search_emojis(text, exact_match, input_language_code = nil)
|
3060
|
+
broadcast('@type' => 'searchEmojis',
|
3061
|
+
'text' => text,
|
3062
|
+
'exact_match' => exact_match,
|
3063
|
+
'input_language_code' => input_language_code)
|
2922
3064
|
end
|
2923
3065
|
|
2924
3066
|
# Searches for recently used hashtags by their prefix.
|
2925
3067
|
#
|
2926
3068
|
# @param prefix [String] Hashtag prefix to search for.
|
2927
|
-
# @param limit [Integer]
|
3069
|
+
# @param limit [Integer] The maximum number of hashtags to be returned.
|
2928
3070
|
# @return [TD::Types::Hashtags]
|
2929
3071
|
def search_hashtags(prefix, limit)
|
2930
3072
|
broadcast('@type' => 'searchHashtags',
|
@@ -2936,7 +3078,7 @@ module TD::ClientMethods
|
|
2936
3078
|
#
|
2937
3079
|
# @param is_masks [Boolean] Pass true to return mask sticker sets; pass false to return ordinary sticker sets.
|
2938
3080
|
# @param query [String] Query to search for.
|
2939
|
-
# @param limit [Integer]
|
3081
|
+
# @param limit [Integer] The maximum number of sticker sets to return.
|
2940
3082
|
# @return [TD::Types::StickerSets]
|
2941
3083
|
def search_installed_sticker_sets(is_masks, query, limit)
|
2942
3084
|
broadcast('@type' => 'searchInstalledStickerSets',
|
@@ -2949,6 +3091,8 @@ module TD::ClientMethods
|
|
2949
3091
|
# Returns the results in reverse chronological order (i.e., in order of decreasing (date, chat_id, message_id)).
|
2950
3092
|
# For optimal performance the number of returned messages is chosen by the library.
|
2951
3093
|
#
|
3094
|
+
# @param chat_list [TD::Types::ChatList] Chat list in which to search messages; pass null to search in all chats
|
3095
|
+
# regardless of their chat list.
|
2952
3096
|
# @param query [String] Query to search for.
|
2953
3097
|
# @param offset_date [Integer] The date of the message starting from which the results should be fetched.
|
2954
3098
|
# Use 0 or any date in the future to get results from the last message.
|
@@ -2958,8 +3102,9 @@ module TD::ClientMethods
|
|
2958
3102
|
# Fewer messages may be returned than specified by the limit, even if the end of the message history has not been
|
2959
3103
|
# reached.
|
2960
3104
|
# @return [TD::Types::Messages]
|
2961
|
-
def search_messages(query, offset_date, offset_chat_id, offset_message_id, limit)
|
3105
|
+
def search_messages(chat_list, query, offset_date, offset_chat_id, offset_message_id, limit)
|
2962
3106
|
broadcast('@type' => 'searchMessages',
|
3107
|
+
'chat_list' => chat_list,
|
2963
3108
|
'query' => query,
|
2964
3109
|
'offset_date' => offset_date,
|
2965
3110
|
'offset_chat_id' => offset_chat_id,
|
@@ -3001,7 +3146,7 @@ module TD::ClientMethods
|
|
3001
3146
|
# If empty, searchChatMessages should be used instead.
|
3002
3147
|
# @param from_search_id [Integer] The identifier from the result of a previous request, use 0 to get results from the
|
3003
3148
|
# last message.
|
3004
|
-
# @param limit [Integer]
|
3149
|
+
# @param limit [Integer] The maximum number of messages to be returned; up to 100.
|
3005
3150
|
# Fewer messages may be returned than specified by the limit, even if the end of the message history has not been
|
3006
3151
|
# reached.
|
3007
3152
|
# @param filter [TD::Types::SearchMessagesFilter] A filter for the content of messages in the search results.
|
@@ -3037,7 +3182,7 @@ module TD::ClientMethods
|
|
3037
3182
|
# Searches for stickers from public sticker sets that correspond to a given emoji.
|
3038
3183
|
#
|
3039
3184
|
# @param emoji [String] String representation of emoji; must be non-empty.
|
3040
|
-
# @param limit [Integer, nil]
|
3185
|
+
# @param limit [Integer, nil] The maximum number of stickers to be returned.
|
3041
3186
|
# @return [TD::Types::Stickers]
|
3042
3187
|
def search_stickers(emoji, limit = nil)
|
3043
3188
|
broadcast('@type' => 'searchStickers',
|
@@ -3148,25 +3293,21 @@ module TD::ClientMethods
|
|
3148
3293
|
#
|
3149
3294
|
# @param chat_id [Integer] Target chat.
|
3150
3295
|
# @param reply_to_message_id [Integer] Identifier of a message to reply to or 0.
|
3151
|
-
# @param
|
3152
|
-
# Not supported in secret chats.
|
3153
|
-
# @param from_background [Boolean] Pass true if the message is sent from background.
|
3296
|
+
# @param options [TD::Types::SendMessageOptions] Options to be used to send the message.
|
3154
3297
|
# @param query_id [Integer] Identifier of the inline query.
|
3155
3298
|
# @param result_id [String] Identifier of the inline result.
|
3156
3299
|
# @param hide_via_bot [Boolean] If true, there will be no mention of a bot, via which the message is sent.
|
3157
3300
|
# Can be used only for bots GetOption("animation_search_bot_username"), GetOption("photo_search_bot_username") and
|
3158
3301
|
# GetOption("venue_search_bot_username").
|
3159
3302
|
# @return [TD::Types::Message]
|
3160
|
-
def send_inline_query_result_message(chat_id, reply_to_message_id,
|
3161
|
-
|
3162
|
-
|
3163
|
-
'
|
3164
|
-
'
|
3165
|
-
'
|
3166
|
-
'
|
3167
|
-
'
|
3168
|
-
'result_id' => result_id,
|
3169
|
-
'hide_via_bot' => hide_via_bot)
|
3303
|
+
def send_inline_query_result_message(chat_id, reply_to_message_id, options, query_id, result_id, hide_via_bot)
|
3304
|
+
broadcast('@type' => 'sendInlineQueryResultMessage',
|
3305
|
+
'chat_id' => chat_id,
|
3306
|
+
'reply_to_message_id' => reply_to_message_id,
|
3307
|
+
'options' => options,
|
3308
|
+
'query_id' => query_id,
|
3309
|
+
'result_id' => result_id,
|
3310
|
+
'hide_via_bot' => hide_via_bot)
|
3170
3311
|
end
|
3171
3312
|
|
3172
3313
|
# Sends a message.
|
@@ -3174,19 +3315,15 @@ module TD::ClientMethods
|
|
3174
3315
|
#
|
3175
3316
|
# @param chat_id [Integer] Target chat.
|
3176
3317
|
# @param reply_to_message_id [Integer] Identifier of the message to reply to or 0.
|
3177
|
-
# @param
|
3178
|
-
# Not supported in secret chats.
|
3179
|
-
# @param from_background [Boolean] Pass true if the message is sent from the background.
|
3318
|
+
# @param options [TD::Types::SendMessageOptions] Options to be used to send the message.
|
3180
3319
|
# @param reply_markup [TD::Types::ReplyMarkup] Markup for replying to the message; for bots only.
|
3181
3320
|
# @param input_message_content [TD::Types::InputMessageContent] The content of the message to be sent.
|
3182
3321
|
# @return [TD::Types::Message]
|
3183
|
-
def send_message(chat_id, reply_to_message_id,
|
3184
|
-
input_message_content)
|
3322
|
+
def send_message(chat_id, reply_to_message_id, options, reply_markup, input_message_content)
|
3185
3323
|
broadcast('@type' => 'sendMessage',
|
3186
3324
|
'chat_id' => chat_id,
|
3187
3325
|
'reply_to_message_id' => reply_to_message_id,
|
3188
|
-
'
|
3189
|
-
'from_background' => from_background,
|
3326
|
+
'options' => options,
|
3190
3327
|
'reply_markup' => reply_markup,
|
3191
3328
|
'input_message_content' => input_message_content)
|
3192
3329
|
end
|
@@ -3197,17 +3334,14 @@ module TD::ClientMethods
|
|
3197
3334
|
#
|
3198
3335
|
# @param chat_id [Integer] Target chat.
|
3199
3336
|
# @param reply_to_message_id [Integer] Identifier of a message to reply to or 0.
|
3200
|
-
# @param
|
3201
|
-
# Not supported in secret chats.
|
3202
|
-
# @param from_background [Boolean] Pass true if the messages are sent from the background.
|
3337
|
+
# @param options [TD::Types::SendMessageOptions] Options to be used to send the messages.
|
3203
3338
|
# @param input_message_contents [Array<TD::Types::InputMessageContent>] Contents of messages to be sent.
|
3204
3339
|
# @return [TD::Types::Messages]
|
3205
|
-
def send_message_album(chat_id, reply_to_message_id,
|
3340
|
+
def send_message_album(chat_id, reply_to_message_id, options, input_message_contents)
|
3206
3341
|
broadcast('@type' => 'sendMessageAlbum',
|
3207
3342
|
'chat_id' => chat_id,
|
3208
3343
|
'reply_to_message_id' => reply_to_message_id,
|
3209
|
-
'
|
3210
|
-
'from_background' => from_background,
|
3344
|
+
'options' => options,
|
3211
3345
|
'input_message_contents' => input_message_contents)
|
3212
3346
|
end
|
3213
3347
|
|
@@ -3270,6 +3404,16 @@ module TD::ClientMethods
|
|
3270
3404
|
'settings' => settings)
|
3271
3405
|
end
|
3272
3406
|
|
3407
|
+
# Sends a request to TON lite server through Telegram servers.
|
3408
|
+
# Can be called before authorization.
|
3409
|
+
#
|
3410
|
+
# @param request [String] The request.
|
3411
|
+
# @return [TD::Types::TonLiteServerResponse]
|
3412
|
+
def send_ton_lite_server_request(request)
|
3413
|
+
broadcast('@type' => 'sendTonLiteServerRequest',
|
3414
|
+
'request' => request)
|
3415
|
+
end
|
3416
|
+
|
3273
3417
|
# Changes the period of inactivity after which the account of the current user will automatically be deleted.
|
3274
3418
|
#
|
3275
3419
|
# @param ttl [TD::Types::AccountTtl] New account TTL.
|
@@ -3318,7 +3462,7 @@ module TD::ClientMethods
|
|
3318
3462
|
|
3319
3463
|
# Changes the background selected by the user; adds background to the list of installed backgrounds.
|
3320
3464
|
#
|
3321
|
-
# @param background [TD::Types::InputBackground] The input background to use, null for
|
3465
|
+
# @param background [TD::Types::InputBackground] The input background to use, null for filled backgrounds.
|
3322
3466
|
# @param type [TD::Types::BackgroundType] Background type; null for default background.
|
3323
3467
|
# The method will return error 404 if type is null.
|
3324
3468
|
# @param for_dark_theme [Boolean] True, if the background is chosen for dark theme.
|
@@ -3351,6 +3495,18 @@ module TD::ClientMethods
|
|
3351
3495
|
'error_message' => error_message)
|
3352
3496
|
end
|
3353
3497
|
|
3498
|
+
# Moves a chat to a different chat list.
|
3499
|
+
# Current chat list of the chat must ne non-null.
|
3500
|
+
#
|
3501
|
+
# @param chat_id [Integer] Chat identifier.
|
3502
|
+
# @param chat_list [TD::Types::ChatList] New chat list of the chat.
|
3503
|
+
# @return [TD::Types::Ok]
|
3504
|
+
def set_chat_chat_list(chat_id, chat_list)
|
3505
|
+
broadcast('@type' => 'setChatChatList',
|
3506
|
+
'chat_id' => chat_id,
|
3507
|
+
'chat_list' => chat_list)
|
3508
|
+
end
|
3509
|
+
|
3354
3510
|
# Changes client data associated with a chat.
|
3355
3511
|
#
|
3356
3512
|
# @param chat_id [Integer] Chat identifier.
|
@@ -3375,6 +3531,24 @@ module TD::ClientMethods
|
|
3375
3531
|
'description' => description)
|
3376
3532
|
end
|
3377
3533
|
|
3534
|
+
# Changes the discussion group of a channel chat; requires can_change_info rights in the channel if it is specified.
|
3535
|
+
#
|
3536
|
+
# @param chat_id [Integer] Identifier of the channel chat.
|
3537
|
+
# Pass 0 to remove a link from the supergroup passed in the second argument to a linked channel chat (requires
|
3538
|
+
# can_pin_messages rights in the supergroup).
|
3539
|
+
# @param discussion_chat_id [Integer] Identifier of a new channel's discussion group.
|
3540
|
+
# Use 0 to remove the discussion group.
|
3541
|
+
# Use the method getSuitableDiscussionChats to find all suitable groups.
|
3542
|
+
# Basic group chats needs to be first upgraded to supergroup chats.
|
3543
|
+
# If new chat members don't have access to old messages in the supergroup, then
|
3544
|
+
# toggleSupergroupIsAllHistoryAvailable needs to be used first to change that.
|
3545
|
+
# @return [TD::Types::Ok]
|
3546
|
+
def set_chat_discussion_group(chat_id, discussion_chat_id)
|
3547
|
+
broadcast('@type' => 'setChatDiscussionGroup',
|
3548
|
+
'chat_id' => chat_id,
|
3549
|
+
'discussion_chat_id' => discussion_chat_id)
|
3550
|
+
end
|
3551
|
+
|
3378
3552
|
# Changes the draft message in a chat.
|
3379
3553
|
#
|
3380
3554
|
# @param chat_id [Integer] Chat identifier.
|
@@ -3386,8 +3560,22 @@ module TD::ClientMethods
|
|
3386
3560
|
'draft_message' => draft_message)
|
3387
3561
|
end
|
3388
3562
|
|
3563
|
+
# Changes the location of a chat.
|
3564
|
+
# Available only for some location-based supergroups, use supergroupFullInfo.can_set_location to check whether the
|
3565
|
+
# method is allowed to use.
|
3566
|
+
#
|
3567
|
+
# @param chat_id [Integer] Chat identifier.
|
3568
|
+
# @param location [TD::Types::ChatLocation] New location for the chat; must be valid and not null.
|
3569
|
+
# @return [TD::Types::Ok]
|
3570
|
+
def set_chat_location(chat_id, location)
|
3571
|
+
broadcast('@type' => 'setChatLocation',
|
3572
|
+
'chat_id' => chat_id,
|
3573
|
+
'location' => location)
|
3574
|
+
end
|
3575
|
+
|
3389
3576
|
# Changes the status of a chat member, needs appropriate privileges.
|
3390
|
-
# This function is currently not suitable for adding new members to the chat
|
3577
|
+
# This function is currently not suitable for adding new members to the chat and transferring chat ownership;
|
3578
|
+
# instead, use addChatMember or transferChatOwnership.
|
3391
3579
|
# The chat member status will not be changed until it has been synchronized with the server.
|
3392
3580
|
#
|
3393
3581
|
# @param chat_id [Integer] Chat identifier.
|
@@ -3402,9 +3590,11 @@ module TD::ClientMethods
|
|
3402
3590
|
end
|
3403
3591
|
|
3404
3592
|
# Changes the notification settings of a chat.
|
3593
|
+
# Notification settings of a chat with the current user (Saved Messages) can't be changed.
|
3405
3594
|
#
|
3406
3595
|
# @param chat_id [Integer] Chat identifier.
|
3407
3596
|
# @param notification_settings [TD::Types::ChatNotificationSettings] New notification settings for the chat.
|
3597
|
+
# If the chat is muted for more than 1 week, it is considered to be muted forever.
|
3408
3598
|
# @return [TD::Types::Ok]
|
3409
3599
|
def set_chat_notification_settings(chat_id, notification_settings)
|
3410
3600
|
broadcast('@type' => 'setChatNotificationSettings',
|
@@ -3441,6 +3631,18 @@ module TD::ClientMethods
|
|
3441
3631
|
'photo' => photo)
|
3442
3632
|
end
|
3443
3633
|
|
3634
|
+
# Changes the slow mode delay of a chat.
|
3635
|
+
# Available only for supergroups; requires can_restrict_members rights.
|
3636
|
+
#
|
3637
|
+
# @param chat_id [Integer] Chat identifier.
|
3638
|
+
# @param slow_mode_delay [Integer] New slow mode delay for the chat; must be one of 0, 10, 30, 60, 300, 900, 3600.
|
3639
|
+
# @return [TD::Types::Ok]
|
3640
|
+
def set_chat_slow_mode_delay(chat_id, slow_mode_delay)
|
3641
|
+
broadcast('@type' => 'setChatSlowModeDelay',
|
3642
|
+
'chat_id' => chat_id,
|
3643
|
+
'slow_mode_delay' => slow_mode_delay)
|
3644
|
+
end
|
3645
|
+
|
3444
3646
|
# Changes the chat title.
|
3445
3647
|
# Supported only for basic groups, supergroups and channels.
|
3446
3648
|
# Requires can_change_info rights.
|
@@ -3671,11 +3873,13 @@ module TD::ClientMethods
|
|
3671
3873
|
|
3672
3874
|
# Changes the order of pinned chats.
|
3673
3875
|
#
|
3876
|
+
# @param chat_list [TD::Types::ChatList] Chat list in which to change the order of pinned chats.
|
3674
3877
|
# @param chat_ids [Array<Integer>] The new list of pinned chats.
|
3675
3878
|
# @return [TD::Types::Ok]
|
3676
|
-
def set_pinned_chats(chat_ids)
|
3677
|
-
broadcast('@type'
|
3678
|
-
'
|
3879
|
+
def set_pinned_chats(chat_list, chat_ids)
|
3880
|
+
broadcast('@type' => 'setPinnedChats',
|
3881
|
+
'chat_list' => chat_list,
|
3882
|
+
'chat_ids' => chat_ids)
|
3679
3883
|
end
|
3680
3884
|
|
3681
3885
|
# Changes user answer to a poll.
|
@@ -3754,7 +3958,7 @@ module TD::ClientMethods
|
|
3754
3958
|
'sticker_set_id' => sticker_set_id)
|
3755
3959
|
end
|
3756
3960
|
|
3757
|
-
# Changes the username of a supergroup or channel, requires
|
3961
|
+
# Changes the username of a supergroup or channel, requires owner privileges in the supergroup or channel.
|
3758
3962
|
#
|
3759
3963
|
# @param supergroup_id [Integer] Identifier of the supergroup or channel.
|
3760
3964
|
# @param username [String] New value of the username.
|
@@ -3798,6 +4002,17 @@ module TD::ClientMethods
|
|
3798
4002
|
'username' => username)
|
3799
4003
|
end
|
3800
4004
|
|
4005
|
+
# Shares the phone number of the current user with a mutual contact.
|
4006
|
+
# Supposed to be called when the user clicks on chatActionBarSharePhoneNumber.
|
4007
|
+
#
|
4008
|
+
# @param user_id [Integer] Identifier of the user with whom to share the phone number.
|
4009
|
+
# The user must be a mutual contact.
|
4010
|
+
# @return [TD::Types::Ok]
|
4011
|
+
def share_phone_number(user_id)
|
4012
|
+
broadcast('@type' => 'sharePhoneNumber',
|
4013
|
+
'user_id' => user_id)
|
4014
|
+
end
|
4015
|
+
|
3801
4016
|
# Stops a poll.
|
3802
4017
|
# A poll in a message can be stopped when the message has can_be_edited flag set.
|
3803
4018
|
#
|
@@ -3862,7 +4077,8 @@ module TD::ClientMethods
|
|
3862
4077
|
end
|
3863
4078
|
|
3864
4079
|
# Changes the pinned state of a chat.
|
3865
|
-
# You can pin up to GetOption("pinned_chat_count_max") non-secret chats
|
4080
|
+
# You can pin up to GetOption("pinned_chat_count_max")/GetOption("pinned_archived_chat_count_max") non-secret chats
|
4081
|
+
# and the same number of secret chats in the main/archive chat list.
|
3866
4082
|
#
|
3867
4083
|
# @param chat_id [Integer] Chat identifier.
|
3868
4084
|
# @param is_pinned [Boolean] New value of is_pinned.
|
@@ -3895,6 +4111,23 @@ module TD::ClientMethods
|
|
3895
4111
|
'sign_messages' => sign_messages)
|
3896
4112
|
end
|
3897
4113
|
|
4114
|
+
# Changes the owner of a chat.
|
4115
|
+
# The current user must be a current owner of the chat.
|
4116
|
+
# Use the method canTransferOwnership to check whether the ownership can be transferred from the current session.
|
4117
|
+
# Available only for supergroups and channel chats.
|
4118
|
+
#
|
4119
|
+
# @param chat_id [Integer] Chat identifier.
|
4120
|
+
# @param user_id [Integer] Identifier of the user to which transfer the ownership.
|
4121
|
+
# The ownership can't be transferred to a bot or to a deleted user.
|
4122
|
+
# @param password [String] The password of the current user.
|
4123
|
+
# @return [TD::Types::Ok]
|
4124
|
+
def transfer_chat_ownership(chat_id, user_id, password)
|
4125
|
+
broadcast('@type' => 'transferChatOwnership',
|
4126
|
+
'chat_id' => chat_id,
|
4127
|
+
'user_id' => user_id,
|
4128
|
+
'password' => password)
|
4129
|
+
end
|
4130
|
+
|
3898
4131
|
# Removes a user from the blacklist.
|
3899
4132
|
#
|
3900
4133
|
# @param user_id [Integer] User identifier.
|