Как сделать принятие клавишы при нажатие приходит юзеру сообщения Aiogram 3
@router.callback_query(F.data == 'accept')
async def accept_action(callback: CallbackQuery, bot: Bot):
other_user_id = 6623746189
await bot.send_message(chat_id=other_user_id, text="Вы были приняты в группу!")
await bot.answer_callback_query(callback_query_id=callback.id, text="Пользователь был принят!")
@router.callback_query(F.data == 'decline')
async def accept_action(callback: CallbackQuery, bot: Bot):
other_user_id = 6623746189
await bot.send_message(chat_id=other_user_id, text="Вас не приняли в группу.")
await bot.answer_callback_query(callback_query_id=callback.id, text="Ваша заявка отклонена.")
accept_decline = InlineKeyboardMarkup(inline_keyboard=[
[
InlineKeyboardButton(text="Принять", callback_data=f"accept"),
InlineKeyboardButton(text="Отклонить", callback_data="decline")
]
])
Как сделать обработку при нажатии принять юзеру приходило сообщение что бы не вводит его юзер id
Ответы (1 шт):
Автор решения: user580418
→ Ссылка
@router.callback_query(lambda c: c.data and c.data.startswith('accept'))
async def accept_action(callback_query: types.CallbackQuery, bot: Bot):
data = callback_query.data.split("_")
other_user_id = 6623746189
await bot.send_message(chat_id=data[1], text="Вы были приняты в группу!")
await bot.answer_callback_query(callback_query_id=callback_query.id, text="Пользователь был принят!")
@router.callback_query(lambda c: c.data and c.data.startswith('decline'))
async def accept_action(callback_query: types.CallbackQuery, bot: Bot):
data = callback_query.data.split("_")
other_user_id = 6623746189
await bot.send_message(chat_id=data[1], text="Вас не приняли в группу.")
await bot.answer_callback_query(callback_query_id=callback_query.id, text="Ваша заявка отклонена.")
accept_decline = InlineKeyboardMarkup(inline_keyboard=[
[
InlineKeyboardButton(text="Принять", callback_data=f"accept_{ID}"),
InlineKeyboardButton(text="Отклонить", callback_data=f"decline_{ID}")
]
])
Вроде бы так.Т.е. вы при отправке кнопок добавляете user id и при нажатии на них код получает данные с ID