Удалить inline-клавиатуру для конкретного пользователя в канале

Бот на aiogram отправляет сообщение в канал с двумя кнопками ("рейтинг +1" и "рейтинг -1") inline-клавиатуры. Как можно сделать так, чтобы при нажатии на кнопку пользователем кнопки пропадали только у него (либо становились disabled)? Сейчас в этом коде кнопки пропадают у всех, после первого нажавшего пользователя.

# создание клавиатуры
def get_keyboard(_quote_uid: int):
    # создание кнопок
    rating_up = types.InlineKeyboardButton(text='рейтинг +1', callback_data=f'update_up_{_quote_uid}')
    rating_down = types.InlineKeyboardButton(text='рейтинг -1', callback_data=f'update_down_{_quote_uid}')
    # сборка клавиатуры
    keyboard = types.InlineKeyboardMarkup(inline_keyboard=[[rating_up, rating_down]])
    return keyboard
    

# функция отправки сообщения
async def send_quote() -> None:
    # получение цитаты и её uid
    get_quote: list = get_quote_db()
    quote_uid: int = get_quote[0]
    quote: str = get_quote[1]
    logging.info(f"send_quote: {quote_uid}")
    # отправка
    await bot.send_message(
        CHAT_ID,
        text=quote,
        reply_markup=get_keyboard(quote_uid)
    )


# обработчик клика на кнопки
@dp.callback_query(F.data.startswith("update_"))
async def update_db(callback: types.CallbackQuery) -> None:
    action = callback.data.split('_')[1]
    quid = callback.data.split('_')[2]
    # отправка в БД
    set_vote_db(quid, action)
    # удаление клавиатуры
    await bot.edit_message_reply_markup(
        chat_id=callback.message.chat.id,
        message_id=callback.message.message_id, 
        reply_markup=None
    )
    await callback.answer(text='Ваш голос учтён. Спасибо!')

Ответы (1 шт):

Автор решения: Vyacheslav

В итоге сделал запись нажатий кнопок в БД и проверку на повторное нажатие

→ Ссылка