Use Telethon's new AlchemySession for session storage

This commit is contained in:
Tulir Asokan
2018-03-02 20:22:03 +02:00
parent 46cac040c7
commit 3a4628cb6e
4 changed files with 130 additions and 10 deletions
+6 -2
View File
@@ -22,6 +22,7 @@ import asyncio
import sqlalchemy as sql
from sqlalchemy import orm
from telethon.sessions import AlchemySessionContainer
from mautrix_appservice import AppService
from .base import Base
@@ -77,14 +78,17 @@ db_session = orm.scoping.scoped_session(db_factory)
Base.metadata.bind = db_engine
Base.metadata.create_all()
telethon_session_container = AlchemySessionContainer(engine=db_engine, session=db_session,
table_base=Base, table_prefix="telethon_",
manage_tables=False)
loop = asyncio.get_event_loop()
appserv = AppService(config["homeserver.address"], config["homeserver.domain"],
config["appservice.as_token"], config["appservice.hs_token"],
config["appservice.bot_username"], log="mau.as", loop=loop)
context = Context(appserv, db_session, config, loop, None, None)
context = Context(appserv, db_session, config, loop, None, None, telethon_session_container)
if config["appservice.public.enabled"]:
public = PublicBridgeWebsite(loop)