@cssxsh
我之前一直是忍着……
刚刚试了下加上这行,刷新gradle时还是会尝试一遍从dl.bintray.com下载,怎么回事?
hundun000 发布的帖子
-
RE: gradle加载mirai速度怎么这么慢,每次进idea都要等半天,有什么办法提高速度嘛
-
RE: ZacaFleetBot 明日方舟游戏助手+舰队收藏游戏助手+More
@mjr147 和上面的原因一样
@hundun000 在 ZacaFleetBot 明日方舟游戏助手+舰队收藏游戏助手+More 中说:
@kleepaimon 需要启用mongoDB数据库,你可以在网上搜安装和启动教程。否则自动推送微博和涉及数据库的命令都无法正常执行。
-
RE: ZacaFleetBot 明日方舟游戏助手+舰队收藏游戏助手+More
说起来我也在考虑是不是某个未来版本移除mongoDB依赖,以降低使用门槛。只考虑目前的功能点,改成文本文件读写实现持久化,即使每次写操作都立刻写文件应该也不会有瓶颈。主要是贪spring mongo开发起来方便,不然一堆findByField要手写。
-
RE: ZacaFleetBot 明日方舟游戏助手+舰队收藏游戏助手+More
@kleepaimon 需要启用mongoDB数据库,你可以在网上搜安装和启动教程。否则自动推送微博和涉及数据库的命令都无法正常执行。
-
RE: ZacaFleetBot 明日方舟游戏助手+舰队收藏游戏助手+More
@kleepaimon private-settings.json里不需要填密码,也就是保持模板的
"botPwd": null,
,json文件里任何地方都不应该填nul
-
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的下一层
-
RE: 两个插件内用Spring扫描不同版本依赖中的bean时出错
看起来确实是一个插件scan公共包时,会扫描到并得到另一个插件内的公共包的bean。
暂时不打算让插件脱离Spring,折中一下,准备把公共包改成脱离Spring。 -
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"); }
-
RE: 请教大家筛选信息的方式
和功能场景有关吧,有的场景不适合/一定不是command。例如:
1、我的mirai-quiz-plugin插件里的QuizCommand类既注册了@SubCommand,也作为ListenerHost通过if判断event.getMessage().contentToString()。
出题指令用command还可以接受
-> /一站到底 出题
<- 《紫罗兰永恒花园》中薇尔莉特的名字是来自?
A. 紫罗兰
B. 勿忘我
C. 向日葵
D. 玫瑰
发送选项字母来回答
[图片]答题时如果还要求指令,不利于抢答,破坏游戏节奏,用户体验差
-> /一站到底 答题 A
此时允许用户直接回复选项。等效于指令。(其实出题指令也可以用简化方式触发)
-> A
<- @回答者 回答错误QAQ
正确答案是C2、闲聊功能。如果闲聊的条件简单,那就用contains等检测;如果闲聊的条件是正则的,那就用正则检测。
3.2 阿米娅的闲聊
-
当群员发言里包含“下班”,根据是否是工作时间(周一至周五9点至17点),阿米娅会做不同回复。
-
当群员发言里包含“damedane”,阿米娅会播放音频。
-
-
RE: ZacaFleetBot 明日方舟游戏助手+舰队收藏游戏助手+More
3. 配置账号和群
- 位于
config文件夹
:把private-settings-template.json
重命名为private-settings.json
。修改private-settings.json
。包括:bot账号密码,每个群的群号和使用的角色,其他私密数据。
- 位于
-
RE: 又是一个Pixiv的图片API
好耶,已经用起来了
下一步想实现随机索图时保存它的id(以便有需要时进一步取原图),我看了下我用的openfeign的文档和其Response类源码,并没有学会怎么取到重定向后的那个带id的url。各位有什么方法吗? -
两个插件内用Spring扫描不同版本依赖中的bean时出错
前提:
第一个插件通过gradle依赖得到了v1版本的
hundun.quizgame.core包
,最后打出的插件jar的中有:GameService通过@Autowired注入成员
hundun.quizgame.core.model.match.strategy.MatchStrategyFactory
第二个插件通过gradle依赖得到了v2版本的
hundun.quizgame.core包
,最后打出的插件jar的中有:GameService通过@Autowired注入成员
hundun.quizgame.core.model.domain.match.strategy.MatchStrategyFactory
(路径比v1多了domain)问题:
若两个插件分别放入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 外所有运行时依赖 是同一个问题吗?
-
RE: mirai-quiz-plugin 答题比赛插件
ZacaFleetBot中已经有了答题功能,为何还需要mirai-quiz-plugin?
之前就有考虑过ZacaFleetBot不应功能过于混杂,而分析下来答题功能最适合独立出来。后者比起前者,省去了的角色配置等工作,且不需要使用mongoBD,适合只想使用答题功能的人。
-
mirai-quiz-plugin 答题比赛插件
mirai-quiz-plugin
简介
答题比赛插件。
功能:
- 自由编写题库。题目可包括文本题干、图片。有答题时间限制。
- 每个题目拥有若干标签。每个队伍可以对标签进行ban、pick。
- 多种赛制可选。
- 可分多个队伍参与同一局比赛,比拼得分。
- 每个队伍选择一个英雄角色。英雄角色可以使用不同技能。
- 技能可分为:
瞬时技能:延长倒计时、排除错误选项、跳过本题……
持续增益:连续答对时获得额外得分……
功能详细介绍
-
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()被调用一次。一共两次。