不是程序员,作为运维平时写的比较多的是 Bash 和 Python 脚本。工作上运维过挺多的 PHP 站点,被动看过一些 PHP 代码,但从来没写过。最近有点时间,参考了 joyqi 的 Sitemap 插件,试着写了这个 CommentToTelegram 插件,竟然没有太大的阻碍。遇到最大的困难是对 Typecho 接口的理解。

我的需求就是通过 telegram 管理评论,现有的 tyepcho 插件推送到 telegram 都是通过第三方的服务,只能收到通知。唯一一个可以管理的插件已经不能用了,所以自己调用 telegram bot api 写了一个。

下面是插件的介绍:

介绍

CommentToTelegram 是一个全新的 typecho 插件,使用 Telegram API 将评论推送到 Telegram Bot 通知并管理
github 地址 : CommentToTelegram

功能及特性

  • 支持 Telegram Inline Button 管理评论状态,可以通过 Telegram 将评论: 批准/删除/标记垃圾
  • 支持在Telegram通知上回复评论,在评论通知上点击回复,回复的内容会同步到博客,无需登录博客
  • 支持配置代理,支持使用 socks5、https、http 代理访问 Telegram
  • 支持异步回调,不会阻塞评论

插件版本要求

  1. 建议 Typecho 版本大于 1.2.1,其他版本未进行测试
  2. php: >=8.1.0, 本插件依赖 php-curl 和 php-json
  3. 如果使用代理功能,建议使用新版本的 php-curl 扩展

安装教程

  1. 下载后将压缩包解压到 /usr/plugins 目录
  2. 文件夹名改为 CommentToTelegram
  3. 登录管理后台,激活插件
  4. 配置插件 填写 Telegram Bot Token 及 Telegram Chat ID,并设置其他参数
  5. 保存配置,并注意是否有错误提示信息

插件升级

  1. 禁用旧版本插件
  2. 删除旧版本的文件,并上传然后传新版本解压,文件夹名改为 CommentToTelegram
  3. 激活插件并设置参数

使用教程

一、 使用前提:

  1. 申请 Telegram bot Token: 官方教程
  2. 通过 Telegam bot api 获取 chat_id: getUpdates API
    如果看不懂,请自行百度谷歌相关教程

    二、可配置选项

后台配置.png

如果插件配置有错误,会在点击 保存设置 后提示错误信息。如网络错误、代理信息错误、用户uid错误等等

三、通知详情及评论管理按钮

3.1 评论通知

评论通知.png

每条评论只能管理一次,在点击管理按钮后,通知下方的管理按钮会消失并提示评论处理结果:

评论管理.png

3.2 评论回复

启用 Telegram Inline Button管理评论后,即可以使用回复功能。需要先设置 Typecho 真实的用户 uid,查看 uid:

后台用户uid.png

在 Telegam 的评论通知上进行评论回复:

评论回复-reply.png

回复成功会有提示成功:

评论回复-success.png

Typecho 博客上的评论状态:

博客评论.png

3.3 使用建议

  1. 建议将所有评论设置为先需要审核(后台->设置->评论->评论提交->所有评论必须经过审核),然后通过本插件进行管理。
  2. 建议使用typecho前台通过主题的评论框进行回复,本插件回复虽然使用 Typecho 内置接口实现,但被回复的访客无法收到评论提醒(如邮件提醒),查看 Tyepcho 代码怀疑是 bug,已经提了一个 issue 询问,目前暂时无法解决。

更多问题可以通过 github issue 页面提交,或者通过 博客、邮件向我反馈

感谢