Files
HoshiNoTama/src/bot.py

49 lines
1.1 KiB
Python

import asyncio
import logging
import websockets
from twitchio.web import AiohttpAdapter
from meta import Bot, conf, setup_main_logger, args, sockets
from data import Database
from modules import twitch_setup
logger = logging.getLogger(__name__)
class ProxyAiohttpAdapter(AiohttpAdapter):
def _find_redirect(self, request):
return self.redirect_url
async def main():
db = Database(conf.data['args'])
async with db.open():
adapter = ProxyAiohttpAdapter(
host=conf.bot.get('wshost', None),
port=conf.bot.getint('wsport', None),
domain=conf.bot.get('wsdomain', None),
eventsub_secret=conf.bot.get('eventsub_secret', None)
)
bot = Bot(
config=conf,
dbconn=db,
adapter=adapter,
setup=twitch_setup,
)
async with websockets.serve(sockets.root_handler, '', conf.wserver.getint('port')):
try:
await bot.start()
finally:
await bot.close()
def _main():
setup_main_logger()
asyncio.run(main())