这段时间申请了一些搬瓦工MINIBOX邀请码,是通过评论区留言发送的。但是不能一直盯着后台进行刷新,回复时效受了很大影响。这是就想到了自动发送评论到TG,让TG发出声音进行提示,以便及时操作。好在申请Telegram Bot不是很难,代码也相对简单,记录下操作过程。
一、创建机器人
打开 Telegram,搜索 BotFather
,并与其对话。输入 /newbot
来创建一个新机器人。BotFather 会要求你为机器人命名并为其创建一个用户名(用户名需要以“bot”结尾,例如 myawesomebot)。创建完成后,BotFather 会提供给你一个 API Token,用于与 Telegram 机器人进行交互。这部分比较简单,按提示操作就可以了。
二、获取聊天 ID
我们要将Wordpress评论的内容推送到Telegram 群组Bot上,需要机器人的TG ID号。
我们通过访问一个链接来获取你机器人的ID。
打开浏览器,访问以下 URL(替换其中的 YOUR_BOT_API_TOKEN 为你从 BotFather 获取到的 API Token):
https://api.telegram.org/botYOUR_BOT_API_TOKEN/getUpdates
比如你的机器人api是 1234:abcd ,你就访问 https://api.telegram.org/bot1234:abcd/getUpdates 。执行完成后,你将会看到 "ok":true
字样。
然后我们在 Telegram 中找到你的机器人并发送一条消息(例如:“Hello”),再次访问刚才的链接,你将看到一个包含你发送的消息的 JSON 响应。在浏览器查看会比较乱,稍微整理下后,查找 chat
对象中的 id
字段,这就是你的机器人聊天 ID。比如:
{ "ok":true," result":[ { "update_id":12345678, "message":{ "message_id":2, "from":{ "id":95279527, "is_bot":false, "first_name":"John", "username":"John", "language_code":"zh-hans" }, "chat":{ "id":95279527, "first_name":"John", "username":"John", "type":"private" }, "date":1732850285, "text":"Hello" } } ] }
其中 95279527 就是你的机器人ID号。
三、WORDPRESS中写入代码
我们通过wordpress相关钩子就可以很方便的将wordpress的评论相关信息推送到TG了。一种方法是通过相关插件设置,一种是自己写入代码。不太喜欢用插件,虽然wp插件功能强大,但现在wp插件基本都有广告,而且弄出一大堆需要你付费的项目,而且会每次运行到插件时就会检查有没有付费,徒增MYSQL的查询负担。
将评论推送到TG,功能比较简单,我这里是除非评论触碰到黑名单关键字,都是直接显示的,无需审核。所以只需将函数挂钩到评论提交的动作上就可以了。将以下代码放到Wordpress 主题的 function.php
函数中就可以实现相关功能。服务器需启用 cURL 的功能,一般服务器都会有,可在wp的 工具 > 站点健康
查看。
/** * 评论发送到tg。 */ function send_comment_to_telegram($comment_ID, $comment_approved, $commentdata) { // 只处理已批准的评论(即 comment_approved 为 1) if ($comment_approved != 1) { return; } // 设置 Telegram 机器人 API Token 和聊天 ID $bot_token = '1234:abcd'; $chat_id = '95279527'; $comment_author = $commentdata['comment_author']; $comment_content = $commentdata['comment_content']; $post_title = get_the_title($commentdata['comment_post_ID']); $post_url = get_permalink($commentdata['comment_post_ID']); $message = "新评论:\n"; $message .= "评论者: $comment_author\n"; $message .= "评论内容: $comment_content\n"; $message .= "文章标题: $post_title\n"; $message .= "文章链接: $post_url\n"; $telegram_api_url = "https://api.telegram.org/bot$bot_token/sendMessage"; $params = array( 'chat_id' => $chat_id, 'text' => $message ); $ch = curl_init($telegram_api_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $params); $response = curl_exec($ch); curl_close($ch); // 调试:输出 Telegram API 响应 // error_log("Telegram API response:\n" . $response); } add_action('comment_post', 'send_comment_to_telegram', 10, 3);
以上代码中 Telegram 机器人 API Token 和机器人聊天 ID 改为自己的,写入到 function.php 的合适位置并保存,我们随便查看几个网页以便该功能生效,这时我们在文章评论下,TG bot就应该弹出消息提醒。
这样我们就可以很及时的在TG 看到新的评论信息,还是很实用的。只要我们不将改BOT拉进群里,就只能你一个人看到。
技术不断升级,请注意文章时效性。
本站文章,欢迎转发。转载请注明出处:https://www.bandwh.com/web/2089.html