@mirnov_q

Переместил цикл из Discord бота в Telegram бота, но он не работает, как можно исправить?

Здраствуйте, решил реализовать оплату в телеграм боте, но у меня уже есть готовый шаблон и я решил его просто перенести в моего телеграм бота, но после перенесение цикл не работает, и не проверяет платежи из 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))
  • Вопрос задан
  • 85 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы