PHP对接微信公众号,实现自动回复,关键词回复,自动搜索影视功能

王术煜 2024-07-28 125次阅读

<?php

// 定义常量TOKEN,这个值应该与您在微信公众平台设置的Token一致

define('WXNAME', '煜梦影视');

define('SOUWD', 'http://vip.jhwsy.cn/search.php?wd=');//煜梦影视搜索接口

define('KEY', 'Gg6cyYj8hseyphc366DyfjhookkrtygbkeyU');//煜梦影视授权标识

define('TOKEN', 'yumeng');//微信中的token


class WechatCallbackApiTest

{

    // 验证签名的方法

    private function checkSignature()

    {

        $signature = $_GET["signature"];

        $timestamp = $_GET["timestamp"];

        $nonce = $_GET["nonce"];

        

        $token = TOKEN;

        $tmpArr = array($token, $timestamp, $nonce);

        sort($tmpArr, SORT_STRING);

        $tmpStr = implode($tmpArr);

        $tmpStr = sha1($tmpStr);

        

        return ($tmpStr == $signature);

    }


    // 处理微信发来的消息

    public function responseMsg()

    {

        // 首先验证签名

        if(!$this->checkSignature()){

            exit('Invalid request');

        }


        $postStr = file_get_contents("php://input");

        $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);

        $msgType = (string)$postObj->MsgType;

        

        // 根据消息类型进行处理

                    $knownLink = SOUWD;

                    $my=KEY;

                    $name=WXNAME;

        switch ($msgType) {

            case 'text':

                $content = (string)$postObj->Content;

                // 在这里处理文本消息

                if ($content == "菜单") {

                    // 如果发送的关键词是"关键词1",则回复关键词1对应的消息

                    $responseXml = '<xml>

                        <ToUserName><![CDATA[' . $postObj->FromUserName . ']]></ToUserName>

                        <FromUserName><![CDATA[' . $postObj->ToUserName . ']]></FromUserName>

                        <CreateTime>' . time() . '</CreateTime>

                        <MsgType><![CDATA[text]]></MsgType>

                        <Content><![CDATA[当前为"菜单"模式!

现在给你介绍公众号的功能!


【规则①】:给我发送影视名称例如:"西游记"我们将为您搜索这个影视


【规则②】:发送关键词可以获得对应的功能,关键词如下:"菜单","客服","情侣飞行棋","我要识别码","爱坤小游戏","摸头神器","微信对话恶搞","烟花模拟器","装逼神器","授权码"


]]></Content>

                    </xml>';

                } else if ($content == "客服") {

                    // 如果发送的关键词是"关键词2",则回复关键词2对应的消息

                    $responseXml = '<xml>

                        <ToUserName><![CDATA[' . $postObj->FromUserName . ']]></ToUserName>

                        <FromUserName><![CDATA[' . $postObj->ToUserName . ']]></FromUserName>

                        <CreateTime>' . time() . '</CreateTime>

                        <MsgType><![CDATA[text]]></MsgType>

                        <Content><![CDATA[微信人工客服:wsyhacker

有不懂的加微信询问!

]]></Content>

                    </xml>';

                }else if ($content == "授权码") {

                    // 如果发送的关键词是"关键词2",则回复关键词2对应的消息

                    $responseXml = '<xml>

                        <ToUserName><![CDATA[' . $postObj->FromUserName . ']]></ToUserName>

                        <FromUserName><![CDATA[' . $postObj->ToUserName . ']]></FromUserName>

                        <CreateTime>' . time() . '</CreateTime>

                        <MsgType><![CDATA[text]]></MsgType>

                        <Content><![CDATA['.$my.']]></Content>

                    </xml>';

                }else if ($content == "我要识别码") {

                    // 如果发送的关键词是"关键词2",则回复关键词2对应的消息

                    $responseXml = '<xml>

                        <ToUserName><![CDATA[' . $postObj->FromUserName . ']]></ToUserName>

                        <FromUserName><![CDATA[' . $postObj->ToUserName . ']]></FromUserName>

                        <CreateTime>' . time() . '</CreateTime>

                        <MsgType><![CDATA[text]]></MsgType>

                        <Content><![CDATA[识别码:606060]]></Content>

                    </xml>';

                }else if ($content == "情侣飞行棋") {

                    // 如果发送的关键词是"关键词2",则回复关键词2对应的消息

                    $responseXml = '<xml>

                        <ToUserName><![CDATA[' . $postObj->FromUserName . ']]></ToUserName>

                        <FromUserName><![CDATA[' . $postObj->ToUserName . ']]></FromUserName>

                        <CreateTime>' . time() . '</CreateTime>

                        <MsgType><![CDATA[text]]></MsgType>

                        <Content><![CDATA[<a href="http://blog.jhwsy.cn/hacker/wxfh/fxq.php">情侣飞行棋→点击查看</a>]]></Content>

                    </xml>';

                }else if ($content == "爱坤小游戏") {

                    // 如果发送的关键词是"关键词2",则回复关键词2对应的消息

                    $responseXml = '<xml>

                        <ToUserName><![CDATA[' . $postObj->FromUserName . ']]></ToUserName>

                        <FromUserName><![CDATA[' . $postObj->ToUserName . ']]></FromUserName>

                        <CreateTime>' . time() . '</CreateTime>

                        <MsgType><![CDATA[text]]></MsgType>

                        <Content><![CDATA[<a href="http://blog.jhwsy.cn/game/cxk/">蔡徐坤跳跳乐→点击查看</a>

<a href="http://blog.jhwsy.cn/game/akxxl/">蔡徐坤消消乐→点击查看</a>

<a href="http://blog.jhwsy.cn/game/aklq/">蔡徐坤消打篮球→点击查看</a>]]></Content>

                    </xml>';

                }else if ($content == "微信对话恶搞") {

   



  •   王术煜  发布于 2024-07-28 11:59:24  回复该评论
    获取完整代码,加微信免费获取,微信:wsyhacker

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。