php - 电报机器人不向群组发送帖子
问题描述
我有一个由 osTicket 开源平台提供支持的票务系统。我在Github中找到了一个为 odTicket 制作的插件,它提到它可以向电报组或频道发送新票的通知。这个过程是我需要创建一个机器人并粘贴机器人 url *with token) 和聊天 ID。这是这个插件的文档:
克隆此 repo 或下载 zip 文件并将内容放入您的
include/plugins
文件夹中。为您的机器人(例如https://api.telegram.org/bot<token>/
)和聊天 ID 插入 Telegrams 机器人 URL。
我创建了一个机器人并加入了一个小组。机器人网址是:
https://api.telegram.org/bot<token>
和组 ID:
osticketchat
但是,在提交新票时,我的电报中没有收到任何通知。当我将机器人网址粘贴到浏览器中时,我得到:
{"ok":false,"error_code":404,"description":"Not Found"}
我不是开发人员,所以我不确定 url 是否正确(我确定令牌)。在我读到的某个地方,我可以在 url 的末尾添加 getMe 方法来检查它是否有效,当我收到以下消息时:
{"ok":true,"result":{"id":1672003338,"is_bot":true,"first_name":"osTicket Notification","username":"rafieeticketbot","can_join_groups":true,"can_read_all_group_messages":false,"supports_inline_queries":false}}
售票网站是:
https://help.rafiee.net
如果有人可以帮助我知道解决问题的问题,我将不胜感激。谢谢你。
解决方案
好的,
我发现了问题。首先,我需要将机器人添加到组或频道。其次,可以通过getUpdates
在 url 末尾添加来获取群组或频道聊天 ID。最后,我需要在 Telegrambot.php 第 35 行中进行编辑,方法是在 $chatid 之前添加一个负号 (-),因为电报中组和频道的聊天 ID 是负数。
推荐阅读
- python - Chaquopy Android Wrapper
- python - When one column of the dataframe is false, how can I assign True to the other column faster?
- c++ - handle default case in c++ constructor
- android - 跳出增强的 for 循环
- javascript - 我们如何在 codeceptjs.config.js 文件中传递动态目标 url?
- typescript - 如何以角度从一个组件导航到另一个组件的特定分区?
- mysql - MySQLi php 5.3 NULL 值自动转换为不可为空字段的字符串
- sql - UNION 后如何删除空结果
- java - 嵌套排球请求
- c# - (文本框)发件人与文本框1