Уведомление администрации, конкретно после нажатия инлайн кнопки с URL ссылкой. [config / callback_data / InlineKeyboardButton]
Вот так скажем чистый пример, когда уведомление админу, приходит вместе с основным сообщением.
Но очень хочется, чтобы уведомление приходило, конкретно после того, как юзер нажмет на кнопку с URL ссылкой.
@dp.callback_query_handler(text='klik')
async def send_message(call: types.CallbackQuery):
pro = InlineKeyboardMarkup(row_width=1,
inline_keyboard=[
[
InlineKeyboardButton(text='Текст', url='URL')
]])
user_id = call.from_user.id
user_name = call.from_user.username
user = await commands.select_user(user_id)
count_refs = await commands.count_refs(user_id)
await call.message.answer('ТЕКСТ', reply_markup=pro)
await dp.bot.send_message(chat_id=config.admins[0], text=f'ТЕКСТ\n'
f'@{user_name}\n'
f'<code>{user_id}</code>\n'
f'{user.server}\n'
f'{user.status}\n'
f'{count_refs}')
Вот пример, как я безуспешно пытался реализовать задуманное
@dp.callback_query_handler(text='klik')
async def send_message(call: types.CallbackQuery):
pro = InlineKeyboardMarkup(row_width=1,
inline_keyboard=[
[
InlineKeyboardButton(text='Текст', callback_data='go_to_lk', url='URL')
]])
user_id = call.from_user.id
user_name = call.from_user.username
user = await commands.select_user(user_id)
count_refs = await commands.count_refs(user_id)
await call.message.answer('ТЕКСТ', reply_markup=pro)
await dp.bot.send_message(chat_id=config.admins[0], text=f'ТЕКСТ\n'
f'@{user_name}\n'
f'<code>{user_id}</code>\n'
f'{user.server}\n'
f'{user.status}\n'
f'{count_refs}')
#Либо так
@dp.callback_query_handler(lambda c: c.data == 'go_to_lk')
################################################################
@dp.callback_query_handler(text='go_to_lk')
async def sen_message(call: types.CallbackQuery):
await call.message.answer('KYKYKY')
await dp.bot.send_message(chat_id=config.admins[0], text='DAROVAAAAAA')
#Если убрать URL и оставить callback_data, эти меседжи успешно дойдут
Просто напросто, URL как будто перебивает калбек, или оно так и не должно работать.
Еще пробовал добавлять туда состояния, тоже безуспешно.
Буду очень признателен, если кто-нибудь поможет с данным вопросиком :3
Источник: Stack Overflow на русском