MiraiForum

    • 注册
    • 登录
    • 搜索
    • 热门
    • 最新
    • 未解决
    • 标签
    • 群组
    • 友情链接
    1. 主页
    2. hundun000
    3. 帖子
    H
    • 资料
    • 关注 0
    • 粉丝 3
    • 主题 15
    • 帖子 157
    • 最佳 8
    • 有争议的 0
    • 群组 2

    hundun000 发布的帖子

    • RE: gradle加载mirai速度怎么这么慢,每次进idea都要等半天,有什么办法提高速度嘛

      @cssxsh
      我之前一直是忍着……
      刚刚试了下加上这行,刷新gradle时还是会尝试一遍从dl.bintray.com下载,怎么回事?

      发布在 开发交流
      H
      hundun000
    • RE: java是否有办法使用nextmessage呢?

      自行维护上下文,自行实现子线程调度(使用Timer并将其加入上下文)

      发布在 开发交流
      H
      hundun000
    • RE: mirai-quiz-plugin 答题比赛插件

      已发布v0.2.1,新增答题时间限制。

      06354a0f-4c88-4db3-96fa-9f375d6f9d84-image.png

      发布在 插件发布
      H
      hundun000
    • RE: 关于AutoSavePluginData存储大数据的方案

      自己拓展AutoSavePluginData,使其读写的实现时按照用户id划分的文件名?

      发布在 开发交流
      H
      hundun000
    • RE: ZacaFleetBot 明日方舟游戏助手+舰队收藏游戏助手+More

      @mjr147 和上面的原因一样

      @hundun000 在 ZacaFleetBot 明日方舟游戏助手+舰队收藏游戏助手+More 中说:

      @kleepaimon 需要启用mongoDB数据库,你可以在网上搜安装和启动教程。否则自动推送微博和涉及数据库的命令都无法正常执行。

      发布在 插件发布
      H
      hundun000
    • RE: ZacaFleetBot 明日方舟游戏助手+舰队收藏游戏助手+More

      说起来我也在考虑是不是某个未来版本移除mongoDB依赖,以降低使用门槛。只考虑目前的功能点,改成文本文件读写实现持久化,即使每次写操作都立刻写文件应该也不会有瓶颈。主要是贪spring mongo开发起来方便,不然一堆findByField要手写。

      发布在 插件发布
      H
      hundun000
    • RE: ZacaFleetBot 明日方舟游戏助手+舰队收藏游戏助手+More

      @kleepaimon 需要启用mongoDB数据库,你可以在网上搜安装和启动教程。否则自动推送微博和涉及数据库的命令都无法正常执行。

      发布在 插件发布
      H
      hundun000
    • RE: ZacaFleetBot 明日方舟游戏助手+舰队收藏游戏助手+More

      @kleepaimon private-settings.json里不需要填密码,也就是保持模板的"botPwd": null,,json文件里任何地方都不应该填nul

      发布在 插件发布
      H
      hundun000
    • RE: ANDROID_WATCH 登录问题

      我安装后AutoLogin.yml没改,还是模板,长这样:

      accounts: 
        - # 账号, 现只支持 QQ 数字账号
          account: 123456
          password: 
            # 密码种类, 可选 PLAIN 或 MD5
            kind: PLAIN
            # 密码内容, PLAIN 时为密码文本, MD5 时为 16 进制
            value: pwd
          # 账号配置. 可用配置列表 (注意大小写):
          # "protocol": "ANDROID_PHONE" / "ANDROID_PAD" / "ANDROID_WATCH"
          # "device": "device.json"
          configuration: 
            protocol: ANDROID_PHONE
            device: device.json
      

      你的这个写法是哪来的……protocol和device应该是configuration的下一层

      发布在 使用交流
      H
      hundun000
    • RE: 两个插件内用Spring扫描不同版本依赖中的bean时出错

      看起来确实是一个插件scan公共包时,会扫描到并得到另一个插件内的公共包的bean。
      暂时不打算让插件脱离Spring,折中一下,准备把公共包改成脱离Spring。

      发布在 开发交流
      H
      hundun000
    • RE: java版command相关问题

      @orisland 在 新手求助java版的command到底怎么用啊…… 中说:
      你这样写的意思就是要求两个参数啊。是来自console文档样例吧,那里也注释了// 这两个参数会被作为指令参数要求

      @Handler
      public void onCommand(CommandSender sender, User target, String mes){
          target.sendMessage(mes);
      }
      

      这才是不需要参数(参考QuizCommand类exit方法):

      @Handler
      public void onCommand(CommandSender sender){
          sender.sendMessage("hello world");
      }
      
      发布在 开发交流
      H
      hundun000
    • RE: 请教大家筛选信息的方式

      和功能场景有关吧,有的场景不适合/一定不是command。例如:

      1、我的mirai-quiz-plugin插件里的QuizCommand类既注册了@SubCommand,也作为ListenerHost通过if判断event.getMessage().contentToString()。

      出题指令用command还可以接受

      -> /一站到底 出题
      <- 《紫罗兰永恒花园》中薇尔莉特的名字是来自?
      A. 紫罗兰
      B. 勿忘我
      C. 向日葵
      D. 玫瑰
      发送选项字母来回答
      [图片]

      答题时如果还要求指令,不利于抢答,破坏游戏节奏,用户体验差

      -> /一站到底 答题 A

      此时允许用户直接回复选项。等效于指令。(其实出题指令也可以用简化方式触发)

      -> A
      <- @回答者 回答错误QAQ
      正确答案是C

      2、闲聊功能。如果闲聊的条件简单,那就用contains等检测;如果闲聊的条件是正则的,那就用正则检测。

      3.2 阿米娅的闲聊

      • 当群员发言里包含“下班”,根据是否是工作时间(周一至周五9点至17点),阿米娅会做不同回复。

      • 当群员发言里包含“damedane”,阿米娅会播放音频。

      发布在 开发交流
      H
      hundun000
    • RE: java版command相关问题

      @orisland
      指的是完整的1、2、3步都做的情况。你如果不是用Command那就不是我所说的情况。

      发布在 开发交流
      H
      hundun000
    • RE: ZacaFleetBot 明日方舟游戏助手+舰队收藏游戏助手+More

      @haman 见文档

      3. 配置账号和群

      1. 位于config文件夹:把private-settings-template.json重命名为private-settings.json。修改private-settings.json。包括:bot账号密码,每个群的群号和使用的角色,其他私密数据。
      发布在 插件发布
      H
      hundun000
    • RE: 又是一个Pixiv的图片API

      好耶,已经用起来了
      下一步想实现随机索图时保存它的id(以便有需要时进一步取原图),我看了下我用的openfeign的文档和其Response类源码,并没有学会怎么取到重定向后的那个带id的url。各位有什么方法吗?

      发布在 使用交流
      H
      hundun000
    • 两个插件内用Spring扫描不同版本依赖中的bean时出错

      前提:

      第一个插件通过gradle依赖得到了v1版本的hundun.quizgame.core包,最后打出的插件jar的中有:

      GameService通过@Autowired注入成员hundun.quizgame.core.model.match.strategy.MatchStrategyFactory

      8655b09a-eeaf-4163-a5d9-bec97caf64d5-image.png

      第二个插件通过gradle依赖得到了v2版本的hundun.quizgame.core包,最后打出的插件jar的中有:

      GameService通过@Autowired注入成员hundun.quizgame.core.model.domain.match.strategy.MatchStrategyFactory(路径比v1多了domain)

      e7fe66ff-6225-48cb-b936-1baedb91207d-image.png

      问题:

      若两个插件分别放入mirai-console,均正常工作。

      若两个插件同时放入mirai-console, 第二个插件onEnable成功,第一个插件onEnable时报错,报错内容表明它试图寻找v2版本的包路径的MatchStrategyFactory的bean。

      // 这里能看出是第一个插件启动时的报错
       E/hundun.zacafleetbot.router: onEnable error:
      org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'amiya': Unsatisfied dependency expressed through field 'quizHandler'; 
      nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'quizHandler': Unsatisfied dependency expressed through field 'quizService'; 
      nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'gameService': Unsatisfied dependency expressed through field 'matchStrategyFactory'; 
      nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'hundun.quizgame.core.model.domain.match.strategy.MatchStrategyFactory' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
      

      分析

      @ryoii 在 插件里Spring的AnnotationConfigApplicationContext扫描不到bean 中说:

      注意,这个 SpringContext 是否能扫描到插件之外的 Bean 取决与 Mirai Console 的实现

      和这应该不是一回事吧?这里的预期行为是第一个插件使用v1路径的MatchStrategyFactory在插件内找bean,不关心是否能从插件外扫描到v2路径的MatchStrategyFactory。

      这和issue:调整插件类加载策略: 优先加载自己 JAR, 再从全局搜索; 让插件 JAR 携带除 mirai 外所有运行时依赖 是同一个问题吗?

      发布在 开发交流
      H
      hundun000
    • RE: mirai-quiz-plugin 答题比赛插件

      ZacaFleetBot中已经有了答题功能,为何还需要mirai-quiz-plugin?

      之前就有考虑过ZacaFleetBot不应功能过于混杂,而分析下来答题功能最适合独立出来。后者比起前者,省去了的角色配置等工作,且不需要使用mongoBD,适合只想使用答题功能的人。

      发布在 插件发布
      H
      hundun000
    • mirai-quiz-plugin 答题比赛插件

      mirai-quiz-plugin

      Github

      简介

      答题比赛插件。

      功能:

      • 自由编写题库。题目可包括文本题干、图片。有答题时间限制。
      • 每个题目拥有若干标签。每个队伍可以对标签进行ban、pick。
      • 多种赛制可选。
      • 可分多个队伍参与同一局比赛,比拼得分。
      • 每个队伍选择一个英雄角色。英雄角色可以使用不同技能。
      • 技能可分为:

        瞬时技能:延长倒计时、排除错误选项、跳过本题……
        持续增益:连续答对时获得额外得分……

      使用方式:作为mirai-console-plugin使用

      功能详细介绍

      玩法详细说明

      指令

      发布在 插件发布
      H
      hundun000
    • RE: java版command相关问题

      为了避免Java这样的蛋疼情况 我去学了Kotlin教程里的《混用Java和Kotlin的方法》然后继续用Java

      发布在 开发交流
      H
      hundun000
    • RE: java版command相关问题

      @1328189205 在 新手求助java版的command到底怎么用啊…… 中说:

      3.就可在消息事件监听中执行命令了

      CommandSenderOnMessage to = new MemberCommandSenderOnMessage(e);
      CommandManager.INSTANCE.executeCommand(to,e.getMessage(),false);	
      

      这样用好像有问题。
      我自己写的SubCommand插件实测发现(直接用JSimpleCommand应该也是同理),如果用户(为了使用别的插件的命令)同时装了chat-command插件,当群消息里发出这条指令时,一方面chat-command插件使得你的onCommand()被调用一次,另一方面你插件里的EventHandler会再使得你的onCommand()被调用一次。一共两次。

      发布在 开发交流
      H
      hundun000
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 6 / 8