mirror of
https://github.com/mamoe/mirai.git
synced 2025-02-09 07:19:15 +08:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
d3c950a152
@ -56,7 +56,7 @@
|
|||||||
|
|
||||||
```groovy
|
```groovy
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'net.mamoe:mirai-core-qqandroid:0.32.0'//此处版本应替换为当前最新
|
implementation 'net.mamoe:mirai-core-qqandroid:1.1-EA'//此处版本应替换为当前最新
|
||||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
|
||||||
testCompile group: 'junit', name: 'junit', version: '4.12'
|
testCompile group: 'junit', name: 'junit', version: '4.12'
|
||||||
}
|
}
|
||||||
@ -78,6 +78,9 @@ package net.mamoe.mirai.simpleloader
|
|||||||
import kotlinx.coroutines.*
|
import kotlinx.coroutines.*
|
||||||
import net.mamoe.mirai.Bot
|
import net.mamoe.mirai.Bot
|
||||||
import net.mamoe.mirai.alsoLogin
|
import net.mamoe.mirai.alsoLogin
|
||||||
|
import net.mamoe.mirai.join
|
||||||
|
import net.mamoe.mirai.message.data.At
|
||||||
|
import net.mamoe.mirai.contact.Member
|
||||||
import net.mamoe.mirai.event.subscribeMessages
|
import net.mamoe.mirai.event.subscribeMessages
|
||||||
|
|
||||||
suspend fun main() {
|
suspend fun main() {
|
||||||
@ -87,11 +90,11 @@ suspend fun main() {
|
|||||||
miraiBot.subscribeMessages {
|
miraiBot.subscribeMessages {
|
||||||
"你好" reply "你好!"
|
"你好" reply "你好!"
|
||||||
case("at me") {
|
case("at me") {
|
||||||
reply(sender.at() + " 给爷爬 ")
|
reply(At(sender as Member) + " 给爷爬 ")
|
||||||
}
|
}
|
||||||
|
|
||||||
(contains("舔") or contains("刘老板")) {
|
(contains("舔") or contains("刘老板")) {
|
||||||
"刘老板太强了".reply()
|
reply("刘老板太强了")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
miraiBot.join() // 等待 Bot 离线, 避免主线程退出
|
miraiBot.join() // 等待 Bot 离线, 避免主线程退出
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Mirai Guide - Quick Start
|
# Mirai Guide - Quick Start
|
||||||
|
|
||||||
由于 mirai 项目在快速推进中,因此内容时有变动,本文档的最后更新日期为```2020/5/11```,对应版本```1.0-RC2-1```
|
由于 mirai 项目在快速推进中,因此内容时有变动,本文档的最后更新日期为```2020/6/22```,对应版本```1.0.2```
|
||||||
|
|
||||||
本文适用于对 Kotlin 较熟悉的开发者,
|
本文适用于对 Kotlin 较熟悉的开发者,
|
||||||
使用 mirai 作为第三方依赖库引用到任意一个 Kotlin, Java 或其他 JVM 平台的项目
|
使用 mirai 作为第三方依赖库引用到任意一个 Kotlin, Java 或其他 JVM 平台的项目
|
||||||
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
## 构建需求
|
## 构建需求
|
||||||
|
|
||||||
- Kotlin 1.3.71 (必须)
|
- Kotlin 1.3.72 (必须)
|
||||||
- JDK 6 或更高 (必须)
|
- JDK 6 或更高 (必须)
|
||||||
|
|
||||||
## 获取 Demo
|
## 获取 Demo
|
||||||
|
@ -20,15 +20,12 @@
|
|||||||
mirai 项目整体由 核心 (`mirai-core`) 与 控制台(`mirai-console`) 组成.
|
mirai 项目整体由 核心 (`mirai-core`) 与 控制台(`mirai-console`) 组成.
|
||||||
|
|
||||||
|
|
||||||
- [`mirai-core`](../mirai-core) 是机器人服务支持**库**. 提供所有机器人相关 API. **本身只包含抽象类和接口, 具体由协议模块实现**.
|
- [`mirai-core`](../mirai-core) 是机器人服务支持**库**. 提供所有机器人相关 API. **本身只包含抽象类和接口, 使用时还需要同时依赖协议模块**.
|
||||||
可用的协议模块:
|
可用的协议模块:
|
||||||
- [`mirai-core-qqandroid`](../mirai-core-qqandroid): Android QQ 8.3.0 版本协议实现.
|
- [`mirai-core-qqandroid`](../mirai-core-qqandroid): Android QQ 8.3.0 版本协议实现.
|
||||||
|
|
||||||
`mirai-core` 设计为一个 **`支持库`**, 意味着它可以被独立依赖, 在任意项目中使用. 详见下文.
|
`mirai-core` 设计为一个 **`支持库`**, 意味着它可以被独立依赖, 在任意项目中使用. 详见下文.
|
||||||
|
|
||||||
|
|
||||||
- `mirai-core-qqandroid` 继承 `mirai-core`, 是 Android QQ 协议的实现. 在使用时只需参考 `mirai-core` 的 API.
|
|
||||||
|
|
||||||
- `mirai-serialization` 依赖 `mirai-core`, 是 mirai-core 的序列化支持模块. 提供 `Message` 类型的序列化支持与相关 [mirai 码](mirai-code-specification.md) 支持.
|
- `mirai-serialization` 依赖 `mirai-core`, 是 mirai-core 的序列化支持模块. 提供 `Message` 类型的序列化支持与相关 [mirai 码](mirai-code-specification.md) 支持.
|
||||||
此模块自 mirai `1.1.0` 起可用, 引用方法同 `mirai-core`.
|
此模块自 mirai `1.1.0` 起可用, 引用方法同 `mirai-core`.
|
||||||
|
|
||||||
@ -122,17 +119,17 @@ Mirai 通过某种方式同时生成了桥梁方法 `public void sendMessage(Mes
|
|||||||
|
|
||||||
#### 第三方依赖
|
#### 第三方依赖
|
||||||
|
|
||||||
mirai-core 通过 gradle 依赖的 `api` 方式暴露了如下依赖库:
|
在 `1.0.0` 及更新版本, mirai-core 通过 gradle 依赖的 `api` 方式暴露了如下依赖库:
|
||||||
|
|
||||||
- `kotlin-stdlib`: Kotlin 标准库, 版本至少为 1.3.72
|
- `kotlin-stdlib`: Kotlin 标准库, 版本至少为 1.3.72
|
||||||
- `kotlin-reflect`: Kotlin 反射, 版本至少为 1.3.72
|
- `kotlin-reflect`: Kotlin 反射, 版本至少为 1.3.72
|
||||||
- `kotlinx-coroutines-core`: Kotlin 协程, 版本至少为 1.3.5
|
- `kotlinx-coroutines-core`: Kotlin 协程, 版本至少为 1.3.7
|
||||||
- `kotlinx-serialization-runtime`: Kotlin 序列化运行时, 和 JSON 序列化, 版本至少为 0.20.0
|
- `kotlinx-serialization-runtime`: Kotlin 序列化运行时, 和 JSON 序列化, 版本至少为 0.20.0
|
||||||
- `kotlinx-serialization-protobuf`: Kotlin ProtocolBuffers 序列化, 版本至少为 0.20.0
|
- `kotlinx-serialization-protobuf`: Kotlin ProtocolBuffers 序列化, 版本至少为 0.20.0
|
||||||
- `kotlinx-io`: Kotlin IO, 版本至少为 0.1.16 (此库非常不稳定, 不建议使用它)
|
- `kotlinx-io`: Kotlin IO, 版本至少为 0.1.16 (此库非常不稳定, 不建议使用它)
|
||||||
- `kotlinx-coroutines-io`: Kotlin 异步 IO, 版本至少为 0.1.16 (此库非常不稳定, 不建议使用它)
|
- `kotlinx-coroutines-io`: Kotlin 异步 IO, 版本至少为 0.1.16 (此库非常不稳定, 不建议使用它)
|
||||||
- `kotlinx-atomicfu`: Kotlin 原子操作, 版本至少为 0.14.2
|
- `kotlinx-atomicfu`: Kotlin 原子操作, 版本至少为 0.14.2
|
||||||
- `ktor-client-core`, `ktor-network`, `ktor-client-cio`: Ktor HTTP
|
- `ktor-client-core`, `ktor-network`, `ktor-client-cio`: Ktor HTTP, 版本至少为 1.3.2
|
||||||
|
|
||||||
在 JVM, mirai 使用 `"org.bouncycastle:bcprov-jdk15on:1.64"` 进行密匙计算.
|
在 JVM, mirai 使用 `"org.bouncycastle:bcprov-jdk15on:1.64"` 进行密匙计算.
|
||||||
|
|
||||||
|
@ -705,7 +705,13 @@ internal abstract class QQAndroidBotBase constructor(
|
|||||||
|
|
||||||
@LowLevelAPI
|
@LowLevelAPI
|
||||||
@MiraiExperimentalAPI
|
@MiraiExperimentalAPI
|
||||||
override suspend fun _lowLevelSolveNewFriendRequestEvent(eventId: Long, fromId: Long, fromNick: String, accept: Boolean, blackList: Boolean) {
|
override suspend fun _lowLevelSolveNewFriendRequestEvent(
|
||||||
|
eventId: Long,
|
||||||
|
fromId: Long,
|
||||||
|
fromNick: String,
|
||||||
|
accept: Boolean,
|
||||||
|
blackList: Boolean
|
||||||
|
) {
|
||||||
network.apply {
|
network.apply {
|
||||||
NewContact.SystemMsgNewFriend.Action(
|
NewContact.SystemMsgNewFriend.Action(
|
||||||
bot.client,
|
bot.client,
|
||||||
@ -761,16 +767,17 @@ internal abstract class QQAndroidBotBase constructor(
|
|||||||
accept = accept,
|
accept = accept,
|
||||||
blackList = blackList
|
blackList = blackList
|
||||||
).sendWithoutExpect()
|
).sendWithoutExpect()
|
||||||
groups[groupId].apply {
|
if (accept ?: return)
|
||||||
members.delegate.addLast(newMember(object : MemberInfo {
|
groups[groupId].apply {
|
||||||
override val nameCard: String get() = ""
|
members.delegate.addLast(newMember(object : MemberInfo {
|
||||||
override val permission: MemberPermission get() = MemberPermission.MEMBER
|
override val nameCard: String get() = ""
|
||||||
override val specialTitle: String get() = ""
|
override val permission: MemberPermission get() = MemberPermission.MEMBER
|
||||||
override val muteTimestamp: Int get() = 0
|
override val specialTitle: String get() = ""
|
||||||
override val uin: Long get() = fromId
|
override val muteTimestamp: Int get() = 0
|
||||||
override val nick: String get() = fromNick
|
override val uin: Long get() = fromId
|
||||||
}))
|
override val nick: String get() = fromNick
|
||||||
}
|
}))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user