如题,本人萌新,刚刚大致看完一轮文档,拉取了示例程序想要尝试写插件。然后示例程序的群聊消息能够正常响应,但私聊消息完全收不到。这是什么情况?
5e99a34f-bb21-4b56-b4bb-60c8033f2b26-图片.png
3ad8fad1-656b-4fb5-8305-f4c02cfc0e62-图片.png
24634c45-2044-4c01-aa89-bbe42b66fca5-图片.png
运行时的后台日志如上图2所示,仅有群聊信息会响应,私聊信息一点反应都没有。连直接用MessageEvent都监听不到。
因为不知道是否是版本问题,尝试将版本改为跟教程相同的2.0.0之后再次打包还是一样的情况。
26fe60a4-d4f1-40f4-b67e-6f7555d9f7a8-图片.png
附代码:
object PluginMain : KotlinPlugin(
JvmPluginDescription(
id = "org.example.mirai-example",
name = "插件示例",
version = "0.1.0"
) {
author("作者名称或联系方式")
info(
"""
这是一个测试插件,
在这里描述插件的功能和用法等.
""".trimIndent()
)
// author 和 info 可以删除.
}
) {
override fun onEnable() {
logger.info { "插件加载:Plugin loaded" }
//配置文件目录 "${dataFolder.absolutePath}/"
val eventChannel = GlobalEventChannel.parentScope(this)
eventChannel.subscribeAlways<MessageEvent>{
//好友信息
logger.info("日志消息输出测试-消息事件" + message.toList())
}
eventChannel.subscribeAlways<GroupMessageEvent>{
//群消息
logger.info("日志消息输出测试-群消息")
logger.info(this.senderName + ":" +this.message)
if (message.contentToString() == "hi") {
//群内发送
group.sendMessage("hi")
//向发送者私聊发送消息
sender.sendMessage("hi")
//不继续处理
return@subscribeAlways
}
}
eventChannel.subscribeAlways<FriendMessageEvent>{
//好友信息
logger.info("日志消息输出测试-好友消息")
sender.sendMessage("hi")
}
eventChannel.subscribeAlways<NewFriendRequestEvent>{
//自动同意好友申请
accept()
}
eventChannel.subscribeAlways<BotInvitedJoinGroupRequestEvent>{
//自动同意加群申请
accept()
}
}
}