GithubHelp home page GithubHelp logo

cnlimiter / onebot-mirai Goto Github PK

View Code? Open in Web Editor NEW
74.0 1.0 8.0 346 KB

mirai消息转换成onebot标准

License: GNU Affero General Public License v3.0

Java 98.72% Kotlin 1.28%
mirai mirai-plugin onebot qqbot cqhttp-api cqhttp-mirai mirai-bot onebot-plugin

onebot-mirai's Introduction

OneBot Mirai

欢迎回到Mirai

✨ 对接OneBot标准的 mirai 插件✨


issues License GitHub Repo stars

声明

  • OneBot Mirai 是完全免费且开放源代码的Mirai插件,旨在学习,请勿用于非法用途

兼容性

  • OneBot Mirai 兼容 OneBot-v11 大部分内容。

接口

  • 正向 WebSocket
  • 反向 WebSocket
  • HTTP API
  • 反向 HTTP POST

实现

已实现 CQ 码

符合 OneBot 标准的 CQ 码

CQ 码 功能
[CQ:face] QQ 表情
[CQ:record] 语音
[CQ:video] 短视频
[CQ:at] @某人
[CQ:share] 链接分享
[CQ:music] 音乐分享 音乐自定义分享
[CQ:reply] 回复
[CQ:forward] 合并转发
[CQ:node] 合并转发节点
[CQ:xml] XML 消息
[CQ:json] JSON 消息
已实现 API

符合 OneBot 标准的 API

API 功能
/send_private_msg 发送私聊消息
/send_group_msg 发送群消息
/send_msg 发送消息
/get_msg 获取消息
/delete_msg 撤回信息
/set_group_kick 群组踢人
/set_group_ban 群组单人禁言
/set_group_whole_ban 群组全员禁言
/set_group_admin 群组设置管理员
/set_group_card 设置群名片(群备注)
/set_group_name 设置群名
/get_image 获取图片信息
/get_record 获取语音
/set_group_leave 退出群组
/set_group_special_title 设置群组专属头衔
/set_friend_add_request 处理加好友请求
/set_group_add_request 处理加群请求/邀请
/set_essence_msg 设置群精华消息
/get_login_info 获取登录号信息
/get_stranger_info 获取陌生人信息
/get_friend_list 获取好友列表
/get_group_info 获取群信息
/get_group_list 获取群列表
/get_group_member_info 获取群成员信息
/get_group_member_list 获取群成员列表
/get_group_honor_info 获取群荣誉信息
/get_version_info 获取版本信息
/get_status 获取状态
已实现 Event

符合 OneBot 标准的 Event(部分 Event 比 OneBot 标准多上报几个字段,不影响使用)

事件类型 Event
消息事件 私聊信息
消息事件 群消息
通知事件 群管理员变动
通知事件 群成员减少
通知事件 群成员增加
通知事件 群禁言
通知事件 好友添加
通知事件 群消息撤回
通知事件 好友消息撤回
通知事件 群内戳一戳
通知事件 好友戳一戳
通知事件 群成员荣誉变更
通知事件 群成员名片变更
通知事件 群成员特殊头衔变更
通知事件 其他客户端在线状态
请求事件 加好友请求
请求事件 加群请求邀请

更新日志:

开源协议

项目引用

友情链接

兼容 OneBot-v11 标准的一些项目🥰

项目地址 核心作者 备注
Overflow MrXiaoM 实现 mirai 的无缝迁移
Lagrange.Core NepPure C#实现 By Konata.Core
OpenShamrock whitechi73 Xposed框架hook实现
Gensokyo Hoshinonyaruko 基于官方api 轻量 原生跨平台
LiteLoaderQQNT-OneBotApi linyuchen 使用LiteLoaderQQNT

鸣谢

IntelliJ IDEA 是一个在各个方面都最大程度地提高开发人员的生产力的 IDE,适用于 JVM 平台语言。

