问题描述
我有一个由 osTicket 开源平台提供支持的票务系统。我在 Github 中找到了一个为 odTicket 制作的插件,它提到它可以向电报组或频道发送新票的通知。 过程是我需要创建一个机器人并粘贴机器人 url *with token) 和 Chat Id。 这是这个插件的文档:
克隆这个 repo 或下载 zip 文件并将内容放入
您的 include/plugins
文件夹。为您的机器人插入 Telegrams Bot URL
(例如 https://api.telegram.org/bot<token>/
)和聊天 ID。
https://api.telegram.org/bot<token>
和组 ID:
osticketchat
但是,当我提交一张新票时,我的电报中没有收到任何通知。 当我在浏览器中粘贴机器人 URL 时,我得到:
{"ok":false,"error_code":404,"description":"Not Found"}
我不是开发人员,所以我不确定网址是否正确(我确定令牌)。在我读到的某个地方,我可以在 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
解决方法
好的,
我发现了问题。
首先,我需要将机器人添加到组或频道。
其次,可以通过在 url 末尾添加 getUpdates
来获取群组或频道聊天 ID。
最后,我需要在 Telegrambot.php 第 35 行中进行编辑,在 $chatid 之前添加一个负号 (-),因为电报中组和频道的聊天 ID 为负。