本文最后更新于 282 天前,其中的信息可能已经有所发展或是发生改变。
前言
当wordpress有新评论的时候,我们可以使用之前提到的设置邮件提醒,但是不能每次都打开邮件查看,那样会很麻烦,有没有可以直接推送到QQ的方法呢?当然有,那就是QQ机器人
但是因为腾讯想大力推广自家的机器人,对于第三方机器人可以说是一棍子打死,甚至还要再踩几脚,那么市面上大多的机器人框架都不可用,但是我们可以自己搭建,这次我们就使用比较简单易上手的Qmsg酱来进行操作
官方网址:Qmsg酱-您的专属QQ消息推送服务小姐姐-qmsg.zendee.cn
原理
在WordPress 主题下的 functions.php
文件,增加一个自定义钩子
在函数中首先根据 comment_id
获取 comment
全部评论信息,检测到新增评论就封装一个 POST 请求,将产生的数据对象发送到刚才我们获得的接口地址中(不懂什么是post请求的自行百度)
这里放上源码,源码来自大佬凝神长老:首页 – 凝神长老和他的朋友们 (jxtxzzw.com)
/**
* 评论推送到 QQ,该函数会挂载到 WordPress 钩子,无需关心参数和返回值
* @param $comment_id
* @return false|string
*/
function push_qq($comment_id)
{
// 通过 comment_id 获取 comment 全部信息
$comment = get_comment($comment_id);
// 根据自己需求,产生相关描述,可以包括文章内容、评论人、IP、评论内容等
$text = '您的文章 《' . get_the_title($comment->comment_post_ID) . '》 有新评论';
$desp = $text . "\n\n" . "作者: $comment->comment_author (IP地址: $comment->comment_author_IP ) \n\n 电子邮箱: $comment->comment_author_email \n\n 评论: $comment->comment_content \n\n 点击查看:https://www.jxtxzzw.com/?p=$comment->comment_post_ID#comment-$comment_id \n\n";
// 封装一个 Object 对象,其 msg 字段是我们需要推送到 QQ 的消息内容
$postdata = http_build_query(
array(
'msg' => $desp
)
);
// 一个 POST 请求
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $postdata
)
);
$context = stream_context_create($opts);
// 将自己的接口地址填在这里
return $result = file_get_contents('https://qmsg.zendee.cn:443/send/你的KEY', false, $context);
}
// 挂载 WordPress 评论提交的接口
add_action('comment_post', 'push_qq', 19, 2);
将代码按照需求修改后粘贴在functions.php
最后,保存后在评论区发送一条评论测试一下,效果如下
Qmsg酱的使用
进入官网:Qmsg酱-您的专属QQ消息推送服务小姐姐-qmsg.zendee.cn
点击立即使用,用QQ登录后点击管理台,可以看到官方的机器人都不可用,那我们自己添加,点加号,输入一个我们的小号来当作机器人,然后选择(这里我的这个机器人是上线过的才 显示绿色)
接下来就要部署我们的机器人了,官方文档其实写的非常清楚了,跟着提示下载需要的东西
跟着官方文档顺利登录自己的QQ后,再来到管理台,不出意外你的机器人已经变绿了,可以用了
快去测试吧!
666
厉害
有意思