问题描述
我有一个运行在python上并基于telethon库的电报机器人。我想标记组中的所有成员,但是我的代码源有100个用户标记限制,并且当我要将其成员数增加到500个或什至更多时,它不会标记整个用户,而只是给我他们的名字,只是标记前100个用户。请帮助我,如何在不给用户计数的情况下标记组中的所有成员。代码如下:
import asyncio
from telethon import events
from telethon.tl.types import ChannelParticipantsAdmins
async def _(event):
if event.fwd_from:
return
mentions = "All members tagged successfully!"
chat = await event.get_input_chat()
async for x in borg.iter_participants(chat,100):
mentions += f" \n [{x.first_name}](tg://user?id={x.id})"
await event.reply(mentions)
await event.delete()
我可以通过以下代码对管理员进行分组标记:
async def _(event):
if event.fwd_from:
return
mentions = "Administrators in the chat : "
chat = await event.get_input_chat()
async for x in borg.iter_participants(chat,filter=ChannelParticipantsAdmins):
mentions += f" \n [{x.first_name}](tg://user?id={x.id})"
reply_message = None
if event.reply_to_msg_id:
reply_message = await event.get_reply_message()
await reply_message.reply(mentions)
else:
await event.reply(mentions)
await event.delete()
我可以在上面的代码中添加一个类似于ChannelParticipantsAdmins的过滤器,而不是在之前的100个代码中计数用户吗?如果是,则过滤器部分应该是什么。
感谢您的帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)