Minecraft(我的世界)中文论坛

 找回密码
 注册(register)

!header_login!

只需一步,立刻登录

查看: 2822|回复: 9

[教程] Nukkit服务器通过BlocklyNukkit使用qq机器人教程

[复制链接]
超神的冰凉 当前离线
积分
2460
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2019-4-19
查看详细资料
发表于 2020-8-15 16:11:55 | 显示全部楼层 |阅读模式

您尚未登录,立即登录享受更好的浏览体验!

您需要 登录 才可以下载或查看,没有帐号?注册(register)

x
本帖最后由 超神的冰凉 于 2020-8-21 16:15 编辑

(未完待续)
前言:
众所周知,自从酷q被停止运营之后,一众qq机器人框架都挂了......
现在市面上只剩下为数不多的没有跑路的qq机器人框架,其中小栗子机器人框架是唯一一个免费的大型框架(不是打广告),blocklynukkit从1.2.8.4测试版r1开始提供了对小栗子机器人框架的api支持,使得各位服主可以通过blocklynukkit快速的对接配置**和mc服务器内部,本教程将介绍如何使用。
配置环境:
首先,你需要有一台windows系统的服务器(linux不推荐但也可以)
下载1.2.8.4测试版r1及以上版本的blocklynukkit并安装
下载连接blocklynukkit-1284-beta.r1.jar 下载完毕后安装到nukkit服务器中

然后下载小栗子机器人框架,可以官网下载,这里提供已经配置好bn接口的一键使用包:
下载链接:小栗子qq机器人框架.zip
然后解压,打开压缩包中的小栗子框架.exe程序
打开后进入首页用户列表,右键空白处打开菜单,点击添加单个选项
image.png

输入账号和密码,点击添加
image.png

添加完毕之后,在用户列表中选中刚刚添加的账号,右键打开菜单,选择登录选中qq选项
image.png

登录成功后,进入应用中心界面,启用HttpAPI和TCPAPI两个插件
image.png

至此,机器人环境配置完成。
机器人使用:
blocklynukkit提供了机器人接口,可以通过JavaScript或者python来使用机器人,目前机器人接口比较少,日后会逐渐增加。
注:图形编辑器的机器人模块正在加紧制作中,暂时没弄好。
1、正确安装blocklynukkit:
详见:https://www.mcbbs.net/thread-987302-1-1.html
2、学习blocklynukkit基本的js于py函数库:
详见:http://www.blocklynukkit.info
3、编写第一个机器人
bn机器人编写并不难,下面将带您初步认识编写一个机器人插件的一般步骤:
①启动机器人
首先确保环境正确配置的情况下,使用如下代码即可启动机器人
javascript:
  1. manager.qq.startBot();
复制代码
python:
  1. manager.qq.startBot()
复制代码
②监听聊天事件
bn中,qq机器人收到的聊天事件将以事件的形式公开给bn插件,关于qq聊天的事件目前有两种:
QQGroupMessageEvent --机器人收到qq群消息事件

其成员函数有:
    - String getSelfQQ() --获取收到消息的qq账号
    - String getFromQQ() --获取发送消息的qq账号
    - String getFromGroup() --获取消息事件的qq群号
    - String getMessage() -获取消息

QQFriendMessageEvent --机器人收到qq好友消息事件
其成员函数有:
    - String getEventId() --获取事件id
    - String getEventSeed() --获取事件中的群消息标识码
    - String getFromQQ() --获取发送消息的qq
    - String getSelfQQ() --获取接受到群消息的qq账号
    - String getMessage() --获取事件的消息
下面是监听qq聊天事件的示例:
javascript:
  1. function QQFriendMessageEvent(event){
  2.     let self = event.getSelfQQ();
  3.     let fromqq = event.getFromQQ();
  4.     let message = event.getMessage();
  5.     logger.info(self+"收到好友"+fromqq+"的消息: "+message);
  6. }
  7. function QQGroupMessageEvent(event){
  8.     let self = event.getSelfQQ();
  9.     let group = event.getFromGroup();
  10.     let fromqq = event.getFromQQ();
  11.     let message = event.getMessage();
  12.     logger.info(self+"收到群"+group+"中"+fromqq+"的消息: "+message);
  13. }
复制代码
python:
  1. def QQFriendMessageEvent(event):
  2.     selfqq = event.getSelfQQ()
  3.     fromqq = event.getFromQQ()
  4.     message = event.getMessage()
  5.     logger.info(selfqq+u"收到好友"+fromqq+u"的消息: "+message)

  6. def QQGroupMessageEvent(event):
  7.     selfqq = event.getSelfQQ()
  8.     group = event.getFromGroup()
  9.     fromqq = event.getFromQQ()
  10.     message = event.getMessage()
  11.     logger.info(selfqq+u"收到群"+group+u"中"+fromqq+u"的消息: "+message)
