Здраствуйте, решил реализовать оплату в телеграм боте, но у меня уже есть готовый шаблон и я решил его просто перенести в моего телеграм бота, но после перенесение цикл не работает, и не проверяет платежи из checks
async def check_pays(bot):
print("ЦИКЛ РАБОТАЕТ")
data = {'API_ID': aiopayok_conf['api_id'], 'API_KEY': aiopayok_conf['api_key'], 'shop': aiopayok_conf['shop']} # дата для запроса
while True:
await asyncio.sleep(30)
print("ЦИКЛ РАБОТАЕТ")
oplats = cursor.execute("SELECT userid, checkid, money FROM checks").fetchall()
for oplata in oplats:
try:
trans = requests.post('https://payok.io/api/transaction', data=data | {'payment': oplata[1]}) # гетаем транзу
if trans.status_code == 200 and trans.json()['status'] == 'success' and trans.json()[list(trans.json().keys())[-1]]['transaction_status'] == '1':
print("ПЛАТЕЖ ПОДТВЕРЖДЕН")
user_id = oplata[0]
amount = oplata[2]
# user = cursor.execute(f"SELECT balance FROM users WHERE id = {user_id}").fetchone()
# cursor.execute(f"UPDATE users SET balance = {newbal} WHERE id = {user_id}")
# db.commit()
# cursor.execute("INSERT INTO recharges (user_id, amount) VALUES (?, ?)", (user_id, amount))
# db.commit()
# cursor.execute(f"DELETE FROM checks WHERE checkid = '{oplata[1]}'")
# db.commit()
# log_channel = await bot.fetch_channel(logid)
# member = await bot.fetch_user(int(user_id))
# embed = disnake.Embed(title="Пополнен баланс", description=f"Вы пополнили свой баланс на:\n{oplata[2]} RUB", color=disnake.Color.from_rgb(47,49,54))
# await member.send(embed=embed)
# embed = disnake.Embed(title="Пополнение баланса", description=f"Пользователь: <@{user_id}> \n**Сумма:** {oplata[2]} RUB", color=disnake.Color.from_rgb(47,49,54))
# await log_channel.send(embed=embed)
except sqlite3.OperationalError:
await asyncio.sleep(1)
continue
if __name__ == '__main__':
executor.start_polling(dp, skip_updates=True, on_startup=on_startup)
bot.loop.create_task(check_pays(bot))