python - 将成员从一个电报超级组转移到另一个没有好的结果
问题描述
我必须从另一个已作为备份的Telegram 超级组(大约 6k)转移成员。我们已经尝试向他们发送链接,但大多数人不会打扰。
我在Telethon中尝试这样做,但除了一次运行 1 到 12 个用户之外,它停止做任何事情。我是两个组的管理员。
from telethon.sessions.string import StringSession
from telethon.tl.functions.channels import InviteToChannelRequest
import asyncio
api_id = xxxxx
api_hash = 'xxxxxxx'
string = 'xxxxxx'
client = TelegramClient(StringSession(string), api_id, api_hash)
loop = asyncio.get_event_loop()
origin = 'original_group'
destination = 'backup'
invited = []
async def transfer():
users = client.iter_participants(origin, aggressive =True)
async for user in users:
invited.append(user)
await client(InviteToChannelRequest(
destination,
invited
))
with client:
client.loop.run_until_complete(transfer())
当我运行代码时,终端只是永远运行,但组中没有任何变化。
你能指出我的错误吗?
谢谢。
解决方案
尝试这个:
async def transfer():
users = client.iter_participants(origin, aggressive =True)
__users = list()
async for user in users:
__users.append(user.id)
for user in __users:
await client(InviteToChannelRequest(destination, [user]))
推荐阅读
- python - Python 三元运算顺序
- python - 在 sqlalchemy 中插入带有外键的记录的正确方法
- java - AVL 树左旋转
- c# - 将 nvarchar 转换为 int 会导致错误消息
- ide - Pycharm 上的“Alt”键故障
- java - 我如何获取值(ArrayList
Books 变量)在我的 getBooks() 中生成到我的 onCreate 方法中? - java - Hibernate 无法将许多学生映射到一个班级
- vuejs2 - 在 vue 中延迟组件的渲染
- javascript - 如何在侧面嵌套数组猫鼬中定义对象数组
- php - 我在 Laravel 中的 JSON 响应中的重复值