复制代码
③机器人发送信息
JavaScript:
  1. manager.qq.sendFriendMessage("发送消息qq号","发送给qq号","消息内容"); //给好友发消息
  2. manager.qq.sendGroupMessage("发送消息qq号","群号","消息内容"); //给qq群发送消息
复制代码
python:
  1. manager.qq.sendFriendMessage(u"发送消息qq号",u"发送给qq号",u"消息内容") #给好友发消息
  2. manager.qq.sendGroupMessage(u发送消息qq号",u"群号",u"消息内容") #给qq群发送消息
复制代码
④机器人发送图文
使用qq.sendGroupPicMessage(String fromQQ,String toGroup,String picturePaths,String message)发送qq图文消息picturePaths用;分割多个本地图片路径
消息中使用图片只需用%picture数字%即可,数字指代第几个路径的图片,从0开始算起
JavaScript:
  1. manager.qq.sendGroupPicMessage("发送消息qq号","发送给qq号","C:/Users/Administer/image.jpg;C:/Users/Administer/smile.jpg","图片image.png是:%picture0%\n图片smile.jpg是%picture1% "); //给qq群发图文消息
复制代码
python:
  1. manager.qq.sendGroupMessage(u"发送消息qq号",u"群号",u"C:/Users/Administer/image.jpg;C:/Users/Administer/smile.jpg",u"图片image.png是:%picture0%\n图片smile.jpg是%picture1% ") #给qq群发送图文消息
复制代码



评分

参与人数 1人气 +1 金粒 +20 收起 理由
WelI + 1 + 20 MCBBS有你更精彩~

查看全部评分

一只鸽纸 当前离线
积分
4245
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2018-9-15
查看详细资料
发表于 2020-8-15 16:51:55 | 显示全部楼层
OHHHHHHHHHHHHH,BN就是NB
(话说冰凉会不会考虑自己开发个机器人框架已经看到冰凉“浓密”的头发了
回复

使用道具 举报

liu_aix 当前离线
积分
933
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2020-8-15
查看详细资料
发表于 2020-8-15 17:28:32 | 显示全部楼层
这也太肝了吧发量还好吗
回复

使用道具 举报

Minecraftplay42 当前离线
积分
15
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2019-9-1
查看详细资料
发表于 2020-8-24 20:20:43 | 显示全部楼层
emmm 太难了吧 太肝了啊啊啊算了不做了
回复

使用道具 举报

大电鳗 当前离线
积分
25
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2020-3-6
查看详细资料
发表于 2020-8-29 21:24:43 | 显示全部楼层
终于找到了合适的机器人了
回复

使用道具 举报

那个天宇君 当前离线
积分
136
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2020-3-30
查看详细资料
发表于 2020-9-12 08:27:55 | 显示全部楼层
请先连接到互联网?我都连了啊
回复

使用道具 举报

超神的冰凉 当前离线
积分
2460
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2019-4-19
查看详细资料
 楼主| 发表于 2020-9-12 09:12:24 | 显示全部楼层
那个天宇君 发表于 2020-9-12 08:27
请先连接到互联网?我都连了啊

旧版的小栗子更新服务器关了,需要手动更新
回复

使用道具 举报

xiao_lihao 当前离线
积分
197
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2015-4-11
查看详细资料
发表于 2020-12-12 19:57:45 | 显示全部楼层
赞赞赞赞赞赞
回复

使用道具 举报

北孤清枫 当前离线
积分
12
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2020-12-19
查看详细资料
发表于 2020-12-19 17:24:16 来自手机 | 显示全部楼层
linux该怎么操作?
回复

使用道具 举报

daoiojoig 当前离线
积分
1531
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2020-10-23
查看详细资料
发表于 2020-12-19 20:26:54 | 显示全部楼层
谢谢教程
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册(register)

本版积分规则

Archiver|小黑屋|Mcbbs.net ( 京ICP备15023768号-1 ) | 京公网安备 11010502037624号 | 手机版

GMT+8, 2021-10-23 02:46 , Processed in 0.074584 second(s), Total 32, Slave 26 queries, Release: Build.2021.09.22 1647, Gzip On, Redis On.

"Minecraft"以及"我的世界"为Mojang Synergies AB的商标 本站与Mojang以及微软公司没有从属关系

© 2010-2020 我的世界中文论坛 版权所有 本站原创图文内容版权属于原创作者,未经许可不得转载

快速回复 返回顶部 返回列表