QQ聊天机器人实例

博客和更新地址:QQ聊天机器人实例

前言

此文章为PHP实现基于Mirai的QQ机器人的一部分。

申请API

该聊天机器人需要使用聊天API,通过将机器人接收到的消息转发给该接口,接口响应消息,来实现聊天机器人的效果。

免费的聊天API有:

图灵机器人

腾讯智能闲聊

青云客智能聊天机器人API

其中图灵机器人需要实名认证,并且免费额度100/天,听说会更加智能~~(没感觉)~~。

腾讯AI开放平台的智能闲聊API接口调用额度无限制,响应速度快。

青云客似乎也是无限制。但是感觉大厂会稳点,所以选用的腾讯AI开放平台的智能闲聊API接口服务。

QQ登录腾讯智能闲聊,点击应用管理->创建应用,应用类型选机器人,其他的随意,创建完成后保存得到的APPID和APPKEY,在后面会使用。

实例

在Web服务器监听目录下新建文件Bot.class.php(以下代码需要PHP7以上),内容为

<?php

namespace Mirai;

use Exception;

/**
 * Mirai QQ机器人
 * @param string $_url         MiraiHTTP接口地址
 * @param string $_authKey     Mirai认证Key
 * @param string $_sessionKey  Mirai会话Key
 */
class Bot
{
    private $_url;
    private $_authKey;
    private $_sessionKey;

    /**
     * 构造函数 
     * @param string $url       MiraiHTTP接口地址
     * @param string $authKey   Mirai认证Key
     */
    function __construct(string $url, string $authKey)
    {
        $this->_url = $url;
        $this->_authKey = array('authKey' => $authKey);
    }


    /**
     * cURL获取数据
     * @param  string    $url           发送请求的链接
     * @param  int       $ifPost        是否为post请求(1||0)
     * @param  mixed     $postFields    post的数据
     * @param  string    $cookie        发送请求携带的cookie
     * @param  mixed     $cookieFile    cookie文件
     * @param  int       $ifHeader      是否获取响应头信息(1||0)
     * @throws           Exception      请求失败
     * @return mixed                    响应结果
     */
    public function httpRequest(string $url, int $ifPost = 0, $postFields = '', string $cookie = '', $cookieFile = '', int $ifHeader = 0)
    {
        // 模拟http请求header头
        $header = array(
            "Connection: Keep-Alive",
            "Accept: text/html, application/xhtml+xml, */*",
            "Pragma: no-cache",
            "Accept-Language: zh-Hans-CN,zh-Hans;q=0.8,en-US;q=0.5,en;q=0.3",
            "User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)"
        );

        // 初始化一个cURL会话
        $ch = curl_init();

        // 设置cURL传输选项
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HEADER, $ifH
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值