Задать вопрос
@RiderMC

Как сделать пересылку сообщения после оплаты в телеграм боте?

Пишу на aiogram.
Сделал оплату qiwi p2p, и хочу чтобы после оплаты бот пересылал сообщение в другой чат.
Не могу понять как сделать, уже всё перепробовал, и документации читал, и в ютубе/гугле искал, не могу найти почему не работает

@dp.callback_query_handler(text_contains='check_payment_')
async def menu(call: types.CallbackQuery):
code = call.data[14:]
result_pay = False
try:
qiwi_history = await get_history(config.number, config.qiwi)

for i in range(4):
if qiwi_history['data'][i]['comment'] == str(code) and qiwi_history['data'][i]['sum']['amount'] == int(config.cost):
result_pay = True

await call.message.edit_text('Оплачено!!\nВведите текст:')
z = call.message.text
app_text = []
app_text.append(z)
await bot.forward_message(ADMIN_ID, app_text)

if not result_pay:
payment = InlineKeyboardMarkup()
payment.add(InlineKeyboardButton('Проверить оплату', callback_data = f'check_payment_{code}'))
await bot.send_message(call.from_user.id, 'Платеж не найден.', reply_markup=payment)
except Exception as e:
payment = InlineKeyboardMarkup()
payment.add(InlineKeyboardButton('Проверить оплату', callback_data = f'check_payment_{code}'))
await bot.send_message(call.from_user.id, "Администратор не настроил оплату, уведомите его об этом")
print(e)
  • Вопрос задан
  • 129 просмотров
Подписаться 1 Простой 5 комментариев
Пригласить эксперта
Ответы на вопрос 1
@puzaka
Ну во-первых, делать проверку платежа не через проверку истории, у API киви есть специальные функции для этого (документацию посмотри).
Во-вторых, когда ты сделаешь то, что я написал выше, сделай так:
пользователь нажимает на Inline кнопку 'Проверить оплату' (название на свой вкус), и проверяешь, если оплата прошла, тогда:
await bot.send_message('ID своего чата', f'пользователь {message.from_user_id} оплатил')
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы