telethon会话存储的sqlalchemy后端

telethon-session-sqlalchem的Python项目详细描述


SQLAlchemy支持的Telethon会话存储实现。

安装

telethon-session-sqlalchemy@pypi

pip install telethon-session-sqlalchemy

用法

这个会话实现可以在同一个数据库中存储多个会话, 但是要做到这一点,每个会话实例都需要访问相同的模型 和数据库会话。

要开始,您需要创建一个AlchemySessionContainer,它将 包含共享数据。使用^{tt1}的最简单方法$ 只需将数据库url传递给它即可:

fromalchemysessionimportAlchemySessionContainercontainer=AlchemySessionContainer('mysql://user:pass@localhost/telethon')

如果已经为自己的项目设置了sqlalchemy,也可以通过 单独使用发动机:

my_sqlalchemy_engine=sqlalchemy.create_engine('...')container=AlchemySessionContainer(engine=my_sqlalchemy_engine)

默认情况下,会话容器将管理表创建/架构更新/etc 自动。如果你想自己管理一切,你可以通过 sqlalchemy会话和declarative_base实例并设置manage_tablesFalse

fromsqlalchemy.ext.declarativeimportdeclarative_basefromsqlalchemyimportormimportsqlalchemy...session_factory=orm.sessionmaker(bind=my_sqlalchemy_engine)session=session_factory()my_base=declarative_base()...container=AlchemySessionContainer(session=session,table_base=my_base,manage_tables=False)

您始终需要向容器提供enginesession。 如果设置manage_tables=False并提供session,则engine不是 需要。在任何其他情况下,engine始终是必需的。

创建AlchemySessionContainer实例后,可以 通过调用new_session

创建新会话
session=container.new_session('some session id')client=TelegramClient(session)

其中some session id是会话的唯一标识符。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何在Java和Javascript之间共享常量   c#无法使用Gson反序列化字节[]   如果字符串是实十进制数字,则在Java中仅显示十进制数字   与Android Studio的java FireBase同步失败   web应用程序的Java Oracle数据库更改通知问题   数组中缺少整数的java嵌套循环   zos在z/os上以TOD格式(一天中的时间)转换Java时间戳   java JAXB未根据注释生成XML(JDK 1.7)   java使用Twitter4j和Geolocation查找在该地区发布推文的用户,但如何获取用户ID?   在Libgdx中实现简单运动模糊的java意外结果   java在Android数据库中插入另一个EditText值?   java标准偏差数组(我的算法错误)   java如何修复M1 Mac的Ant javascript标记?   java遍历树标记值的长度   java理解Springboot中的Cron,自动发送电子邮件   java如何将“Data.Json”文件从资产保存到内部存储器,然后将其用于读/写   java代码在编写FirstDuplicate方法时会遇到时间限制问题   java将HTML转换为PDF并将其添加到段落中   javascript css()未设置正文标记的背景属性