登录
  • 人们都希望被别人需要 却往往事与愿违
  • But in the end if I'm with you, I'll take the chance. ❤Benny

使用 Telegram Bot 接受和回复 WordPress 评论

建站运维 Benny 小土豆 10551 次浏览 1710 字 15 个评论
文章目录 [显示]

 

当你的博客收到了一条评论的时候,想要回复,应该怎么做呢?打开浏览器,打开后台,等待加载,回复…… 哦对了,我还有一个步骤,就是不在家的话还得开一个全局代理

这怎么行,我都要懒死了。生气??


没错的,历经 1958 天,我的博客被 DNS 污染啦。

假如能够用 telegram bot 完成这种回复操作就好了!那么是当然的了。

使用Telegram Bot接受和回复WordPress评论

 

使用Telegram Bot接受和回复WordPress评论

 

原理

Basic Auth

插件会为 WordPress 开启 Basic Auth,因此要用复杂的密码,非常复杂的那种,并且 https 哦!

WordPress Hook

WordPress 博客在新添加一条评论的时候,会触发 N 多钩子,其中有一个钩子叫 comment_post,这个钩子被触发后,就会给调用并给相应的回调函数三个参数$comment_ID, $comment_approved, $comment_obj$comment_obj就是评论者留下的信息了,大概是如下结构的数组

 

使用Telegram Bot接受和回复WordPress评论

根据 post_id comment_id 等,使用 WordPress 自带的函数就能生成完整的评论信息。

之后调用 Telegram bot 的 REST API,就可以发送消息给用户了。

Telegram

当回复机器人消息时,会直接向 WordPress 的 REST API 发起评论添加请求。当然啦,你注意到了机器人消息里的 id:123,456 了吗?这个就是小小的标识符哦。

这个是用 golang 实现的机器人,轮询模式。其实我知道这个是可以用 Telegram webhook 完成的,直接写在插件里用 PHP 实现。更进一步,可以做到不开启 Basic Auth,直接用 WordPress 的接口甚至是直接插入数据库。不过为了练习嘛……

使用方式

基本可以如下归纳

  1. 安装插件
  2. 创建 bot、获取自己的 user id
  3. 插件中添加相应的设置
  4. 编辑配置,并运行 bot 后端
  5. 可以了。

注意事项

服务器在国内

WordPress 的服务器上,想办法开个代理(目前只支持 http 代理),然后插件设置里加入配置信息;

Telegram 的服务器上,也想办法开个代理,然后设置这样两条环境变量

  1. export http_proxy=http://127.0.0.1:1087;export https_proxy=http://127.0.0.1:1087;

或者干脆上 proxychains 试试。

proxychains 貌似只能代理 dynamically linked 的程序,golang 的二进制是 statically linked 的哎

Basic Auth

Basic Auth 就是在 HTTP 请求头里加上 base64 编码之后的认证信息。优点是简单方便,易于实现,缺点很多。

但是有一点是肯定的,在 www 这个层面上,不走 TLS 的登录,都是耍流氓。

使用Telegram Bot接受和回复WordPress评论

全程 TLS,啥都看不到。

使用Telegram Bot接受和回复WordPress评论

未 TLS,底裤? 都看光了

机器人配置与命令行参数

  1. {
  2. "username": "admin",
  3. "password": "admin",
  4. "url": "http://localhost/",
  5. "token": "907J6Tw",
  6. "uid": "23231321",
  7. "admin": 1,
  8. "tail": "本评论由Telegram Bot回复~❤️"
  9. }

-c 指定配置文件路径,默认使用当前目录下的 config.json

-f 强制运行,哪怕是 http 的……

  1. -c file set configuration file (default "config.json")
  2. -f force to run even on http sites.
  3. -h this help
  4. -v show version and exit

适配其他博客程序

其实没啥好适配的…… 因为基本上要重写的。

只要能够找到相应的 hook,在评论之后触发一个事件,那么就可以了。???

开源地址

开源地址

为了更好的偷懒,付出成倍的精力?

————zuiyu

然后就这么水了一波?????

 


文章版权归原作者所有丨本站默认采用 CC-BY-NC-SA 4.0 协议进行授权 |
转载必须包含本声明,并以超链接形式注明原作者和本文原始地址:
https://dmesg.app/wp-tgbot.html
喜欢 (21)
分享:-)
关于作者:
If you have any further questions, feel free to contact me in English or Chinese.
发表我的评论
取消评论

                     

去你妹的实名制!

  • 昵称 (必填)
  • 邮箱 (必填,不要邮件提醒可以随便写)
  • 网址 (选填)
(15) 个小伙伴在吐槽
  1. 其实可以加一个更换 tg api 网址的选项,现在有不少人都反代了 tg 的网址
    GAted02022-02-17 11:00 回复
    • 说的有道理哦!
      Benny 小土豆 2022-02-25 21:29 回复
  2. 请教一下:评论触发钩子后,评论数据发给你的服务器,然后你手机上有个常驻的 bot 使用轮询方式一直去服务器上查询有没有新的评论数据?or 时不时主动打开手机上的 bot 查看? 有没有办法在手机熄屏情况下实时(或者接近实时)收取新的评论数据?
    vrworking2021-02-17 10:53 回复
    • 是 bot ,触发了之后会调用 telegram bot api
      -- 本评论由 Telegram Bot 回复~❤️
      Benny 小土豆 2021-02-17 10:54 回复
      • 哈哈,忘了你手机安装了 telegram 这个茬了。。。
        vrworking2021-02-17 11:01 回复
        • 😂……
          -- 本评论由 Telegram Bot 回复~❤️
          Benny 小土豆 2021-02-17 11:02
  3. 哈哈哈网站一直放在书签栏,今天发现打不开了(我平时是 pac 模式),然后刚刚全局才看到原来土豆网站被污染了
    易北 2020-01-30 11:23 回复
    • 是的,所以加到 hosts 里,或者自己加到 pac 里吧。gfwlist 更新真是太难了
      -- 本评论由 Telegram Bot 回复~❤️
      Benny 小土豆 2020-01-30 11:24 回复
  4. 我是搜那个墙教程来到你这的,最近肺炎弄得欢,做好防护措施。可以来新品葱交流。
    猎人老粉 2020-01-25 02:00 回复
    • 感谢关心。你也是,注意防护
      -- 本评论由 Telegram Bot 回复~❤️
      Benny 小土豆 2020-01-25 11:11 回复
  5. 使用 DoH 的我并没有发现被墙了
    tom2020-01-19 21:50 回复
    • 被墙的方式是 DNS 污染,DoH 自然会拿到正确的解析啦
      -- 本评论由 Telegram Bot 回复~❤️
      Benny 小土豆 2020-01-19 21:53 回复
      • DoH 已经不行了,升级到 SNI 了。
        tom2020-01-24 21:49 回复
  6. 我来试试大佬的机器人
    弦上韫玉 2020-01-19 11:58 回复
    • 哈哈哈,那么我来评论给你呀
      -- 本评论由 Telegram Bot 回复~❤️
      Benny 小土豆 2020-01-19 11:58 回复
您直接访问了本站! 莫非您记住了我的域名. 厉害~ 我倍感荣幸啊 嘿嘿