@@ -241,6 +241,37 @@ void CallbackQueriesManager::on_new_query(int64 callback_query_id, UserId sender
241241 chat_instance, std::move (payload)));
242242}
243243
244+ void CallbackQueriesManager::on_new_ephemeral_query (
245+ int64 callback_query_id, UserId sender_user_id, BufferSlice &&data,
246+ telegram_api::object_ptr<telegram_api::ephemeralMessage> &&message) {
247+ if (!sender_user_id.is_valid ()) {
248+ LOG (ERROR ) << " Receive new ephemeral callback query from invalid " << sender_user_id;
249+ return ;
250+ }
251+ LOG_IF (ERROR , !td_->user_manager_ ->have_min_user (sender_user_id)) << " Receive unknown " << sender_user_id;
252+ if (!td_->auth_manager_ ->is_bot ()) {
253+ LOG (ERROR ) << " Receive new callback query" ;
254+ return ;
255+ }
256+
257+ auto payload = get_query_payload (std::move (data), string ());
258+ if (payload == nullptr ) {
259+ return ;
260+ }
261+
262+ auto message_full_id = td_->messages_manager_ ->on_edited_ephemeral_message (std::move (message), true );
263+ if (!message_full_id.get_message_id ().is_local ()) {
264+ LOG (ERROR ) << " Receive ephemeral callback query from " << message_full_id;
265+ return ;
266+ }
267+
268+ send_closure (G ()->td (), &Td::send_update,
269+ td_api::make_object<td_api::updateNewCallbackQuery>(
270+ callback_query_id, td_->user_manager_ ->get_user_id_object (sender_user_id, " updateNewCallbackQuery" ),
271+ td_->dialog_manager_ ->get_chat_id_object (message_full_id.get_dialog_id (), " updateNewCallbackQuery" ),
272+ message_full_id.get_message_id ().get (), 0 , std::move (payload)));
273+ }
274+
244275void CallbackQueriesManager::on_new_inline_query (
245276 int64 callback_query_id, UserId sender_user_id,
246277 tl_object_ptr<telegram_api::InputBotInlineMessageID> &&inline_message_id, BufferSlice &&data, int64 chat_instance,
0 commit comments