博舍

手把手教你搭建一个自己的QQ机器人 in Golang 如何制作一个机器人

手把手教你搭建一个自己的QQ机器人 in Golang

作者:ssttkkl

QQ机器人是怎么回事呢?QQ相信大家都很熟悉,但是QQ机器人是怎么回事呢?QQ机器人,其实就是能够接收QQ消息并自动回复的机器人程序,这就是关于QQ机器人的事情了。

好了,今天要介绍的就是一个QQ机器人(bot)框架——mirai。mirai是一个在全平台下运行,提供QQAndroid和TIMPC协议支持的高效率机器人库。项目地址:https://github.com/mamoe/mirai

目前mirai支持通过大部分主流语言调用,本文将介绍如何使用Golang搭建属于你自己的bot。另外Python也可以写但是我懒得写了(要用到asyncio库,解释起来又要一堆篇幅了),感兴趣可以自行研究。

为什么要做这个

1. 好玩

2. 真的好玩

3. 可以用来实践go语言,毕竟大家小学期不是刚学完吗(什么你没选?现在开始自学还来得及。你问为什么要学?看看下面这张图就懂了)

 

          

GetStarted

1. 在电脑上下载miraiOK一键启动器(https://github.com/LXY1226/miraiOK),并且装上mirai-api-http插件(https://github.com/project-mirai/mirai-api-http,在右边的releases下载jar文件)

2. 去看README配置好mirai-api-http

3. 运行miraiOK,输入loginQQ号密码进行登录(我这里WindowsDefender会报毒,应该是误报,信不过的话就把源码克隆下来自己编译)

4. 执行命令gogetgithub.com/Logiase/gomirai,用来为go下载gomirai库(https://github.com/Logiase/gomirai)

简单的小例子

这是一个最简单的bot模板,适用于一问一答的方式。使用时把const一栏里的东西改成自己的东西,main函数内基本不需要变动,在onReceiveMessage函数里写机器人的应答代码。

这种直接通过看Demo上手的学习方式我愿称之为Demo式学习

packagemain import(   "github.com/Logiase/gomirai"   "github.com/Logiase/gomirai/message"   "io/ioutil"   "math/rand"   "os"   "os/signal") const(   qq     =123456   url    ="http://127.0.0.1:3399"   authKey="qwerty") varclient*gomirai.Clientvarbot*gomirai.Bot funcmain(){   interrupt:=make(chanos.signal,1)   signal.Notify(interrupt,os.Interrupt)    //初始化Bot部分   client=gomirai.NewClient("default",url,authKey)   key,err:=client.Auth()   iferr!=nil{      client.Logger.Fatal(err)   }   bot,err=client.Verify(qq,key)   iferr!=nil{      client.Logger.Fatal(err)   }   deferfunc(){      err:=client.Release(qq)      iferr!=nil{          client.Logger.Warn(err)      }   }()    //启动一个goroutine用于接收消息   gofunc(){      err:=bot.FetchMessages()      iferr!=nil{          client.Logger.Error(err)      }   }()    //开始监听消息   fortrue{      select{      case

创建机器人

#创建机器人

机器人是开发者开发技能的个人控制台,平台支持开发者创建多个机器人。每个机器人可以含有多个技能,每个公众号或小程序只能绑定一个机器人。

#1.首次创建

首次接入平台,开发者需要使用个人微信先登录【微信对话开放平台】,然后点击首页的【开始使用】按钮,即可进入创建第一个机器人页面。

按规定填写“机器人名称”,“机器人ID”和“验证码”,点击“确认”,第一个机器人就创建成功了。

#2.新增机器人

如果想要再新增一个机器人,开发者可以在当前机器人的显示框内,点击下拉列表>>新增机器人来创建新的机器人。

#3.管理权限

平台还支持多人协作,技能共建。如果一个机器人,需要添加多个开发者进行管理或维护,机器人创建者可以到机器人设置-成员权限中,输入其他开发者的帐号id,填写备注名、分配角色权限,即可添加。添加后也可以在此更改权限/删除信息。

创建者:可执行所有权限,可设置管理员以及删除机器人

管理员:可对机器人进行测试、编辑以及发布,可设置编辑员和测试员。

编辑员:可对机器人进行测试、编辑

测试员:可对机器人进行测试

这里的用户id是指开发者扫描登录平台后的身份ID数字,在平台右上方用户信息处可以获取。

【酷QC++】如何利用酷Q制作一个机器人

 

             ——酷QAir教程

 

 

      要想阅读本篇教程,读者需要基本的C++知识以及VisualStudio2010/2015/2017

 

      首先,需要从官方网站下载软件https://cqp.cc/t/23253。下载后从“下载“/”Download“文件夹中找到其压缩包。解压。

 

      然后,我们从Github中下载酷Q的SDK。

      https://github.com/CoolQ/cqsdk-vc

 

      解压发现.sln,是项目,使用VS打开。

      使用Release编译。(这一步基本不会出现问题)

      

      发现Release中出现了你编译出的dll。

 

      在.cqsdk-vc-masterCQPdemo中找到com.example.democ.json。里面存放你的插件运行时的菜单,权限等信息。

 

      然后,将dll和json一起拷贝到你解压酷Q软件目录下.酷QAirapp下。

      

      这时打开酷Q软件,发现“应用目录“中没有我们的插件。于是我们打开开发者模式:

打开conf文件夹,找到CQP.cfg

打开CQP.cfg

在文件最后加入

[Debug]

DeveloperMode=1

然后重启酷Q。这时候可以看到我们的插件。

      

      至此,demo制作完成。

   

 

 

 

      以下是几个编写教程:

      

      在每个事件函数中,SDK的demo均给了详细注释,笔者在此不再多言。

 

      至于函数用法,这里有一篇教程:

https://cqp.cc/t/28730

 

最后,感谢酷Q开发者。

 

      

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