首页 > 编程问答 >Pyrogram - 当用户加入频道时收到通知

Pyrogram - 当用户加入频道时收到通知

时间:2024-07-21 05:35:39浏览次数:13  
标签:python telegram pyrogram

在超级组中,每次用户加入该组时,我的机器人都会收到一条消息(通过注册 MessageHandler ~filters.private 过滤器),因此我知道它是谁(来自 new_chat_members 字段),如果它存在,我可以踢它不满足某些条件(例如,它没有设置用户名)。

但是,如果我将机器人放入频道中,当用户加入它时我不会收到任何消息(或者,至少不使用一个 MessageHandler )。是否有可能得到相同的行为?

谢谢


使用 Pyrogram,无法在有用户加入频道时收到通知。频道不允许使用机器人接收此类事件的回调或更新。

这是因为 Telegram 的 API 天生就缺乏对频道加入事件的支持。频道注重隐私,管理员无法看到加入频道的用户列表。因此,无法跟踪谁加入了频道,也不可能触发机器人为此类事件执行操作。

替代方案:

虽然无法在用户加入频道时获得通知,但可以在用户与频道互动时,探索其他欢迎新用户的方法:

  1. 欢迎消息和频道规则: 可以设置一个欢迎消息,并在频道说明或置顶消息中包含频道规则。当用户加入时,鼓励他们阅读这些信息。

  2. 机器人命令交互: 鼓励用户通过向的机器人发送命令来进行交互。这可以让验证他们是否满足的标准,并可以借此机会向他们发送个性化的欢迎消息。

  3. 使用群组和频道链接: 可以在一个超级群组中添加的机器人,并使用频道链接邀请用户加入。这样,就可以跟踪群组中的加入事件,并将满足条件的用户重定向到的频道。

请记住,这些替代方案无法提供与超级群组相同的级别的控制,因为无法在用户加入频道时自动对其进行审核或采取行动。

标签:python,telegram,pyrogram
From: 69913191

相关文章

  • Python:对很高维的矩阵进行对角化?
    目前我正在研究一个涉及对角化矩阵以获得特征值和特征向量的问题。但现在我想将问题扩展到200,000x200,000的尺寸。我查找了如何将矩阵存储在numpy中,有人建议使用PyTables。看起来很有希望。但我想知道哪里有工具可以帮助对PyTables中的矩阵存储进行对角化。......
  • 除了curses之外,是否有一个python包可以轻松控制终端的输出?
    我现在正在处理一些小项目,我对GUI的偏好是终端中漂亮的文本界面。我宁愿不强迫用户处理Windowscurses二进制文件,所以我正在寻找不同的选项。我已经发现了asciimatics,但我想考虑所有可能的选择。如果有人有任何经验或知道解决此用例的包,我将不胜感激。谢谢你说的没错......
  • 当值来自函数 python unittest 时,如何模拟全局变量
    我必须在python中模拟全局变量,但变量值来自另一个函数。当我导入文件时,这个函数正在运行,但我想要那里的模拟值。secrets.pyimporttracebackimportloggingimportboto3importosimportjsonlogger=logging.getLogger()logger.setLevel(logging.INFO)secret_......
  • 使用 python print 和 gdb 时出现 BrokenPipeError
    我正在尝试在Linux中运行应用程序并使用Python生成输入:python3-c'print(".....")'|./someapp但出现下一个错误:Exceptionignoredin:<_io.TextIOWrappername='<stdout>'mode='w'encoding='utf-8'>BrokenPipeError:......
  • python 舰队容器
    我正在尝试使用容器在flet中制作一个菜单,它应该是半透明的,但其中的项目不是。我尝试将opacity=1分配给元素,但没有成功-它们与容器一样透明感谢任何帮助我的代码:nickname=ft.TextField(label="xxx",hint_text="xxx")column=ft.Column(controls=[nickname......
  • Python应用程序跨子包共享的配置文件
    我正在构建一个应用程序来控制一些硬件。我在包中实现了不同类型的硬件:电机和测量设备。我的文件结构如下:name_of_my_app/__init__.pymain.pyconfig.iniCONFIG.pymotors/__init__.pyone_kind_of_motor.pymeasurement_devices/......
  • python中时间序列数据的梯度计算
    我正在尝试编写一个函数,它可以从最适合下面的线返回梯度dataframe在浏览了谷歌的几个资源之后,我仍然不确定这是如何完成的。我明白最佳拟合线的计算公式为:y=mx+b将因变量(y)设置为foos,将自变量(x)设置为DateTimeDatafram......
  • 调试用 C 编写的 Python 扩展
    我非常熟悉编写C代码,并且很擅长编写Python代码。我正在尝试学习如何用C编写可以从OSX10.15.7上的Python-3.9.X调用的模块。我已经得到了几个“helloworld”类型的示例,但是对于复杂的示例,我正在努力弄清楚如何调试我编写的C扩展。MWE:src/add.c//......
  • 具有块大小选项的 Python pandas read_sas 因索引不匹配而失败并出现值错误
    我有一个非常大的SAS文件,无法容纳在我的服务器内存中。我只需要转换为镶木地板格式的文件。为此,我使用pandas中chunksize方法的read_sas选项分块读取它。它主要是在工作/做它的工作。除此之外,一段时间后它会失败并出现以下错误。此特定SAS文件有794......
  • 使用 requests 包 python 时打开文件太多
    我正在使用Pythonrequests包向API发出大量请求。然而,在某些时候,我的程序由于“打开的文件太多”而崩溃。当我明确关闭我的会话时,我真的不知道这是怎么回事。我使用以下代码:importrequestsimportmultiprocessingimportnumpyasnps=requests.session()s.keep......