在超级组中,每次用户加入该组时,我的机器人都会收到一条消息(通过注册
MessageHandler
和
~filters.private
过滤器),因此我知道它是谁(来自
new_chat_members
字段),如果它存在,我可以踢它不满足某些条件(例如,它没有设置用户名)。
但是,如果我将机器人放入频道中,当用户加入它时我不会收到任何消息(或者,至少不使用一个
MessageHandler
)。是否有可能得到相同的行为?
谢谢
使用 Pyrogram,无法在有用户加入频道时收到通知。频道不允许使用机器人接收此类事件的回调或更新。
这是因为 Telegram 的 API 天生就缺乏对频道加入事件的支持。频道注重隐私,管理员无法看到加入频道的用户列表。因此,无法跟踪谁加入了频道,也不可能触发机器人为此类事件执行操作。
替代方案:
虽然无法在用户加入频道时获得通知,但可以在用户与频道互动时,探索其他欢迎新用户的方法:
-
欢迎消息和频道规则: 可以设置一个欢迎消息,并在频道说明或置顶消息中包含频道规则。当用户加入时,鼓励他们阅读这些信息。
-
机器人命令交互: 鼓励用户通过向的机器人发送命令来进行交互。这可以让验证他们是否满足的标准,并可以借此机会向他们发送个性化的欢迎消息。
-
使用群组和频道链接: 可以在一个超级群组中添加的机器人,并使用频道链接邀请用户加入。这样,就可以跟踪群组中的加入事件,并将满足条件的用户重定向到的频道。
请记住,这些替代方案无法提供与超级群组相同的级别的控制,因为无法在用户加入频道时自动对其进行审核或采取行动。
标签:python,telegram,pyrogram From: 69913191