Return user_id in inline keyboard as is for local and yet unsent messages.

This commit is contained in:
levlam 2022-06-29 11:17:22 +03:00
parent e8dccae751
commit d9d76adb7c
2 changed files with 8 additions and 4 deletions

View File

@ -24602,7 +24602,8 @@ tl_object_ptr<td_api::message> MessagesManager::get_message_object(DialogId dial
auto edit_date = m->hide_edit_date ? 0 : m->edit_date;
auto is_pinned = is_scheduled ? false : m->is_pinned;
auto has_timestamped_media = for_event_log || reply_to_message_id == 0 || m->max_own_media_timestamp >= 0;
auto reply_markup = get_reply_markup_object(td_->contacts_manager_.get(), m->reply_markup);
auto reply_markup =
get_reply_markup_object(m->message_id.is_any_server() ? td_->contacts_manager_.get() : nullptr, m->reply_markup);
auto live_location_date = m->is_failed_to_send ? 0 : m->date;
auto skip_bot_commands = for_event_log ? true : need_skip_bot_commands(dialog_id, m);

View File

@ -895,10 +895,13 @@ static tl_object_ptr<td_api::inlineKeyboardButton> get_inline_keyboard_button_ob
case InlineKeyboardButton::Type::CallbackWithPassword:
type = make_tl_object<td_api::inlineKeyboardButtonTypeCallbackWithPassword>(keyboard_button.data);
break;
case InlineKeyboardButton::Type::User:
type = make_tl_object<td_api::inlineKeyboardButtonTypeUser>(
contacts_manager->get_user_id_object(keyboard_button.user_id, "get_inline_keyboard_button_object"));
case InlineKeyboardButton::Type::User: {
auto user_id = contacts_manager == nullptr ? keyboard_button.user_id.get()
: contacts_manager->get_user_id_object(
keyboard_button.user_id, "get_inline_keyboard_button_object");
type = make_tl_object<td_api::inlineKeyboardButtonTypeUser>(user_id);
break;
}
case InlineKeyboardButton::Type::WebView:
type = make_tl_object<td_api::inlineKeyboardButtonTypeWebApp>(keyboard_button.data);
break;