telegram-bot - 电报机器人如何向活跃的聊天/用户广播消息
问题描述
我们正在构建一个内部机器人来监控/控制我们的软件。它不向公众公开,将由其他团队成员直接使用(作为直接聊天)或通过几个渠道,具体取决于软件的哪一方是主题。
机器人应该做两件事:
- 回复命令;回复应该发给发起它的用户。
- 向它所涉及的所有用户/频道发送通知。
当消息到达时,我可以获取频道 id 和用户 id;虽然用户 id 可以保证存在一段时间,但频道的情况如何?
我可以将频道 ID 和广播消息存储到机器人参与的所有频道吗?如果通道关闭会发生什么?频道 ID 有生命周期吗?
我真的无法在网上找到任何关于这种情况的最佳实践的信息。
解决方案
我怀疑了解您想要什么,但似乎更好地了解这些事情:
- ID 在 Telegram 甚至在所有其他应用程序中都是唯一的,因此它们是终生的
- Channel ID 、 Groups ID 、 User ID 具有相同的行为,但它们的区别在于它们的整数。(用户 ID 为正,但频道和组为负。请在此处查看示例)
- 用户可以在他们有
admin
权限的频道中发送消息,对吗?机器人是一样的。因此,如果您的机器人不再是管理员,电报会给您错误的响应,您可以检查它,并在遇到该错误后删除您的频道列表中的频道 ID。
我希望这些信息对您有所帮助,但如果您有任何其他问题,请随时发表评论,我会更新帖子并立即回复您。
推荐阅读
- python - 如何将json类型的数据转换成csv格式
- python - 如何区分opencv中的两个渐进图像
- hadoop - 构建 Impala 是否依赖于 Hive、HBase 和 Sentry?
- android - 实现搜索功能以通过特定的 TextView 在 ListView 中搜索
- c# - PDF 下载选项在 Xamarin 表单中使用的 pdf.js 中不起作用
- javascript - 无法将“super”与 JavaScript 类中原型对象上定义的函数一起使用
- bash - 命令“PWD=/proc/self/cwd another_executable”是什么意思?
- python - 在 Plotly 中更改/更新 xtick 标签和 ytick 标签的不一致
- alluxio - 为什么在Alluxio中写入writeType THROUGH后文件需要时间同步?
- reactjs - 等待调用完成,然后在 saga 中调度操作