从零开始在家自己动手造一个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
相关文章
|
并行计算 Ubuntu Docker
apollo快速入门之安装指南
apollo快速入门之安装指南
696 3
|
存储 监控 Linux
在 CentOS 7 中如何进行磁盘分区和挂载的最佳实践。
【10月更文挑战第7天】本文详细介绍了在 CentOS 7 中如何进行磁盘分区和挂载的最佳实践。通过合理规划和管理磁盘空间,可以提高系统的稳定性和可维护性。具体步骤包括确认未使用的硬盘、创建分区、格式化分区、创建挂载点、挂载分区以及编辑 `/etc/fstab` 文件实现永久挂载。此外,还分享了备份数据、分区规划、权限设置和监控磁盘使用等最佳实践。这些技能对 IT 专业人员来说至关重要。
1153 3
|
SQL 资源调度 数据库
数仓学习---14、大数据技术之DolphinScheduler
数仓学习---14、大数据技术之DolphinScheduler
|
存储 消息中间件 Kafka
Confluent 首席架构师万字剖析 Apache Fluss(一):核心概念
Apache Fluss是由阿里巴巴与Ververica合作开发的Flink表存储引擎,旨在提供低延迟、高效率的实时数据存储与变更日志支持。其采用TabletServer与CoordinatorServer架构,结合RocksDB和列式存储,实现主键表与日志表的统一管理,并通过客户端抽象整合湖仓历史数据,弥补Paimon在实时场景下的性能短板。
1259 23
Confluent 首席架构师万字剖析 Apache Fluss(一):核心概念
|
供应链 JavaScript API
深度分析电子元件API接口,用Python脚本实现
电子元件API为电子制造、研发及供应链提供元件查询、库存、价格、供应商及技术文档等核心功能,支持采购决策与研发选型。主流平台包括国际的Digikey、Mouser及国内的立创商城、华强电子网,接口设计各有差异但功能逻辑一致。
|
JavaScript 前端开发 数据可视化
【01】Cocos游戏开发引擎从0开发一款游戏-cocos环境搭建以及配置-Cocos Creator软件系统下载安装-node环境-优雅草卓伊凡
【01】Cocos游戏开发引擎从0开发一款游戏-cocos环境搭建以及配置-Cocos Creator软件系统下载安装-node环境-优雅草卓伊凡
1266 2
【01】Cocos游戏开发引擎从0开发一款游戏-cocos环境搭建以及配置-Cocos Creator软件系统下载安装-node环境-优雅草卓伊凡
|
机器学习/深度学习 算法 API
量子计算编程语言:面向未来的开发工具
量子计算编程语言是面向未来的开发工具,基于量子力学原理,能够突破经典计算的瓶颈。本文介绍了量子计算编程语言的发展历程、主要特点、应用前景及学习方法,涵盖了QCL、Q#、Quipper等代表性语言,以及Qiskit、ProjectQ等主流工具,为开发者提供了全面的学习路径。
|
安全 网络安全 数据安全/隐私保护
如何识别和防范网络诈骗?
识别和防范网络诈骗需要我们时刻保持警惕,仔细核实信息,保护好个人信息和财产安全,遇到可疑情况及时与相关机构或警方联系,共同打击网络诈骗行为。
1838 13
|
网络安全 开发工具 git
解决fatal:remote error:You can’t push to git://github.com/username/*.g
通过上述诊断与修复步骤,绝大多数的推送错误都能得到有效解决,确保您的Git工作流顺畅无阻。
965 1
|
网络安全
阿里云国际版如何为SSL证书更换域名?
阿里云国际版如何为SSL证书更换域名?

热门文章

最新文章