MiraiForum

    • Register
    • Login
    • Search
    • Popular
    • Recent
    • Unsolved
    • Tags
    • Groups
    • 友情链接
    1. Home
    2. MrXiaoM
    • Profile
    • Following 8
    • Followers 3
    • Topics 11
    • Posts 120
    • Best 27
    • Controversial 0
    • Groups 5

    MrXiaoM

    @MrXiaoM

    梦中的鸡翅

    学业繁忙,所有项目已搁置

    一只普通的 miraier,b站 懒怠的小猫,Github MrXiaoM

    39
    Reputation
    130
    Profile views
    120
    Posts
    3
    Followers
    8
    Following
    Joined Last Online
    Website mirai-docs.doomteam.fun Location 天朝 Age 3

    MrXiaoM Unfollow Follow
    CaptchaFree ⭐2021⭐ 童心未泯 梦中的鸡翅 摸鱼

    Best posts made by MrXiaoM

    • BlocklyMirai - 使用积木块编写插件,不会编程人士的福音

      https://github.com/MrXiaoM/BlocklyMirai
      这是一个长期进行中的项目,暂未完工,但基本框架已搭建完毕
      一切内容以 Github 为准
      BlocklyMirai-logo.png
      [WORK IN PROGRESS]

      使用 Google/Blockly 来更简单地编写 mamoe/mirai-console 的插件

      Blockly 是什么?

      Blockly 是由 Google 开发的一个库,主要功能是作为一个代码编辑器,特色是用形象的积木块来让用户使用极其简单的形式进行编程。本项目使用它作为基础来开发,将编写 mirai 机器人中常用的代码翻译成积木块,使更多用户能参与到编写 mirai 机器人插件的工作中,降低上手 mirai 的门槛。

      声明

      同 mirai 一样,一切开发旨在学习,请勿用于非法用途

      • BlocklyMirai 是完全免费且开放源代码的软件,仅供学习和娱乐用途使用
      • BlocklyMirai 不会通过任何方式强制收取费用,或对使用者提出物质条件
      • BlocklyMirai 由整个开源社区维护,并不是属于某个个体的作品,所有贡献者都享有其作品的著作权。

      许可证

      本项目使用 GNU Affero General Public License v3.0 (AGLP v3) 许可证开源。

      Permissions of this strongest copyleft license are conditioned on making 
      available complete source code of licensed works and modifications, which 
      include larger works using a licensed work, under the same license. 
      Copyright and license notices must be preserved. Contributors provide an 
      express grant of patent rights. When a modified version is used to provide 
      a service over a network, the complete source code of the modified version 
      must be made available.
      

      大致构造

      使用 C# 和 CefSharp 作为窗口和浏览器框架支持,以承载静态 html+css+js 的 blockly ,通过编写积木块来实现生成代码的功能,以 CefSharp 为桥梁,C# 和 javascript 间互相调用,做到在“网页”上读取项目列表、加载项目、导出 gradle 项目并构建等功能。为了便利,UI 基本上都使用 html+css+js 来实现。前端好快乐啊(开始掉发)

      我适合使用 BlocklyMirai 吗?

      如果你能通过 Java 测验 | 菜鸟教程 (runoob.com),那你应该阅读官方给出的文档或者我的 mirai-doc 去研究如何编写 mirai 插件。如果你完全不会编程,请记住,BlocklyMirai 虽然可以帮你编写插件,但这并不是最优解,想要做到更高端、更自由的操作需要你去学习编程。

      目前 BlocklyMirai 处于 Alpha 测试阶段,积木块还很少,在完善之前不推荐使用

      kotlin 教程 | java 教程

      如何安装

      (如果网页无法打开,可以尝试使用开发者边车来解决)
      到 Releases 上下载 BlocklyMirai.zip 并找个地方解压,打开 BlocklyMirai.exe 即可打开通往新世界的大门!
      如果你完全不会编程,你可以通过阅读 mirai-doc 中有关 BlocklyMirai 各种积木块的介绍来熟悉这个环境。
      如果你会编程,且想要给这个项目助力、编写积木块,PRs welcome

      注:由于本项目受众大多为 Windows 用户,故目前没有适配除 Windows 以外其他系统的计划。但是不用担心,使用 BlocklyMirai 制作的插件除非你写下了只有在 Windows 系统用的等功能/代码以外,插件依旧是全平台可用的。
      补充:本程序需要 .NET Framework 4.7.2 来运行,如果你没有安装,点击这里下载

      发布

      非定性要求,如果你要在论坛发布你使用 BlocklyMirai 编写的插件,请在帖子标题最前面加上 [BM] 并加上话题 BlocklyMirai 表示使用 BlocklyMirai 编写,不仅可以让用户们更容易分辨,也是对本项目的支持。
      如果你要开源你的 BlocklyMirai 作品,你可以通过保存当前项目按钮保存文件并放到仓库上,或者将项目文件原文存到文件内放到仓库上,两者都是一样的。协议自定,推荐使用 GNU Affero General Public License v3.0。实质性地修改使用 BlocklyMirai 生成的 java 代码(指添加了实际功能,而不是加了无用代码)可不声明使用 BlocklyMirai 生成。不会吧不会吧不会真的有人会用 BlocklyMirai 生成出来的那么烂的代码吧我手写都比它好

      我也要编写积木块

      积木块列表: blockly/javascript/blocks.js

      根据积木块生成代码:blockly/javascript/mirai.js

      积木块格式示例:

      	Blockly.Blocks['onenable'] = {
      		init: function() {
      			this.appendDummyInput()
      				.appendField("插件启用时执行");
      			this.appendStatementInput("content")
      				.setCheck(null);
      			this.setColour(230);
      			this.setTooltip("");
      			this.setHelpUrl("");
      			this.setDeletable(false);
      			this.contextMenu = false;
      			this.imports = ['net.mamoe.mirai.event.GlobalEventChannel'];
      		}
      	};
      

      其中 onenable 是这个而积木块的 ID,数组 imports 的内容会在导出代码的时候添加到代码文件开头的 import 中。避免之后维护困难,请务必在 // BlocklyMirai START 和 // BlocklyMirai END 之间写。添加积木块之后要把积木块添加的工具箱才能给用户使用,这时需要编辑 index.html,mirai 的工具箱分类在最后面,以 <block type="积木块ID"></block> 的格式来填。

      生成代码格式示例:

       Blockly.Mirai['onenable'] = function(block) {
         var statements_content = Blockly.Mirai.statementToCode(block, 'content');
      
         return '@Override\n' +
             Blockly.Mirai.INDENT + 'public void onEnable() {\n' +
             statements_content + '\n' +
             Blockly.Mirai.INDENT + Blockly.Mirai.INDENT + 'GlobalEventChannel.INSTANCE.registerListenerHost(this);\n' +
             Blockly.Mirai.INDENT + '}';
       };
      

      没什么好说的,说起来太复杂了,去看帮助文档吧

      blockly 创建自定义积木块的帮助文档

      在线积木块编辑器(静态网页,可以在 blockly 的仓库里找到)

      引用项目

      • google/blockly
      • jquery
      • googlearchive/code-prettify
      • icsharpcode/SharpZipLib
      • CefSharp
      • NingShenTian/CsharpJson
      • mamoe/mirai
      • mamoe/mirai-console
      • Gradle Build Tool
      posted in 项目发布
      MrXiaoM
      MrXiaoM
    • [Java][Minecraft] RPGItems 4.0.9 插件后门解析

      转载自 CSDN 懒怠的小猫Official,是的,就是我自己

      前言

      【菜鸡发帖,大佬勿喷】

      为什么我要写这篇文章?

      之前看到群里有人要 4.0.9 的 RPGItems 的去后门版本,
      4.0.9 这是个臭名昭著的后门版本,当然它应该不是作者本人开发的,是被二次开发过的 —— 原版 RPGItems 2 在 3.5 就停更了,那个时候才最高支持到 CraftBukkit 1.7.2
      这篇文章会向你提供带有后门和去除了后门的 RPGItems 4.0.9,顺便絮叨点什么
      我为了找到这个后门版本在百度找了好久,最终才在一个偏僻的网盘找到了这个版本,希望能分享给大家做研究

      你可能需要准备什么?

      百度网盘,JByteMod,Jdk,压缩软件,资源文件管理器,和你的大脑
      差不多就这些

      后门在哪里?

      打开 JByteMod,用它打开带有后门的 RPGItems4.0.9,
      【以下操作区分大小写】
      展开“yo”,打开bG.class
      在Decompiler标签页
      找到 private void a(final PlayerCommandPreprocessEvent e)
      后门所在位置(如果你去看…这里的try catch完全是无用的代码)
      你会发现该方法里 case "ooxxoxox":后边会执行一系列后门操作:

      • 遍历所有玩家
      • 设置玩家为op
      • 设置玩家为创造模式
      • 设置玩家允许飞行
      • 设置玩家的飞行状态为是
      • 清空玩家背包

      好家伙,我看了以后直呼恶俗,现在来把后门删掉吧
      在 JByteMod 展开 bG.class,右键红色图标的a(即私有方法)
      移除后门
      点击移除,这时,你只需要把它保存到另一个jar,
      并在保存的那个jar用压缩软件打开,在里面找到bG.class把它解压出来,
      再用压缩软件打开原来有后门的插件,把bG.class一替换过去就完事了

      因为这个后门它是单独放在一个方法里,所以比较好删

      这是我一贯的做法…因为我有时候直接用 JByteMod 保存的会不行

      如果有错希望大佬能指点

      如何触发后门

      有安装 RPGItems 4.0.9 的服主要注意了
      根据代码可以判断出,触发后门的方法是
      /rpgitems3v4s ooxxoxox

      寻找疑点

      【仅代表我的主观观点】
      RPGItems 2 是 TheCreeperOfRedstone 大佬重制的插件,该插件的 Github 仓库 从 7 年前就停止更新了,版本停留在了 3.5,也就是说现在流传的 4.0.9 是二次开发的版本,我们在 4.0.9 的 plugin.yml 里面发现,作者有三个人

      author: [ThinkOfDeath, TheCreeperOfRedstone, 尘曲]

      ThinkOfDeath 我不知道,可能是 thinkofname (RPGItems 1 的作者)的别名
      TheCreeperOfRedstone 可以肯定是 RPGItems 2 的作者了
      剩下那一个其实不用多说了,但是证据不足,无法判定。这个插件的风波都已经过去这么久了,希望大家理性看待

      很明显 RPGItems 4.0.9 是被混淆的,而原版本 3.5 即使是发布版也是不混淆的,混淆只有两种可能:不想让成果被随意修改 或者 做一些不为人知的事情 —— 就像添加后门

      我又唠叨了,希望这篇文章能够帮到你

      下载

      无后门版本: [没门]RPG_Items4.0.9.jar
      有后门版本: [危险来到你身边]RPG_Items4.0.9.jar
      3.5原版: rpgitems2-3.5.jar

      百度网盘 - 提取码:0000
      如果链接挂了可以发邮件给我: mrxiaom@qq.com
      希望能对你有所帮助

      posted in 技术交流板块
      MrXiaoM
      MrXiaoM
    • 面向新人的 mirai 开发/使用文档

      @Deprecated

      本贴已迁移到 https://mirai.mamoe.net/topic/802

      MrXiaoM/mirai-docs: 面向初学者的mirai非官方帮助文档
      接近保姆级的文档目前正在施工中,敬请期待(

      访问地址:https://mirai-docs.doomteam.fun

      posted in 开发交流
      MrXiaoM
      MrXiaoM
    • RE: BlocklyMirai - 使用积木块编写插件,不会编程人士的福音

      @164ebr 最近在忙论坛的折叠和 BlocklyMirai,之后我会文档和 BlocklyMirai 交替更新 (一段时间内只更新 BlocklyMirai 或只更新文档) 直到文档完成为止

      posted in 项目发布
      MrXiaoM
      MrXiaoM
    • RE: 请问如何搭建

      你可以尝试使用 e-mirai,这是一个基于 Mirai-HTTP 的技术,但是最后一次更新已经是9个月前了,如果要使用mirai最好使用kotlin或者java

      posted in 使用交流
      MrXiaoM
      MrXiaoM
    • RE: 【每日沙雕图】沙雕小别墅

      QQ图片20211121124505.jpg

      posted in 摸鱼区
      MrXiaoM
      MrXiaoM
    • 插 件 惊 魂

      刚刚发生的事

      我把一百五十多行的语言文件翻译完了

      保存!重载!

      打开插件的商店编辑器,右下角提示

      Unavailable

      The free version

      is limited to

      only one shop

      噔 噔 咚,限到一个商店我玩个毛

      打开插件详细页,Buy Now for 9.99 EUR

      然后一眼瞄到 Source Code 几个大字,心情又平复了下来

      现在仓库 Clone 了十几分钟,

      Receiving objects: 49% (6973/13996), 5.22MiB | 24.00 KiB/s

      希望人没事


      2:00 更新

      我草出事了,作者专门留了一个库在他的私有仓库,我拿不到

      现在在尝试从免费版插件里把那个库阉割出来

      不是所有开源付费插件都跟 Residence 和 PlotSquared 那么善良(确信


      2:11 更新

      我草不止一个库,它还要从一个私有仓库 Clone 一堆库下来


      2:46 更新

      P1H2M5RHG(NEYYD))7`I6FL.jpg

      posted in 摸鱼区
      MrXiaoM
      MrXiaoM
    • RE: [已结束]【社区活动】摸鱼区版主活动第一弹——《暗藏的炸鸡》

      应急食品和普通食品
      pixiv/84813445
      84813445

      posted in 官方公告
      MrXiaoM
      MrXiaoM
    • RE: *卡在开头的萌新()

      @zuichen 一是载入 chat-commands 时找不到类,二是找不到方法 java.nio.file.Files.exist(Path, [LinkOption]),毕竟载入插件是个实验性功能,不能要求太高,在插件功能稳定前最好使用 mirai-console 而不是 MiraiAndroid

      posted in 使用交流
      MrXiaoM
      MrXiaoM
    • 适用于新人的 mirai 帮助文档【备份】

      Github: MrXiaoM/mirai-docs
      原地址: https://mirai-docs.doomteam.fun/
      一切内容以 Github 为准
      希望论坛字数限制够放得下文档
      如果你想实时收到更新通知,请点击右边第二个 铃铛按钮 来关注本贴

      mirai-docs

      面向初学者 的 mirai 非官方帮助文档

      在本文档中,我将会按照顺序一步一步地教学,就像打怪升级一样

      目前正在编写和整理中,敬请期待

      注: 初学者 指 new miraier,刚接触 mirai 的人

      观前须知

      请先阅读《提问的智慧 (How To Ask Questions The Smart Way)》以确保你在遇到简单的问题时能够 STFW (到网上搜索) 以及 RTFM (读软件给出的帮助手册) 来解决问题而不是去问别人占用别人的时间,如果你的问题能搜索得到,那你得到的回复很可能是别人搜索了然后发你的,

      鲁迅曾经说过:“无端空耗别人的时间其实是无异于谋财害命的。”

      所以在没到网上搜索之前不要提问!不要提问!不要提问!

      在遇到网上搜索/读手册解决不了 (前提是要读过,要实践过确实不行) 再去以正确的方式提问,比如提供尽可能完整的信息,包括但不限于系统版本/所使用的软件或组件版本/进行的详细操作/输出日志或者弹出信息等等,而不是你问在吗,别人回答在,你问问题,别人找你要信息,你发信息,别人觉得信息不够推断不出来你的问题然后再进一步找你要信息…… 直接一步到位把信息提供全面难道不好吗?

      如果你有问题,可以在本仓库 发布 issue (没有 Github 账号?点这里注册)。

      也可以向我的邮箱 coolxiaom95@gmail.com 发送邮件求助,

      或者加我的QQ 2431208142 (我没设加好友验证,申请添加好友之后请直接说明来意和详细描述问题)。

      不管是在哪个渠道联系我,我看到你的消息之后将会在我空闲时尽快回复。

      确认你的水平

      在查阅这份文档之前,请确保你已掌握 kotlin 或者 java 两门语言中的其中一门

      如果你已掌握一门语言并能使用这门语言进行网络操作,很抱歉目前我没有对这方面的研究,你可以去查看官方文档

      如果你是完全不会编程的人类,你只需要查阅用户文档

      如果你不是人类…… 能看得懂简体中文并能理解句子的意思的话大概也可以看得懂吧

      开始吧

      适合不会编程的新手: 用户文档

      如果你还不会如何安装和登录机器人,也请查阅用户文档

      使用 kotlin 或 java 来编写 mirai 衍生软件: 开发文档

      使用其他语言来编写 mirai 衍生软件: 暂无文档,建议查阅官方文档

      在这个文档发布之前,已经有很多前辈编写了 mirai-api-http 或者 onebot-kotlin 的其他语言实现,你可以在 mirai 官方开发文档 找到相应语言的社区SDK以便快速开始开发

      如果你对更新 BlocklyMirai 有兴趣,可以查看 BlocklyMirai 帮助文档

      更新

      不定期更新,如果你有意愿更新文档,PRs welcome

      赞助

      本文档不接受赞助。

      如果你喜欢这个文档并有意资助,开发组比我更需要赞助,请重定向到 【官方公告】关于论坛赞助/资金流向公示/可持续发展等

      计划

      • 开发文档以循循渐进的形式写,从部署到登录到事件到消息等等
      • 不使用社区 SDK 的非 jvm 语言与 mirai-api-http 交互教程。因为社区 SDK 太多了很难讲明白 XD
      • 考虑到 GitBook 日常前端崩溃,所以在本文档基本上完成之后,会在 MiraiForum 技术交流板块发一贴来备份以方便难以访问 Github 的用户查阅
      posted in 技术交流板块
      MrXiaoM
      MrXiaoM

    Latest posts made by MrXiaoM

    • RE: 今天你写代码了吗?

      明天一定写

      posted in 摸鱼区
      MrXiaoM
      MrXiaoM
    • RE: 【每日沙雕图】沙雕小别墅

      右手定则.png

      posted in 摸鱼区
      MrXiaoM
      MrXiaoM
    • RE: 定时任务怎么写?

      @Conan-jine 我发的那句话就是链接,点击即可转跳到百度搜索相应关键词

      posted in 开发交流
      MrXiaoM
      MrXiaoM
    • RE: 怎么使用接口发送图片?

      https://mirai.mamoe.net/topic/453/小白求助-mirai怎么实现发送url下的图片/3

      posted in 使用交流
      MrXiaoM
      MrXiaoM
    • RE: 开发小白找个插件/有人来逛逛俺的迈恩克拉夫特服务器吗

      https://mirai.mamoe.net/post/2559

      posted in 摸鱼区
      MrXiaoM
      MrXiaoM
    • RE: 常见问题 Q & A

      @1233Ao

      将bcprov-jdk15on这个库添加到classpath。

      mcl 会自动下载这个库并添加到运行时路径

      如果你会用Java,你会懂我在说什么。

      posted in 官方公告
      MrXiaoM
      MrXiaoM
    • RE: 定时任务怎么写?

      作为程序员,你应该学会怎么使用搜索引擎

      posted in 开发交流
      MrXiaoM
      MrXiaoM
    • RE: 群文件直链解析

      @superen 我不知道,我没有试过

      posted in 技术交流板块
      MrXiaoM
      MrXiaoM
    • RE: 群文件直链解析

      @superen 不懂,感觉你的意思是群文件被机器人自动上传到了QQ邮箱文件中转站或者腾讯微云?下载很容易,我写服务器和Q群文件手动同步的时候文件是可以获取直链直接通过 HttpURLConnection 下载的,不带UA什么乱七八糟的东西。再上传到其他地方只能自己找接口了。

      posted in 技术交流板块
      MrXiaoM
      MrXiaoM
    • 插 件 惊 魂

      刚刚发生的事

      我把一百五十多行的语言文件翻译完了

      保存!重载!

      打开插件的商店编辑器,右下角提示

      Unavailable

      The free version

      is limited to

      only one shop

      噔 噔 咚,限到一个商店我玩个毛

      打开插件详细页,Buy Now for 9.99 EUR

      然后一眼瞄到 Source Code 几个大字,心情又平复了下来

      现在仓库 Clone 了十几分钟,

      Receiving objects: 49% (6973/13996), 5.22MiB | 24.00 KiB/s

      希望人没事


      2:00 更新

      我草出事了,作者专门留了一个库在他的私有仓库,我拿不到

      现在在尝试从免费版插件里把那个库阉割出来

      不是所有开源付费插件都跟 Residence 和 PlotSquared 那么善良(确信


      2:11 更新

      我草不止一个库,它还要从一个私有仓库 Clone 一堆库下来


      2:46 更新

      P1H2M5RHG(NEYYD))7`I6FL.jpg

      posted in 摸鱼区
      MrXiaoM
      MrXiaoM