认识我
我是一名大二学生,专业是数字媒体技术,我非常乐于去分享身上发生的一些事情,有好的可能也有坏的,和熟络的朋友在一起的话我会非常健谈话痨。在一次和朋友的聊天中,我得知我朋友竟然是一名Minecraft多人服务器的服主!我非常兴奋,但是没兴奋多久,我很羡慕他能自己动手搭一个属于自己可供一起游玩的服务器,常识告诉我这搭建服务器的消耗或许需要花不少钱——而我只是一个大学生,手头资金有限根本没有机会去接触这些(毕竟与我专业内容无关)。
机缘
就在此时我了解到,阿里云推出了飞天加速计划,高校学生在家时间就能实践项目,这是一个难得的机会——意味着你可以几乎没有试错成本地在一台云服务器上学你想学的、做你想做的。
基于go-cqhttp开源项目搭建一个QQ机器人
开源地址稍后会放在此段落的末尾
选择一个适配实例操作系统的包体进行下载,由于我此前未接触过Linux操作系统,所以本文中的演示均来自Windows系统操作(其实是大差不差的,甚至我觉得Linux会更加方便)
- 环境搭建
这个脚本需要在nodejs 12.0以上的的环境,没有的话可以手动下载获取;在根目录下运行cmd或快捷键win+r运行cmd在命令提示符中输入cd 文件根目录;运行npm install,执行安装依赖。 - 检查环境是否安装成功
windows操作系统下,快捷键win+R运行cmd,输入node -v,返回版本号即成功
Linux操作系统下,终端运行node --version,输出版本号即成功 - 运行前的准备工作
需要两个QQ号,一个作为脚本运行下的账号,另一个则是管理员账号(用于调试插件中的各种设置)
运行go-cqhttp
如果是Windows系统,请注意,不要双击go-cqhttp.exe直接运行,开发者在文档中注明此举可能会发生一些意料之外的问题。需要在shell命令提示符窗口下,进入根目录,运行./go-cqhttp,初次启动会在根目录下生成config文件。
我问过一些朋友,他们说会存在进程偶尔被杀死的情况,这个可能是脚本长时间无操作导致被系统清理,那么我们在运行./go-cqhttp的时候在命令后面加上/k,可以保持前台存活(如果还是被杀了的话可能是windows的配置有问题)
返回根目录,编辑生成的config.yml文件,下方账号设置中输入机器人的QQ账号,保存设置。
再次运行./go-cqhttp,此时会进入qq账号的登陆页面,跟随页面指引完成登陆,每次重新启动程序后5秒会自动根据设置信息登陆,如果成功在命令提示符窗口内获取到了QQ消息则安装成功。
这个不会使你手机上登陆的QQ强制下线,但是我建议还是退出手机qq比较好。
功能的部署与设置
在一些开源平台上有许多基于nodebot和cqhttp的功能插件,上文介绍的cqhttp是允许多个插件同时执行的,这意味着你可以手动去写一个执行程序在cqhttp上运行,也可以直接使用插件项目达成一些很酷炫的效果。
打开根目录下的config.yml文件,编辑下方servers项目,添加连接服务列表,此设置是用于完成插件与cqhttp之间的本地连接的,请务必按照插件的配置说明进行设置。
尾声
至此,cqhttp的搭建已经大致完成了。它的功能相对于QQ自带的群聊机器人更加开放,可以代替人工去执行某些人工去执行一些复杂操作,而且它任劳任怨常年无休(除了被封号),可以极大拓展群聊功能性、娱乐性。如果你恰恰好还会一些后端编程,不放试一下使用cqhttp来搭建一个属于自己的QQ机器人。
目前我对这个机器人的功能还在探索阶段,将来我也会继续发表我使用云服务器ECS学习的心得体会,感谢阅览。
文章引用项目地址:
https://github.com/go-cqhttp/node