refactor: korzeń kompozycji i usunięcie starych modułów
- Application składa wszystkie zależności w jednym miejscu i prowadzi bota równolegle z serwerem web. Panel przeżywa awarię logowania do Discorda, tak jak dotąd, ale komunikat idzie przez logging zamiast print. - zyrarbot/__main__.py pozwala uruchomić pakiet przez python -m zyrarbot i konfiguruje logowanie; main.py zostaje cienkim punktem wejścia. - Usunięte bot.py, web.py i ytdl.py - ich zawartość rozeszła się po pakiecie. Zniknął przy tym globalny obiekt bota tworzony przy imporcie modułu, który wymuszał kolejność importów między bot.py a web.py. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
3fb1e26fb4
commit
526e9ab644
6 files changed
+113
-1662
No files matched your search
@@ -1,28 +1,6 @@
|
||||
import asyncio
|
||||
import uvicorn
|
||||
from bot import bot, TOKEN
|
||||
from web import app
|
||||
|
||||
|
||||
async def main():
|
||||
async with bot:
|
||||
config = uvicorn.Config(app, host="0.0.0.0", port=8000, log_level="info")
|
||||
server = uvicorn.Server(config)
|
||||
server_task = asyncio.create_task(server.serve())
|
||||
try:
|
||||
await bot.start(TOKEN)
|
||||
except Exception as e:
|
||||
print(f"Error starting Discord bot: {e}")
|
||||
print("Keep running FastAPI web server...")
|
||||
while not server.should_exit:
|
||||
try:
|
||||
await asyncio.sleep(1)
|
||||
except asyncio.CancelledError:
|
||||
break
|
||||
finally:
|
||||
server.should_exit = True
|
||||
await server_task
|
||||
"""Punkt wejścia aplikacji - cała logika mieszka w pakiecie ``zyrarbot``."""
|
||||
|
||||
from zyrarbot.__main__ import main
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
main()
|
||||
Reference in new issue
Block a user