开发一个简单的QQ机器人

电脑杂谈  发布时间:2020-08-26 22:06:59  来源:网络整理

刷qq人气的软件_qq机器人的qq号_qq机器人软件

当前需要为QQ组的用户提供搜索服务. 用户发送一个关键字,然后机器人返回一个链接. 如下图所示:

IMG_20181101_155946.jpg

刷qq人气的软件_qq机器人的qq号_qq机器人软件

Cool Q是已经运行和维护了很长时间的家用QQ机器人软件. 生态系统已经成熟,并且有一个免费版本,足以开发一个简单的机器人. 但是,KuQ用彝语编写. 如果您直接使用KuQ进行二次开发,则会更加麻烦. 您需要了解Yi语言或C ++和其他系统级编程语言. 幸运的是,丹尼尔(Daniel)在互联网上开发了一些库,以便其他语言可以使用http方法调用CoolQ的DLL接口来促进二次开发. 例如.

由于CoolQ是Windows软件,因此需要Windows服务器来运行机器人,但借助wine,它也可以在Linux上运行. 提供一个集成了CoolQ和上述插件的镜像,可以轻松创建一个集成了CoolQ的Docker:

$ docker pull richardchien/cqhttp:latest
$ mkdir coolq  # 用于存储酷 Q 的程序文件
$ docker run -ti --rm --name cqhttp-test \
             -v $(pwd)/coolq:/home/user/coolq \  # 将宿主目录挂载到容器内用于持久化酷 Q 的程序文件
             -p 9000:9000 \  # noVNC 端口,用于从浏览器控制酷 Q
             -p 5700:5700 \  # HTTP API 插件开放的端口
             -e COOLQ_ACCOUNT=123456 \ # 要登录的 QQ 账号,可选但建议填
             -e CQHTTP_POST_URL=http://example.com:8080 \  # 事件上报地址
             -e CQHTTP_SERVE_DATA_FILES=yes \  # 允许通过 HTTP 接口访问酷 Q 数据文件
             richardchien/cqhttp:latest

qq机器人软件_qq机器人的qq号_刷qq人气的软件

然后访问: 9000 /,输入noVNC(默认密码MAX8char),登录至Cool Q,然后就可以开始使用它了. 下图显示了一个通过酒在酒中运行的很酷的Q:

TIM屏幕截图219.png

qq机器人软件_qq机器人的qq号_刷qq人气的软件

然后,部署一个程序,以便CoolQ可以报告捕获的消息,通过该程序进行处理,然后将其返回给CoolQ,然后QQ机器人可以自动答复.

以下是用.net核心编写的简单处理程序:

[HttpPost]
        [ActionName("Index")]
        public JsonResult Process()
        {
            using (StreamReader str = new StreamReader(Request.Body, Encoding.UTF8))
            {
                var json = str.ReadToEnd();
                JObject obj = JObject.Parse(json);
                var post_type = obj["post_type"].ToString();
                if (post_type == "message")
                {
                    var message_type = obj["message_type"].ToString();
                    var message = obj["message"].ToString();
                    if (message.StartsWith("找"))
                    {
                        message = Uri.EscapeDataString(message.Replace("找", string.Empty));
                        StringBuilder sb = new StringBuilder();
                        sb.AppendLine($"盘搜下载:http://pansou.com/?q={message}");
                        sb.AppendLine("---------------------");
                        sb.AppendLine($"盘搜搜下载:http://www.pansoso.com/zh/{message}");
                        sb.AppendLine("---------------------");
                        sb.AppendLine($"番茄下载:https://www.fqsousou.com/s/{message}.html");
                        sb.AppendLine("---------------------");
                        sb.AppendLine($"去转盘下载:http://www.quzhuanpan.com/source/search.action?q={message}");
                        return Json(new { reply = sb.ToString(), at_sender = "true" });
                    }
                }
                return Json(new { at_sender = "false" });
            }
        }

qq机器人的qq号_刷qq人气的软件_qq机器人软件

根据用户发送的关键字,组合搜索网址,用户可以单击进入相应的磁盘搜索,更加方便.

此处应注意,如果程序与CoolQ部署在同一台计算机上,则事件报告地址不能. 因为docker与主机的真实IP地址不在同一网段上. 您可以使用ip addr show docker0 | grep -Po'inet \ K [\ d. ] +'查找从容器访问的主机的IP地址.

开发QQ机器人实际上非常简单,只需执行更多操作即可.


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/shumachanpin/article-307577-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...