mirror of
https://github.com/telegramdesktop/tdesktop
synced 2025-09-06 01:16:12 +00:00
Initial request peer button implementation.
This commit is contained in:
@@ -13,6 +13,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||
#include "boxes/share_box.h"
|
||||
#include "boxes/passcode_box.h"
|
||||
#include "boxes/url_auth_box.h"
|
||||
#include "boxes/peers/choose_peer_box.h"
|
||||
#include "lang/lang_keys.h"
|
||||
#include "core/core_cloud_password.h"
|
||||
#include "core/click_handler_types.h"
|
||||
@@ -404,8 +405,26 @@ void ActivateBotCommand(ClickHandlerContext context, int row, int column) {
|
||||
disabled);
|
||||
} break;
|
||||
|
||||
case ButtonType::RequestPeer: { // #TODO request_peer
|
||||
case ButtonType::RequestPeer: {
|
||||
HideSingleUseKeyboard(controller, item);
|
||||
|
||||
auto query = RequestPeerQuery();
|
||||
Assert(button->data.size() == sizeof(query));
|
||||
memcpy(&query, button->data.data(), sizeof(query));
|
||||
const auto peer = item->history()->peer;
|
||||
const auto itemId = item->id;
|
||||
const auto id = int32(button->buttonId);
|
||||
const auto chosen = [=](not_null<PeerData*> result) {
|
||||
peer->session().api().request(MTPmessages_SendBotRequestedPeer(
|
||||
peer->input,
|
||||
MTP_int(itemId),
|
||||
MTP_int(id),
|
||||
result->input
|
||||
)).done([=](const MTPUpdates &result) {
|
||||
peer->session().api().applyUpdates(result);
|
||||
}).send();
|
||||
};
|
||||
ShowChoosePeerBox(controller, chosen, query);
|
||||
} break;
|
||||
|
||||
case ButtonType::SwitchInlineSame:
|
||||
|
Reference in New Issue
Block a user