mirror of
https://github.com/mamoe/mirai.git
synced 2025-02-08 07:54:44 +08:00
Add more examples
This commit is contained in:
parent
e2136b5c40
commit
d78f8fc092
@ -11,6 +11,7 @@
|
|||||||
|
|
||||||
package demo.subscribe
|
package demo.subscribe
|
||||||
|
|
||||||
|
import kotlinx.coroutines.CompletableJob
|
||||||
import net.mamoe.mirai.Bot
|
import net.mamoe.mirai.Bot
|
||||||
import net.mamoe.mirai.BotAccount
|
import net.mamoe.mirai.BotAccount
|
||||||
import net.mamoe.mirai.alsoLogin
|
import net.mamoe.mirai.alsoLogin
|
||||||
@ -19,6 +20,7 @@ import net.mamoe.mirai.contact.sendMessage
|
|||||||
import net.mamoe.mirai.event.*
|
import net.mamoe.mirai.event.*
|
||||||
import net.mamoe.mirai.message.FriendMessage
|
import net.mamoe.mirai.message.FriendMessage
|
||||||
import net.mamoe.mirai.message.GroupMessage
|
import net.mamoe.mirai.message.GroupMessage
|
||||||
|
import net.mamoe.mirai.message.data.AtAll
|
||||||
import net.mamoe.mirai.message.data.Image
|
import net.mamoe.mirai.message.data.Image
|
||||||
import net.mamoe.mirai.message.data.PlainText
|
import net.mamoe.mirai.message.data.PlainText
|
||||||
import net.mamoe.mirai.message.data.firstOrNull
|
import net.mamoe.mirai.message.data.firstOrNull
|
||||||
@ -97,7 +99,7 @@ fun Bot.messageDSL() {
|
|||||||
// it: String (MessageChain.toString)
|
// it: String (MessageChain.toString)
|
||||||
|
|
||||||
|
|
||||||
message[Image].download()
|
// message[Image].download() // 还未支持 download
|
||||||
if (this is GroupMessage) {
|
if (this is GroupMessage) {
|
||||||
//如果是群消息
|
//如果是群消息
|
||||||
// group: Group
|
// group: Group
|
||||||
@ -119,6 +121,7 @@ fun Bot.messageDSL() {
|
|||||||
// 当收到 "我的qq" 就执行 lambda 并回复 lambda 的返回值 String
|
// 当收到 "我的qq" 就执行 lambda 并回复 lambda 的返回值 String
|
||||||
"我的qq" reply { sender.id }
|
"我的qq" reply { sender.id }
|
||||||
|
|
||||||
|
"at all" reply AtAll // at 全体成员
|
||||||
|
|
||||||
// 如果是这个 QQ 号发送的消息(可以是好友消息也可以是群消息)
|
// 如果是这个 QQ 号发送的消息(可以是好友消息也可以是群消息)
|
||||||
sentBy(123456789) {
|
sentBy(123456789) {
|
||||||
@ -134,12 +137,27 @@ fun Bot.messageDSL() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 当消息中包含 "复读" 时
|
// listener 管理
|
||||||
val listener = (contains("复读1") or contains("复读2")) {
|
|
||||||
reply(message)
|
var repeaterListener: CompletableJob? = null
|
||||||
|
contains("开启复读") {
|
||||||
|
repeaterListener?.complete()
|
||||||
|
bot.subscribeGroupMessages {
|
||||||
|
repeaterListener = contains("复读") {
|
||||||
|
reply(message)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
contains("关闭复读") {
|
||||||
|
if (repeaterListener?.complete() == null) {
|
||||||
|
reply("没有开启复读")
|
||||||
|
} else {
|
||||||
|
reply("成功关闭复读")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
listener.complete() // 停止监听
|
|
||||||
|
|
||||||
// 自定义的 filter, filter 中 it 为转为 String 的消息.
|
// 自定义的 filter, filter 中 it 为转为 String 的消息.
|
||||||
// 也可以用任何能在处理时使用的变量, 如 subject, sender, message
|
// 也可以用任何能在处理时使用的变量, 如 subject, sender, message
|
||||||
|
Loading…
Reference in New Issue
Block a user