@dp.callback_query_handler(text='un_card')
async def start(message):
db = await register_method.reg(message)
await bot.delete_message(chat_id=message.from_user.id, message_id=message.message.message_id)
db[message.from_user.id]['balance'] = float(db[message.from_user.id]['balance']) - float(db[message.from_user.id]['invest'])
await codecs_method.write('users.json', db)
await bot.send_message(chat_id=message.from_user.id,
text='Введите платежные данные,чтобы вывести средства!',parse_mode= 'markdown')
if message.text == '333':
await bot.send_message(chat_id=message.from_user.id,
text='Заявка ',)
else:
await bot.send_message(chat_id=message.from_user.id,
text='Неправильный ввод карты!'
'\nВывод средств разрешен только на ту карту, с которой баланс был пополнен!')
Ошибка: if message.text == '333':
AttributeError: 'CallbackQuery' object has no attribute 'text'
@bot.callback_query_handler(func=lambda call: True)
def handle_callback(call):
bot.answer_callback_query(call.id, text='Callback received')
func
с лямбдой - это и есть пример такой функции, передаваемой как параметр хэндлера, означающий, что функция handle_callback
, зарегистрированная при помощи обертки-хэндлера, при любом обратном вызове активируется, так как func
просто всегда True
True
, там можно написать какое-то условие, которое при выполнении вернёт True
и тогда хэндлер сработает. @dp.callback_query_handler(text='un_card')
async def start(callback_query):
message = callback_query.message
db = await register_method.reg(message)
await bot.delete_message(chat_id=message.chat.id, message_id=message.message_id)
db[message.from_user.id]['balance'] = float(db[message.from_user.id]['balance']) - float(db[message.from_user.id]['invest'])
await codecs_method.write('users.json', db)
await bot.send_message(chat_id=message.from_user.id,
text='Введите платежные данные, чтобы вывести средства!', parse_mode='markdown')
if callback_query.data == '333':
await bot.send_message(chat_id=message.from_user.id,
text='Заявка')
else:
await bot.send_message(chat_id=message.from_user.id,
text='Неправильный ввод карты!'
'\nВывод средств разрешен только на ту карту, с которой баланс был пополнен!')