Я пытаюсь запустить бота на pycord вместе с FastAPI. Но я заметил, что после ~10 минут работы - бот перестает отвечать. С чем это может быть связано?
При этом в консоль он выводит, что успешно переподключился, а перед тем как перестать отвечать он пишет: "bot is ready and online!".
Вот пример кода, который воспроизводит эту ошибку:
import asyncio
from contextlib import asynccontextmanager
import discord
import uvicorn
from fastapi import FastAPI
TOKEN = ""
bot = discord.Bot()
@bot.event
async def on_ready():
print(f"{bot.user} is ready and online!")
@bot.event
async def on_resumed():
print(f"{bot.user} is resumed")
@bot.slash_command(name="ping")
async def ping(ctx):
await ctx.respond("Pong!")
@asynccontextmanager
async def lifespan(application: FastAPI):
asyncio.create_task(bot.start(TOKEN))
yield
await bot.close()
app = FastAPI(lifespan=lifespan)
uvicorn.run(app)