mamoe / mirai-console

mirai 的高效率 QQ 机器人控制台
GNU Affero General Public License v3.0
1.19k stars 412 forks source link

CompositeCommand中如何传入GroupMessageEvent来发送群消息 #392

Closed Nekoer closed 2 years ago

Nekoer commented 3 years ago

kotlin中在使用CompositeCommand时调用其它方法如何传入GroupMessageEvent来发送群消息 @SubCommand("start","启动") fun CommandSender.start() { 方法(event) }

看了https://github.com/mamoe/mirai-console/discussions/292发现和我需要的不太一样,请问如何使用

Him188 commented 3 years ago
/**
 * 代表一个真实的 [群员][Member] 主动在群内发送消息执行指令.
 * @see MemberCommandSender 代表一个 [群员][Member] 执行指令, 但不一定是通过群内发消息方式
 */
public class MemberCommandSenderOnMessage internal constructor(
    public override val fromEvent: GroupMessageEvent,
) : MemberCommandSender(fromEvent.sender), CommandSenderOnMessage<GroupMessageEvent>

判断 thisMemberCommandSenderOnMesssage 并获取其 fromEvent, 可以得到 GroupMessageEvent

(this as? MemberCommandSenderOnMessage)?.fromEvent
Karlatemp commented 3 years ago

请重新描述您的问题,您的问题描述过于混乱