simple-robot / simpler-robot

Simple Robot,一个bot风格的Kotlin多平台事件调度框架,异步高效、Java友好!/ A Bot-style Kotlin Multiplatform event scheduling framework, asynchronous and high-performance, java-friendly! 🐱😼😻😸
https://simbot.forte.love
GNU Lesser General Public License v3.0
519 stars 44 forks source link

QQ频道怎么发送私信 #727

Closed axiangcoding closed 1 year ago

axiangcoding commented 1 year ago

版本号

v3.2.0

涉及的编程语言

Java

涉及的组件库

QQ频道

疑问描述

QQ频道怎么发送私信,能拿到event对象

ForteScarlet commented 1 year ago

如果上述方式中有预期外的结果则大概是BUG,可通过 Issues 反馈。

axiangcoding commented 1 year ago
  • 可尝试通过 bot.getContract(...) 获取一个联系人对象,并通过其发送消息。得到的 Contact 对象实际类型应当是 KookContact
  • 在频道中也可以通过获取 member 并使用 send 发送私聊消息,得到的 member 实际类型应当是 KookGuildMember
  • 私聊相关的事件有实现了 ContactMessageEventKookContactMessageEvent ,直接使用其 reply 应当也可以达到回复私聊的效果。

如果上述方式中有预期外的结果则大概是BUG,可通过 Issues 反馈。

这里是qq频道,应该不是KookContact吧。

不过我已经尝试过这种方式,当 bot.getContact(id) 的时候,使用了正确的id但是返回的Contact是null,暂不清楚为什么

ForteScarlet commented 1 year ago

哦哦看错了,QQ频道的话 Contact 是没有的,因为 创建私信会话 始终与频道相关。因此私聊应该通过 member 进行

ForteScarlet commented 1 year ago

对于事件的话,私聊消息事件core模块下暂未支持,可追踪 https://github.com/simple-robot/simbot-component-qq-guild/issues/103 ,可以临时使用 QGUnsupportedEvent 配合 API 模块中的 DirectMessageCreate 达到监听事件的目的

axiangcoding commented 1 year ago

对于事件的话,私聊消息事件core模块下暂未支持,可追踪 simple-robot/simbot-component-qq-guild#103 ,可以临时使用 QGUnsupportedEvent 配合 API 模块中的 DirectMessageCreate 达到监听事件的目的

好的,不过暂不需要监听私聊事件

ForliyScarlet commented 1 year ago

此issue已经在「等待反馈」状态下5日未应答。如果在「陈旧」状态下逾期2日将会被视为无效过期并关闭。