mirror of
https://github.com/mamoe/mirai.git
synced 2025-03-25 15:00:09 +08:00
Updated message
This commit is contained in:
parent
3adfed6e72
commit
aac8b08f00
BIN
.README_images/68f8fec9.png
Normal file
BIN
.README_images/68f8fec9.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.4 KiB |
BIN
.github/A}YWVE860U(%YQD$R1GB1[P.png
vendored
Normal file
BIN
.github/A}YWVE860U(%YQD$R1GB1[P.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.3 KiB |
BIN
.github/J]CE)IK4BU08(EO~UVLJ{[F.png
vendored
Normal file
BIN
.github/J]CE)IK4BU08(EO~UVLJ{[F.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.3 KiB |
28
README.md
28
README.md
@ -5,13 +5,7 @@
|
||||
|
||||
项目处于快速开发阶段
|
||||
协议来自网络上开源项目
|
||||
一切开发旨在学习, 请勿用于非法用途
|
||||
|
||||
<br>
|
||||
|
||||
A JAVA(+Kotlin) powered open-source project under GPL license<br>
|
||||
It use protocols from <i>TIM QQ</i>, that is, it won't be affected by the close of <i>Smart QQ</i><br>
|
||||
The project is all for <b>learning proposes</b> and still in <b>developing stage</b><br>
|
||||
一切开发旨在学习, 请勿用于非法用途
|
||||
|
||||
### 代码结构
|
||||
Network部分使用 Kotlin 完成(因为kt有对 unsigned byte 的支持).
|
||||
@ -20,15 +14,21 @@ Network部分使用 Kotlin 完成(因为kt有对 unsigned byte 的支持).
|
||||
即使你完全不了解 Kotlin, 你也可以正常开发.
|
||||
|
||||
### 抢先体验
|
||||
现在你可以使用 Mirai 内置的一些测试qq号体验 Mirai.
|
||||
现在你可以使用 Mirai 内置的一些测试qq号体验 Mirai, 但我们现在还不建议你使用自己的 qq 号登录
|
||||
1. Clone
|
||||
2. Import as Maven project
|
||||
3. Run [MiraiMain](mirai-core/src/main/java/net/mamoe/mirai/MiraiMain.java#L7)
|
||||
|
||||
简略阅读源码便可测试接收和发送消息
|
||||
|
||||
Hook 一个事件(Kotlin):
|
||||
#### 事件 Hook (Kotlin)
|
||||

|
||||

|
||||
|
||||
#### 图片测试
|
||||
**现在可以接受图片消息**(并解析为消息链):
|
||||

|
||||

|
||||
|
||||
不过我们还正在努力做发送图片
|
||||
|
||||
### TODO
|
||||
- [x] 事件(Event)模块
|
||||
@ -59,6 +59,12 @@ Hook 一个事件(Kotlin):
|
||||
```
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
A JAVA(+Kotlin) powered open-source project under GPL license<br>
|
||||
It use protocols from <i>TIM QQ</i>, that is, it won't be affected by the close of <i>Smart QQ</i><br>
|
||||
The project is all for <b>learning proposes</b> and still in <b>developing stage</b><br>
|
||||
|
||||
## Usage
|
||||
### Requirements
|
||||
- Java 11 or higher
|
||||
|
@ -62,6 +62,6 @@ fun <C : KClass<E>, E : MiraiEvent> C.hookWhile(hook: (E) -> Boolean) {
|
||||
private class MiraiEventHookSimple<E : MiraiEvent>(clazz: Class<E>, val hook: (E) -> Boolean) : MiraiEventHook<E>(clazz) {
|
||||
override fun accept(event: MiraiEvent?): Boolean {
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
return hook.invoke(event as E)
|
||||
return !hook.invoke(event as E)
|
||||
}
|
||||
}
|
@ -12,7 +12,6 @@ import net.mamoe.mirai.event.events.network.PacketSentEvent
|
||||
import net.mamoe.mirai.event.events.network.ServerPacketReceivedEvent
|
||||
import net.mamoe.mirai.event.events.qq.FriendMessageEvent
|
||||
import net.mamoe.mirai.event.events.robot.RobotLoginSucceedEvent
|
||||
import net.mamoe.mirai.event.hookAlways
|
||||
import net.mamoe.mirai.event.hookWhile
|
||||
import net.mamoe.mirai.message.Message
|
||||
import net.mamoe.mirai.message.defaults.MessageChain
|
||||
@ -261,6 +260,10 @@ class RobotNetworkHandler(private val robot: Robot) : Closeable {
|
||||
this.loginFuture = null
|
||||
}
|
||||
}
|
||||
|
||||
fun isClosed(): Boolean {
|
||||
return this.socket?.isClosed ?: true
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -485,12 +488,18 @@ class RobotNetworkHandler(private val robot: Robot) : Closeable {
|
||||
internal var ignoreMessage: Boolean = false
|
||||
|
||||
init {
|
||||
FriendMessageEvent::class.hookAlways {
|
||||
//todo for test
|
||||
FriendMessageEvent::class.hookWhile {
|
||||
if (socketHandler.isClosed()) {
|
||||
return@hookWhile false
|
||||
}
|
||||
if (it.message() valueEquals "你好") {
|
||||
it.qq.sendMessage("你好!")
|
||||
} else if (it.message().toString().startsWith("复读")) {
|
||||
it.qq.sendMessage(it.message())
|
||||
}
|
||||
|
||||
return@hookWhile true
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user