Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
M
Mirai
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
Mirai
Commits
2ba31871
Commit
2ba31871
authored
May 19, 2020
by
Him188
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
1cf5b7fb
e440e741
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
25 additions
and
11 deletions
+25
-11
CHANGELOG.md
CHANGELOG.md
+3
-0
docs/mirai.md
docs/mirai.md
+22
-11
No files found.
CHANGELOG.md
View file @
2ba31871
# Version 1.x
## `1.0-RC2-1` 2020/5/11
修复一个
`VerifyError`
## `1.0-RC2` 2020/5/11
主要内容:
-
增强网络稳定性 (#298, #317), 修复
`Bot.close`
或 Bot 离线后没有从
`Bot.botInstances`
中删除的问题 (#317)
...
...
docs/mirai.md
View file @
2ba31871
...
...
@@ -4,10 +4,17 @@
本文档基于 mirai 1.0-RC2-1, 最后修改时间为 2020/5/16
## 声明
1.
mirai 为完全免费的开源项目
. mirai 项目维护者和贡献者 (下文简称 '我们') 不通过任何方式收取任何费用, 也不提供任何稳定性保障.
2.
mirai 不允许被用于任何违反相关法律法规的工作, 包括但不限于: 盗取账号密码, 盗窃用户资金, 群发违禁内容
. 因此我们没有支持设备锁验证, 也没有支持免密登录 (在非常用地点登录会频繁要求输入验证码).
3.
mirai 不提供任何可能促进上述违法行为的功能, 包括但不限于: 收发红包, 收发转账, 主动添加好友
.
1.
mirai 为完全免费的开源项目
,使用 AGPLv3 开源协议. mirai 项目维护者和贡献者 (下文简称 '我们') 不通过任何方式收取费用。所有人都可以免费获取并使用这个项目。
2.
mirai 不允许被用于任何违反相关法律法规的工作, 包括但不限于: 盗取账号密码, 盗窃用户资金, 群发违禁内容
。 因此我们没有支持设备锁验证, 也没有支持免密登录 (在非常用地点登录会频繁要求输入验证码)。
3.
mirai 不提供任何可能促进上述违法行为的功能, 包括但不限于: 收发红包, 收发转账, 主动添加好友
。
4.
mirai 不公开任何协议接口. 不支持任何协议扩展.
5.
mirai 开发者是友善的,建立在以下前提之上:
-
我们只帮助
**友善**
的人
-
我们只接受友善的
**建议**
,不接受任何
**要求**
-
**我们没有任何义务解答你的问题**
-
我们只接受友善的评价
-
我们有权利拒绝你使用 mirai 相关服务
## 项目整体架构
mirai 项目整体由 核心 (
`mirai-core`
) 与 控制台(
`mirai-console`
) 组成.
...
...
@@ -49,8 +56,12 @@ mirai 项目整体由 核心 (`mirai-core`) 与 控制台(`mirai-console`) 组
要能看懂下文, 建议至少学习 Java, Kotlin 或 C# 其中一门语言.
mirai 全部使用 Kotlin, 若你无法理解部分 API, 可先简略阅读 Kotlin 参考:
[
kotlincn.net
](
https://www.kotlincn.net/docs/reference/
)
有关协程 (
`suspend`
)部分, mirai 做了大量的兼容性转换以让 Java 使用相同的 API 阻塞地调用一个协程函数.
因此, 对于函数如
`suspend fun sendMessage(Message)`
, Java 使用者也可以直接调用它.
有关协程 (
`suspend`
修饰符)部分, mirai 做了大量的兼容性转换以让 Java 使用相同的 API 阻塞地调用一个协程函数。
对于 Kotlin 函数如
`suspend fun sendMessage(msg: Message)`
,
Kotlin 编译后生成 Java 方法
`public Object sendMessage(Message msg, Continuation<Unit> cont)`
Mirai 通过某种方式同时生成了桥梁方法
`public void sendMessage(Message msg)`
使得 Java 使用者可无缝接入。
### 开始
...
...
@@ -77,16 +88,16 @@ mirai 全部使用 Kotlin, 若你无法理解部分 API, 可先简略阅读 Kotl
3.
接下来可按需阅读各类型消息
[
各类型消息
](
../mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/data/
)
. 一个文件包含一种消息.
4.
'事件'
mirai 支持异步的事件系统.
4.
'事件'
mirai 支持异步的事件系统.
1.
[
事件接口 Event
](
../mirai-core/src/commonMain/kotlin/net.mamoe.mirai/event/Event.kt
)
2.
[
广播事件 Event.broadcast
](
../mirai-core/src/commonMain/kotlin/net.mamoe.mirai/event/Event.kt
)
3.
- Kotlin:
[
函数式监听事件 subscribe
](
../mirai-core/src/commonMain/kotlin/net.mamoe.mirai/event/subscriber.kt
)
-
Kotlin & Java:
[
方法反射监听事件 JvmMethodListeners
](
../mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/event/JvmMethodListeners.kt
)
4.
内建事件列表
[
README
](
../mirai-core/src/commonMain/kotlin/net.mamoe.mirai/event/events/README.md
)
.
**注意**
: mirai 将接收到的消息事件独立放置在
`net.mamoe.mirai.message`
下, 并命名为
`MessageEvent`
. 并为他们实现了一些扩展. 详见
[
MessageEvent.kt
](
../mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/MessageEvent.kt
)
5.
事件工具类和工具函数 (仅 Kotlin) (可以跳过本节):
标注 (
*
) 的几种处理方式可能需要比较好的 Kotlin 技能才能理解并正确使用. 建议在不熟悉时不要使用它们.
5.
事件工具类和工具函数 (仅 Kotlin) (可以跳过本节):
标注 (
*
) 的几种处理方式可能需要比较好的 Kotlin 技能才能理解并正确使用. 建议在不熟悉时不要使用它们.
-
挂起当前协程, 直到返回下一个事件实例:
[
nextEvent
](
../mirai-core/src/commonMain/kotlin/net.mamoe.mirai/event/nextEvent.kt
)
-
挂起当前协程, 并从一个事件中同步一个值:
[
syncFromEvent
](
../mirai-core/src/commonMain/kotlin/net.mamoe.mirai/event/linear.kt
)
-
(
*
) 消息事件监听 DSL:
[
subscribeMessages
](
../mirai-core/src/commonMain/kotlin/net.mamoe.mirai/event/subscribeMessages.kt
)
...
...
@@ -110,7 +121,7 @@ mirai 全部使用 Kotlin, 若你无法理解部分 API, 可先简略阅读 Kotl
#### 第三方依赖
mirai
通过 gradle
`api`
方式暴露了如下依赖库:
mirai
-core 通过 gradle 依赖的
`api`
方式暴露了如下依赖库:
-
`kotlin-stdlib`
: Kotlin 标准库, 版本至少为 1.3.72
-
`kotlin-reflect`
: Kotlin 反射, 版本至少为 1.3.72
...
...
@@ -128,4 +139,4 @@ mirai 通过 gradle `api` 方式暴露了如下依赖库:
`mirai-core`
的实现部分. 不提供任何说明. 使用者无需考虑任何协议实现过程.
## `mirai-console`
此模块处于实验性阶段, 可能没有很好地文档支持, 详见
[
mirai-console
](
https://github.com/mamoe/mirai-console
)
控制台框架。
此模块处于实验性阶段, 可能没有很好地文档支持, 详见
[
mirai-console
](
https://github.com/mamoe/mirai-console
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment