想询问一下如何在mirai-console中主动去发送信息到群或者好友?
-
从官方文档中可以了解到
获取联系人对象 Bot.getFriends(),Bot.getGroups() 等方法可以获取到对象列表。 可通过 Bot.getFriend, Bot.getGroup,Bot.getStranger 以 QQ 号或群号主动获取某个对象。 可以通过事件被动获取 (后文介绍)。
这是属于mirai core部分的文档,也就是说我需要能够取得bot对象才行
目前我在插件中单独定义了一个类,并且在插件加载时完成实列化对象,然后需要在这个对象中主动的去向特定的好友和群发送消息
对于被动事件,我此前都是采用SimpleListenerHost来被动获取的,并且由于java和kt确实比较菜,所以想不到在插件里怎么主动拿到联系人对象去发消息
请问我该如何取得联系人对象呢?谢谢
-
//kotlin val bot = Bot.getInstance(114514L) val group = bot.getGroup(1919810L) //以此类推
//java Bot bot = Bot.getInstance(114514L); Group group = bot.getGroup(1919810L); //以此类推
-
@MrXiaoM 感谢,原来这样就行了啊
-
不过现在的话又遇到了一个新的问题
···
@Throws(IOException::class)
override suspend fun handle(exchange: HttpExchange)
···
idea提示sendmessage需要suspend,但是上面的这个被快速修复加上了suspend之后又产生了另外一个报错Conflicting overloads: public open suspend fun handle(exchange: HttpExchange): Unit defined in tech.moeworld.moekaicore.webHookHandler, public abstract fun handle(exchange: HttpExchange!): Unit defined in com.sun.net.httpserver.HttpHandler
请问各位大佬们这个怎么解决呢?
-
@KJZH001 重载冲突,
tech.moeworld.moekaicore.webHookHandler
和com.sun.net.httpserver.HttpHandler
里面有两个函数名相同,参数相同的函数,编译器不知道要重载哪个 -
@MrXiaoM 感谢,不过别人给了我一个别的解决办法
将那个出错的suspend去掉
然后用下面的格式包装一下sendmessage就好了plugin.launch { //send messages... }
这也算是给后面来的人留下个答案吧(滑稽)