MiraiForum

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

    Nambers 创建的主题

    • Nambers

      FightInMirai - 击剑插件
      插件发布 • • Nambers

      9
      1
      赞同
      9
      帖子
      3162
      浏览

      Nambers

      https://mirai.mamoe.net/topic/1033/突然想到一个很好玩的功能

      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/>.
    • Nambers

      NASAForMirai - 接入NASA公开API
      插件发布 • • Nambers

      18
      0
      赞同
      18
      帖子
      3026
      浏览

      Nambers

      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系统

    • Nambers

      关键词 撤回/禁言
      插件发布 • • Nambers

      34
      0
      赞同
      34
      帖子
      5159
      浏览

      Nambers

      github
      配置几组不同权值的关键词和撤回阈值, 当一条消息权值累计超过(出现多个关键词相加大于或者重复出现多个关键词每个都算)阈值就撤回

      因为是很早前写的了, 可能维护不会太频繁而且代码质量可能也会比较差(

      配置:

      data class Config( // 是否分析文本 var readText: Boolean?, // 是否用百度云ocr api分析图片(需要在下面配置) var readPic: Boolean?, // 百度云ocr配置 val baiduSetting: BaiduSetting?, // 撤回的时候通知群主 var notification: Boolean?, // 撤回阈值, 权值累计到多少就撤回 val MaxBorder: Int, // 撤回的关键词, 每组关键词的权值=该组的下标 var keyWords: List<List<String>> ){ // 百度云OCR设置 data class BaiduSetting( val APP_ID:String, val API_KEY:String, val SECRET_KEY:String ) }

      比如配置文件为:

      {"readText":true,"readPic":false,"notification":false,"MaxBorder":5,"keyWords":[[a]]}

      就会撤回包含5个以上a的信息

    • Nambers

      Resend 重发插件
      插件发布 • • Nambers

      19
      1
      赞同
      19
      帖子
      2538
      浏览

      Nambers

      重发插件, 设置一条重发条件后, 当该条件被触发, 相当于bot收到另外一条信息, github地址
      比如设置接收到a就等于b, 那机器人下次收到a就相当于收到b, 使用场景大概在简化发送的指令上
      大概就这个效果:b0bded17-0954-4866-a280-cd88cd9d4c7c-image.png
      目前只支持群聊和好友

      可选配置如下:

      data class Config( // 好友的重发条件 val resendsForFriend: ArrayList<ResendCommand>, // 群聊的重发条件 val resendsForGroup: ArrayList<ResendCommand>, // 匹配消息的content(MessageChain.contentToString) val content: Boolean? = null, // 匹配消息的MiraiCode(MessageChain.serializeToMiraiCode) val miraiCode: Boolean? = null, // 阻止其他监听器获取重发前的信息 val intercept: Boolean? = null, // 屏蔽全部好友信息 val blockFriend: Boolean? = null, // 屏蔽全部群聊信息 val blockGroup: Boolean? = null, // 每条信息只匹配一次 val matchOnce: Boolean? = null ) { data class ResendCommand( // 触发字符串, 可为正则表达式 val target: String, // 重发字符串, 可为MiraiCode val to: String, // 触发字符串是否是正则表达式 val regex: Boolean? = null, // 重发字符串是否为MiraiCode val miraiCode: Boolean? = null ) }
    • Nambers

      MiraiCP-C++ SDK
      项目发布 • miraicp • • Nambers

      18
      2
      赞同
      18
      帖子
      3125
      浏览

      Nambers

      MiraiCP发展到现在也已经发展了30几个版本了,基础api都已经覆盖,不过还是有着一些缺陷
      github项目地址
      本贴旨在搜集对MiraiCP的建议,意见,一些功能的讨论和遇到的问题
      MiraiCP也会慢慢覆盖mirai其他未覆盖的api 如戳一戳之类的
      x

    • Nambers

      mirai有没有提供取消插件加载的方法
      开发交流 • • Nambers

      4
      0
      赞同
      4
      帖子
      304
      浏览

      Nambers

      如题,如果在插件onEnable中出现了一些配置错误要中断插件的加载,除了抛出异常和不继续注册监听外有没有方法终止?

    • Nambers

      Mirai接入图灵机器人
      插件发布 • 图灵 • • Nambers

      50
      1
      赞同
      50
      帖子
      10168
      浏览

      Nambers

      github地址

      图灵聊天机器人虽然感觉越做越水了,不过还可以免费用

      本插件使用方法:

      下载release中的插件文件 去图灵个人中心取到api令牌
      image 把插件放到mcl里运行一次,插件会把配置文件目录通过日志发送出来(即在data/TuLingBot/config.json),打开编辑这个文件 按照以下格式输入 { "apikey":"api令牌", "gkeyword":"群聊触发开始字符", "fkeyword":"私聊触发开始字符" }

      其中,开始字符为空则代表在任何情况都触发
      5. 运行mcl

      有什么需要可以发issue再加

    • Nambers

      信息撤回
      开发交流 • • Nambers

      3
      0
      赞同
      3
      帖子
      460
      浏览

      Nambers

      有没有方法可以判断一个MessageSource是否被撤回,或监听一个MessageSource撤回事件?

    • 1 / 1