统计

觉得不错给个star吧~ (~ ̄▽ ̄)~
Stargazers over time

onebot-mirai's People

Contributors

bincooo avatar cnlimiter avatar ezforever avatar paomiantong avatar reinwd avatar sherkeyxd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

onebot-mirai's Issues

无法正常发送带图片的消息

使用nonebot2,插件采用反向ws与其连接。提交发送的信息带有图片和文字,而最终发送结果只有文字,图片消失。

日志:

2024-02-24 17:30:54 I/Bot.181*****3: Login successful                                  
2024-02-24 17:30:54 I/Bot.181*****3: Saved account secrets to local cache for fast login.                                          
2024-02-24 17:30:55 I/Bot.181*****3: Login successful.                                 
2024-02-24 17:30:56 V/Bot.181******3: Event: BotOnlineEvent(bot=Bot(*********))        
2024-02-24 17:30:56 I/Bot.181****83: Bot login successful.                             WS服务器: 127.0.0.1:11444bot-mirai: 创建反向
2024-02-24 17:30:57 I/onebot-mirai: Bot: 18*****3 创建Session                         
2024-02-24 17:30:57 I/OneBotWsClient: Bot: 18*****83 反向Websocket服务端 / 成功连接
2024-02-24 17:31:23 I/OneBotWsClient: 收到原始消息:
 {"action": "send_msg", "params": {"user_id": ****, "group_id": ****, "message_type": "group", "message": [ {"type": "image", "data": {"file": "base64://iVBORw0KGgoAAAANSUhEUgAAAEAAAABAC......tOkOfBvBfo1rkJggg==", "type": null, "cache": "true", "proxy": "true", "timeout": null}}, {"type": "text", "data": {"text": "\n"}}, {"type": "text", "data": {"text": "\u540d\u79f0\uff1aplay.mcif.cn \u30101.20.1<省略文字内容>"}}, "echo": "99"}
2024-02-24 17:31:41 V/Bot.*******: Group(*********) <-                                         
名称:play.mcif.cn 【1.20.1】  ........

settings.yml

bots:
  181****83:
    cacheImage: true
    cacheRecord: true
    heartbeat:
      enable: false
      interval: 1500
    http:
      enable: false
      host: 0.0.0.0
      port: 6700
      accessToken: ''
      postUrl: ''
      postMessageFormat: string
      secret: ''                               
      timeout: 0
    ws_reverse:
      - enable: true
        postMessageFormat: string
        reverseHost: 127.0.0.1
        reversePort: 11444
        accessToken: ''
        reversePath: 'onebot/v11/ws'
        reverseApiPath: 'onebot/v11/ws/api'
        reverseEventPath: 'onebot/v11/ws/event'
        useUniversal: true
        useTLS: false
        reconnectInterval: 3000
    ws:
      enable: false
      postMessageFormat: string
      wsHost: 0.0.0.0
      wsPort: 8080
      accessToken: ''                           
    db:
      enable: true          
    debug: false                                    
    proxy: ''

临时解决方法:换用onenot-kotlin,可以正常发送,附日志

2024-02-25 13:07:00 V/Bot.181****783: Group(25****808) <- [mirai:image:{1C52B015-2850-81B9-61E0-1FAABD69D1DF}.png, width=64, height=64, size=6403, type=PNG, isEmoji=false]     
名称:pg.mcif.cn 【1.20.1  .......(省略)

其他插件指令反馈被忽略

2023-05-28 01:06:01 V/Bot.1741755095: [QFMC(787344812)] 勤奋工作,是个焊工(576765349) -> /bili help
2023-05-28 01:06:02 I/OneBot Mirai: 将发送事件: {"font":0,"group_id":787344812,"message":"/bili help","message_id":-1974544948,"message_type":"group","post_type":"message","raw_message":"/bili help","self_id":1741755095,"sender":{"age":0,"area":"","card":"勤奋工作,是个焊工","level":"63","nickname":"不要让琪伤心","role":"owner","sex":"unknown","title":"忙碌 中awa","user_id":576765349},"sub_type":"normal","time":1685207161,"user_id":576765349}
2023-05-28 01:06:03 I/OneBot Mirai: 发生了被插件忽略的事件: BeforeImageUploadEvent(target=Group(787344812), source=ExternalResourceWithAutoClose(delegate=net.mamoe.mirai.internal.utils.ExternalResourceImplByByteArray@2f1fcac5))
2023-05-28 01:06:03 I/OneBot Mirai: 发生了被插件忽略的事件: ImageUploadEvent.Succeed(target=Group(787344812), source=ExternalResourceWithAutoClose(delegate=net.mamoe.mirai.internal.utils.ExternalResourceImplByByteArray@2f1fcac5), image=[mirai:image:{68BB692F-5FFD-F7E1-6001-14AF682AD29E}.png, width=1000, height=1900, size=241034, type=PNG, isEmoji=false])
2023-05-28 01:06:03 I/OneBot Mirai: 发生了被插件忽略的事件: GroupMessagePreSendEvent(target=Group(787344812), message=[mirai:image:{68BB692F-5FFD-F7E1-6001-14AF682AD29E}.png, width=1000, height=1900, size=241034, type=PNG, isEmoji=false])
2023-05-28 01:06:06 V/Bot.1741755095: Group(787344812) <- [mirai:image:{68BB692F-5FFD-F7E1-6001-14AF682AD29E}.png, width=1000, height=1900, size=241034, type=PNG, isEmoji=false]
2023-05-28 01:06:06 I/OneBot Mirai: 发生了被插件忽略的事件: GroupMessagePostSendEvent(target=Group(787344812), message=[mirai:image:{68BB692F-5FFD-F7E1-6001-14AF682AD29E}.png, width=1000, height=1900, size=241034, type=PNG, isEmoji=false], exception=null, receipt=net.mamoe.mirai.message.MessageReceipt@58b8a1c1)

请教:如何启用插件的反向ws功能

我已在mirai-console-loader中加载了插件,并在 config/cn.evole.mirai.onebot/setting.yml中配置了机器人的反向ws连接,但是启动后并没有连接到服务,同时显示

2024-02-24 10:47:06 I/onebot-mirai: OneBot Loaded!
2024-02-24 10:47:06 I/onebot-mirai: 插件当前版本: 0.2.3
2024-02-24 10:47:06 I/onebot-mirai: 开发交流群: 720975019
2024-02-24 10:47:06 I/onebot-mirai: 当前存在的机器人数量: 0

setting.yml配置如下:

bots: 
  1759585224: 
    cacheImage: true
    cacheRecord: true
    heartbeat: 
      enable: false
      interval: 1500
    http: 
      enable: false
      host: 0.0.0.0
      port: 6700
      accessToken: ''
      postUrl: ''
      postMessageFormat: string
      secret: ''
      timeout: 0
    ws_reverse: 
      - enable: true
        postMessageFormat: string
        reverseHost: 0.0.0.0
        reversePort: 8084
        accessToken: ''
        reversePath: 'onebot/v11/ws'
        reverseApiPath: 'onebot/v11/ws/api'
        reverseEventPath: 'onebt/v11/ws/event'
        useUniversal: true
        useTLS: false
        reconnectInterval: 3000
    ws: 
      enable: false
      postMessageFormat: string
      wsHost: 0.0.0.0
      wsPort: 8080
      accessToken: ''
db: 
  enable: true
debug: false
proxy: ''

发送不了消息

2024-01-22 11:27:48 V/Bot. -> sudo tps 2024-01-22 11:27:49 I/onebot-mirai: Bot: 正向Websocket服务端 收到请求 2024-01-22 11:27:49 E/onebot-mirai: java.lang.IllegalStateException: Not a JSON Array: "命令已提交" java.lang.IllegalStateException: Not a JSON Array: "命令已提交" at OneBot-Mirai-0.2.2.mirai2.jar[private]//com.google.gson.JsonElement.getAsJsonArray(JsonElement.java:117) at OneBot-Mirai-0.2.2.mirai2.jar//cn.evole.onebot.mirai.core.ApiMap.sendGroupMessage(ApiMap.java:319) at OneBot-Mirai-0.2.2.mirai2.jar//cn.evole.onebot.mirai.core.ApiMap.callMiraiApi(ApiMap.java:83) at OneBot-Mirai-0.2.2.mirai2.jar//cn.evole.onebot.mirai.util.ActionUtils.handleWebSocketActions(ActionUtils.java:25) at OneBot-Mirai-0.2.2.mirai2.jar//cn.evole.onebot.mirai.web.websocket.OneBotWSServer.onMessage(OneBotWSServer.java:58) at OneBot-Mirai-0.2.2.mirai2.jar//org.java_websocket.server.WebSocketServer.onWebsocketMessage(WebSocketServer.java:712) at OneBot-Mirai-0.2.2.mirai2.jar//org.java_websocket.drafts.Draft_6455.processFrameText(Draft_6455.java:986) at OneBot-Mirai-0.2.2.mirai2.jar//org.java_websocket.drafts.Draft_6455.processFrame(Draft_6455.java:910) at OneBot-Mirai-0.2.2.mirai2.jar//org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:401) at OneBot-Mirai-0.2.2.mirai2.jar//org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:233) at OneBot-Mirai 0.2.2.mirai2.jar//org.java_websocket.server.WebSocketServer$WebSocketWorker.doDecode(WebSocketServer.java:1114) at OneBot-Mirai-0.2.2.mirai2.jar//org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:1086)

报错

每隔一段时间就会报错
2024-01-22 12:10:31 W/stderr: java.io.FileNotFoundException: D:\新建文件夹 (2)\data\cn.evole.mirai.onebot\db\db.obm_ (系统找不到指定的路径。) 2024-01-22 12:10:31 W/stderr: at java.base/java.io.FileOutputStream.open0(Native Method) 2024-01-22 12:10:31 W/stderr: at java.base/java.io.FileOutputStream.open(Unknown Source) 2024-01-22 12:10:31 W/stderr: at java.base/java.io.FileOutputStream.<init>(Unknown Source) 2024-01-22 12:10:31 W/stderr: at java.base/java.io.FileOutputStream.<init>(Unknown Source) 2024-01-22 12:10:31 W/stderr: at OneBot-Mirai-0.2.2.mirai2.jar//cn.evole.onebot.mirai.database.internal.MapSerl.toFile(MapSerl.java:30) 2024-01-22 12:10:31 W/stderr: at OneBot-Mirai-0.2.2.mirai2.jar//cn.evole.onebot.mirai.database.NanoDb.save(NanoDb.java:125) 2024-01-22 12:10:31 W/stderr: at OneBot-Mirai-0.2.2.mirai2.jar//cn.evole.onebot.mirai.database.NanoDb.scheduleSave(NanoDb.java:115) 2024-01-22 12:10:31 W/stderr: at OneBot-Mirai-0.2.2.mirai2.jar//cn.evole.onebot.mirai.database.NanoDb.set(NanoDb.java:72) 2024-01-22 12:10:31 W/stderr: at OneBot-Mirai-0.2.2.mirai2.jar//cn.evole.onebot.mirai.util.DBUtils.saveMessageToDB(DBUtils.java:52) 2024-01-22 12:10:31 W/stderr: at OneBot-Mirai-0.2.2.mirai2.jar//cn.evole.onebot.mirai.OneBotMirai.lambda$onEnable$5(OneBotMirai.java:118) 2024-01-22 12:10:31 W/stderr: at net.mamoe.mirai.event.EventChannel$subscribeAlways$2$1.invoke(EventChannel.kt:605) 2024-01-22 12:10:31 W/stderr: at net.mamoe.mirai.event.EventChannel$subscribeAlways$2$1.invoke(EventChannel.kt:605) 2024-01-22 12:10:31 W/stderr: at kotlinx.coroutines.InterruptibleKt.runInterruptibleInExpectedContext(Interruptible.kt:51) 2024-01-22 12:10:31 W/stderr: at kotlinx.coroutines.InterruptibleKt.access$runInterruptibleInExpectedContext(Interruptible.kt:1) 2024-01-22 12:10:31 W/stderr: at kotlinx.coroutines.InterruptibleKt$runInterruptible$2.invokeSuspend(Interruptible.kt:43) 2024-01-22 12:10:31 W/stderr: at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) 2024-01-22 12:10:31 W/stderr: at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) 2024-01-22 12:10:31 W/stderr: at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42) 2024-01-22 12:10:31 W/stderr: at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95) 2024-01-22 12:10:31 W/stderr: at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570) 2024-01-22 12:10:31 W/stderr: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750) 2024-01-22 12:10:31 W/stderr: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677) 2024-01-22 12:10:31 W/stderr: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

请求添加功能:连接成功后向连接端返回heartbeat

实际使用过程中nonebot中使用onebot11适配器连接,发现mirai端有日志显示连接成功,但nonebot无日志输出,也无法收发消息,通过查阅代码发现onebot11适配器建立连接时会等待收到heartbeat才会创建bot对象,因此请求添加连接成功后向连接端返回heartbeat的功能。

功能建议

期待大佬能实现反向websocket连接功能

[BUG]HTTP服务请求失败

问题描述

开启http服务,端口6700,添加accessToken,timeout调3或者0,http无效
使用curl

curl -v --header "Content-Type: application/json" --header "Accept: application/json, text/plain, */*" --header "Authorization: Bearer zuiX1xJcwIYW5lzf" --user-agent "axios/0.27.2" --data-binary '{"auto_escape":true,"message":"UptimeKuma Alert: OneBot 通知(1) Testing","message_type":"private","user_id":"2484443126"}' http://0.0.0.0:6700/send_msg

显示服务无回应。
预期显示

{"status":"ok","retcode":0,"data":{"ClassType":"MessageData","message_id":-2113871920},"echo":null}

状态码200

问题背景

可能导致问题的插件:Control插件
可能导致问题的版本:2.16.0

目前暂时使用
onebot-kotlin
项目做临时方案

[Bug] 最新 action 构建的包无法启动

最新一个action 下的
报错如下

2024-01-16 20:16:31 E/main: Failed to init MiraiConsole.
net.mamoe.mirai.console.plugin.loader.PluginLoadException: Exception while loading OneBot_Mirai v0.1.6
        at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl.load(BuiltInJvmPluginLoaderImpl.kt:373)
        at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl.load(BuiltInJvmPluginLoaderImpl.kt:40)
        at net.mamoe.mirai.console.plugin.jvm.JvmPluginLoader$BuiltIn.load(JvmPluginLoader.kt)
        at net.mamoe.mirai.console.plugin.jvm.JvmPluginLoader$BuiltIn.load(JvmPluginLoader.kt:54)
        at net.mamoe.mirai.console.internal.plugin.PluginManagerImpl.loadPluginNoEnable(PluginManagerImpl.kt:100)
        at net.mamoe.mirai.console.internal.plugin.PluginManagerImpl.loadAllPluginsUsingBuiltInLoaders$mirai_console(PluginManagerImpl.kt:164)
        at net.mamoe.mirai.console.internal.MiraiConsoleImplementationBridge.doStart$mirai_console(MiraiConsoleImplementationBridge.kt:303)
        at net.mamoe.mirai.console.MiraiConsoleImplementation$Companion.start(MiraiConsoleImplementation.kt:512)
        at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon(MiraiConsoleTerminalLoader.kt:182)
        at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon$default(MiraiConsoleTerminalLoader.kt:181)
        at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.main(MiraiConsoleTerminalLoader.kt:59)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at org.itxtech.mcl.Utility.bootJars(Utility.java:86)
        at org.itxtech.mcl.Utility.bootJars(Utility.java:76)
        at org.itxtech.mcl.Utility.bootMirai(Utility.java:98)
        at org.itxtech.mcl.module.builtin.Boot.boot(Boot.java:113)
        at org.itxtech.mcl.module.ModuleManager.phaseBoot(ModuleManager.java:123)
        at org.itxtech.mcl.Loader.lambda$start$4(Loader.java:196)
        at org.itxtech.mcl.Loader.tryCatching(Loader.java:151)
        at org.itxtech.mcl.Loader.start(Loader.java:196)
        at org.itxtech.mcl.Loader.main(Loader.java:84)
Caused by: java.lang.IllegalStateException: A JvmPlugin loaded by plugin.yml must has same description reference
        at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl.load(BuiltInJvmPluginLoaderImpl.kt:362)
        ... 23 more

miria报错

nonebot.adapters.onebot.v11.exception.ActionFailed: ActionFailed(status='failed', retcode=103, echo='4')
2024-01-25 16:29:56 E/OneBot_Mirai: java.lang.NullPointerException: Parameter specified as non-null is null: method net.mamoe.mirai.message.data.MessageSource$Key.recall, parameter
java.lang.NullPointerException: Parameter specified as non-null is null: method net.mamoe.mirai.message.data.MessageSource$Key.recall, parameter
at net.mamoe.mirai.message.data.MessageSource$Key.recall(MessageSource.kt)
at net.mamoe.mirai.message.data.MessageSource.recall(MessageSource.kt)
at OneBot-Mirai-0.2.0.mirai2.jar//cn.evole.onebot.mirai.core.ApiMap.deleteMessage(ApiMap.java:363)
at OneBot-Mirai-0.2.0.mirai2.jar//cn.evole.onebot.mirai.core.ApiMap.callMiraiApi(ApiMap.java:89)
at OneBot-Mirai-0.2.0.mirai2.jar//cn.evole.onebot.mirai.util.ActionUtils.handleWebSocketActions(ActionUtils.java:25)
at OneBot-Mirai-0.2.0.mirai2.jar//cn.evole.onebot.mirai.web.websocket.OneBotWSClient.onMessage(OneBotWSClient.java:83)
at OneBot-Mirai-0.2.0.mirai2.jar//org.java_websocket.client.WebSocketClient.onWebsocketMessage(WebSocketClient.java:636)
at OneBot-Mirai-0.2.0.mirai2.jar//org.java_websocket.drafts.Draft_6455.processFrameText(Draft_6455.java:986)
at OneBot-Mirai-0.2.0.mirai2.jar//org.java_websocket.drafts.Draft_6455.processFrame(Draft_6455.java:910)
at OneBot-Mirai-0.2.0.mirai2.jar//org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:401)
at OneBot-Mirai-0.2.0.mirai2.jar//org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:233)
at OneBot-Mirai-0.2.0.mirai2.jar//org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:516)
at java.base/java.lang.Thread.run(Unknown Source)

转发api

劳烦添加 send_group_forward_msgsend_private_forward_msg api

项目名调整建议

  1. 项目名应该为 mirai-onebot-http-java ,之所以这样起是因为, 这个项目的主导是 mirai-console 的插件 ,其主体是mirai 插件,因此应该以 mirai作为起始单词,此外 该项目是 基于onebot 标准写的 一个 http api 通讯服务,应该以 http 作为第三个组成部分。至于 java 主要用于区分 你的实现语言,毕竟别人也有用 Kotlin 实现的。当然第四部分可有可无。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.