可能有一些MessageEvent的constructor是private / internal的, 你可以自己定义一个MessageEvent并实现他的序列化和反序列化, 或者在kotlin中用@suppress InvisibleMember 或者 invisibleReference之类的注解直接调用
Nambers 发布的帖子
-
RE: 如何序列化/反序列化MessageEvent
-
FightInMirai - 击剑插件
github地址
FightInMirai
击剑🤺
使用方法:
- release 下载
- 在config/tech.eritquearcus.fight/config.yml中修改配置(如果没有就启动一次mcl然后关闭)
配置
# 触发条件, 现在支持:At/Nudge = 戳一戳/Both = At + nudge triggerType: Both # 附加字符, 比如是 {xxx, xx}, 那`@11 xxx`和`@11 xx`就会触发, nudge情况下无效 triggers: - 击剑 # 反应, Mute = 禁言/ Kick = 踢出/ Admin = 提升成管理员 / NameCard = 更改成名片列表中随机一个 reaction: NameCard # 禁言时间, 当reaction == Mute时生效, 单位ms muteTime: 10 # NormalRespond, 如果RespondType == Normal就在结束后发送, {winat} 和 {loseat}会被自动替换成@赢的人和@输的人, {usrat} 被替换成@发起人, 如果存在多个值就回复随机一个 respond: - '{usrat}{winat}aa' # 随机群名片列表 nameCards: - a - b # 如果对bot发起,就对对方实现reaction然后回复本项,替换规则同NormalRespond respondWhenTargetIsBot: - '{usrat}...' # 回复类型, Normal = 回复respond其中一个 / SuccessOrFail = 如果发起人成功就回复successResponds中一个否则就failResponds respondType: SuccessOrFail # 如果respondType = SuccessOrFail时候, 发起人成功时发送, 替换规则同NormalRespond successResponds: - '{usrat}S' # 如果respondType = SuccessOrFail时候, 发起人失败时发送,替换规则同NormalRespond failResponds: - 'F' # 如果reaction是踢出, 踢出信息为随机其中一条 kickMessages: - 'k'
license
Copyright (C) 2022-2022 Eritque arcus and contributors. This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version(in your opinion). This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
-
RE: NASAForMirai - 接入NASA公开API
@stardust-minus 可能有些日期nasa没有epic照片
这种nasa有的时候qs有这种情况,我还没做错误处理以后可能加个 -
NASAForMirai - 接入NASA公开API
github地址
release
目前只做了4个api,还在继续加
[WIP]api来源: NASA公开API
配置项
例子:(json不允许注释, 用的时候把//开头的注释都删掉, path:
config/<plugn id>/config.json
不存在会自动生成){ "apikey": "<apikey>", "commandName": { "EPIC": "#EPIC" // 改EPIC API 的触发字符串到 #EPIC }, "commandStatus": { "EPIC": false // 弃用EPIC API 默认全部启用 } }
配置格式是json
- apikey: 在Nasa申请的apikey, string类型, 在这里申请, 只需要(虚假的)名字和邮箱
- commandStatus: 可选, map<String, boolean>类型, key(第一项) 为API名字的一个(在下面:APOD/EARTH/EPIC/Mars...) 代表这个api是否启用, 比如
{"EPIC":false}
,#EPIC 2020-1-1
就不会有任何作用(假设EPIC触发的词还是默认的#EPIC
) - commandTets: 可选, map<String, String>类型, key 为api名字的一个, value(第二项)代表触发的字符串, 默认为
#
加各个API名字, 所以默认就是#EPIC 2020-1-1
就可以触发, 如果在这里设置{"EPIC": "abc"}
,abc 2020-1-1
就会触发
目前已经实现的api
APOD
当天或者指定时间的天文照片
返回转发信息, 里面有照片等其他信息
参数:
- date: 拍摄日期, 以 yyyy-MM-dd格式
EARTH
地球一部分表面照片(和地图的卫星图片差不多), 调用的是google的api所以可能无法使用(建议直接禁用)
返回单张照片
参数:
- lon: 经度
- lat: 纬度
- date: 拍摄日期, yyyy-MM-dd
EPIC
地球全部的照片
返回转发信息里面包含图片和其他信息
目前只支持 natural/date
参数:
- date: 拍摄时间, yyyy-MM-dd
Mars
火星车拍的照片, 有些早的可能发不出
返回转发信息里面包含图片和其他信息
参数:
- earth_date: 拍摄时间, yyyy-MM-dd
- <camera>: 可选, 相机名字 FHAZ, RHAZ, MAST, CHEMCAM, MAHLI, MARDI, NAVCAM, PANCAM, MINITES, 对应含义
license
Copyright (C) 2021-2021 Eritque arcus and contributors. This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version(in your opinion). This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
欢迎pr来加更多的api((
以后估计还会接入command系统 -
RE: 关键词 撤回/禁言
@atonioy 喔想起来了,之前没考虑到,下一个版本更新
可能的原因是: 在MessagePreSendEvent里delay没有用,要加个Timer在n秒后撤回才行