Python 如何使用telethon登录多个帐户。。。?

Python 如何使用telethon登录多个帐户。。。?,python,telegram,telegram-bot,python-telegram-bot,telethon,Python,Telegram,Telegram Bot,Python Telegram Bot,Telethon,我正在尝试构建一个python脚本,它需要使用多个电报帐户登录。我不想为每个帐户运行单独的脚本。我正在使用TELETHON。我知道telethon中有类似“创建新连接”的功能,但我不知道它如何帮助我。有没有一种方法可以让我只使用一个python脚本并使用多个帐户登录。。? (如果可能,请在回答中包含要使用的代码片段)创建多个客户端 user1 = TelegramClient(...) user2 = TelegramClient(...) 创建客户机时,传递的第一个参数是会话文件名。不同的会

我正在尝试构建一个python脚本,它需要使用多个电报帐户登录。我不想为每个帐户运行单独的脚本。我正在使用TELETHON。我知道telethon中有类似“创建新连接”的功能,但我不知道它如何帮助我。有没有一种方法可以让我只使用一个python脚本并使用多个帐户登录。。?
(如果可能,请在回答中包含要使用的代码片段)

创建多个客户端

user1 = TelegramClient(...)
user2 = TelegramClient(...)

创建客户机时,传递的第一个参数是会话文件名。不同的会话可以有不同的客户端登录,因此创建多个客户端就足够了,每个客户端都有不同的会话文件名,以便它们使用不同的帐户:

user1 = TelegramClient('user1', api_id, api_hash)
user2 = TelegramClient('user2', api_id, api_hash)
当然,您也可以使用列表来支持任意数量的客户端。您如何处理这些客户取决于您,尽管您通常只会利用以下内容中所述的优势:

导入异步IO
异步def工作(客户端):
与客户端异步:
我=等待客户。抓住我()
打印('与我一起工作',我的名字)
异步def main():
等待asyncio.gather(
工作(电报客户端('user1',api\u id,api\u散列)),
工作(电报客户端('user1',api\u id,api\u散列)),
)
asyncio.run(main())

当然,你可以为每一个单独运行代码,使用条件等等。这在很大程度上取决于你的需求,这些需求也会影响你的设计。

>我知道telethon中有类似于
创建新连接的东西。没有(它曾经是一个东西,但是被移除了)。在任何情况下,它都不能满足您的需要。虽然这是正确的方法,但答案有点模糊:它没有解释为什么会这样做,没有解释为什么需要不同的会话文件以及为什么,也没有解释如何同时运行这两个文件。耶。。!非常感谢,伙计。我尝试了上面的代码,它工作得非常好。但是我有一个小问题。如何使用asyncio.gather..处理事件?就像您可以在每个客户端上使用客户端方法一样,您可以在装饰器中使用它们或调用添加事件处理程序。文档中列出了可用的方法。@Lonami您能否给出一个提示,使用Telethon运行多个“轮询”的首选方法是什么?使用
clientX.start()clientX.run_直到断开连接()
,运行多个
create_task
可以吗?@Lonami您还知道如何在运行时添加或删除客户端吗?@Alp您需要保留生成的任务列表,以便它们可以同时运行。