从零开始在家自己动手造一个QQ机器人

简介: 无论是功能上还是受众上,我个人都是更加偏向QQ这个平台的,相较于其他社交软件,它的功能更加齐全用户更加活跃。比方说同好之间的聊天群、亦或者是游戏玩家交流群,在这种具有明确主题的群聊中往往需要这么一个“小帮手”来协助群友或管理完成某些操作。而腾讯官方自带的群聊机器人,往往又不能提供很好的使用体验,所以基于各种平台的QQ对话机器人应运而生。我希望理解它是如何运行的,如何做到各种各样的行为,或者我们往深一点去想,作为一个毫无开发经验的小白能否自己搭建一个属于自己的QQ机器人?借住这次难得的机会,一起来试试吧。

认识我

我是一名大二学生,专业是数字媒体技术,我非常乐于去分享身上发生的一些事情,有好的可能也有坏的,和熟络的朋友在一起的话我会非常健谈话痨。在一次和朋友的聊天中,我得知我朋友竟然是一名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
相关文章
|
7月前
|
人工智能 安全 IDE
【AI帮我写代码,上班摸鱼不是梦】手摸手图解CodeWhisperer的安装使用
除了借助ChatGPT通过问答的方式生成代码,也可以通过IDEA插件在写代码是直接帮助我们生成代码。 目前,IDEA插件有CodeGeeX、CodeWhisperer、Copilot。其中,CodeGeeX和CodeWhisperer是完全免费的,Copilot是收费的,每月10美元。 下面我们来了解CodeWhisperer的安装和使用,如果你还想了解其他的可以在评论告诉我。
221 4
|
5月前
|
Web App开发 机器人
小白一学就会小红书全自动写文发文机器人-爆文仿写笔记(二) -附提示词
小白一学就会小红书全自动写文发文机器人-爆文仿写笔记(二) -附提示词
127 1
|
存储 编译器 C++
类的入门<C++入门>(跑路人笔记)(3)
类的入门<C++入门>(跑路人笔记)
类的入门<C++入门>(跑路人笔记)(3)
|
Web App开发 程序员 Linux
|
移动开发 小程序 JavaScript
手撸一个在线学习在线教育小程序
最近有小伙伴找小孟开发了一个在线教育的小程序项目。
200 0
手撸一个在线学习在线教育小程序
|
前端开发 Java Serverless
玩转《天猫精灵技能平台》,搞一个诗词问答小游戏
看了中国诗词大会,必须要自己搞一个诗词问答小游戏。 文章最后还有一个思路,非常简单的思路,大家可以试着去实现一下。
13957 5
玩转《天猫精灵技能平台》,搞一个诗词问答小游戏
|
存储 编译器 C语言
类的入门<C++入门>(跑路人笔记)(1)
类的入门<C++入门>(跑路人笔记)
类的入门<C++入门>(跑路人笔记)(1)
|
编译器 C++
类的入门<C++入门>(跑路人笔记)(2)
类的入门<C++入门>(跑路人笔记)
类的入门<C++入门>(跑路人笔记)(2)
|
编译器 C语言 C++
C++入门<一> (跑路人笔记2)
C++入门<一> (跑路人笔记)
C++入门<一> (跑路人笔记2)
|
自然语言处理 C语言 C++
C++入门<一> (跑路人笔记1)
C++入门<一> (跑路人笔记)
C++入门<一> (跑路人笔记1)