HyDevelop / PicqBotX

基于 CQHTTP 插件的 Java QQ 机器人类库
208 stars 53 forks source link

消息接受类增加event.isCommand()判断是否指令 #40

Closed smallshen closed 4 years ago

smallshen commented 4 years ago

使用指令的同时也算一条消息,没有东西判断这条消息是否为指令。 希望增加 method .isCommand(); return boolen;用来判断该消息是否为指令。 或者直接舍弃,如果是指令只触发指令的listener不触发消息的listener。

hykilpikonna commented 4 years ago

因为指令系统也是基于消息事件实现的啦w ( 就是说指令也是一个监听器w 去掉大概会好麻烦吧w

smallshen commented 4 years ago

谢谢了!!! 如果能加一个event.isCommand();会方便很多。

hykilpikonna commented 4 years ago

刚才发错了, 刚才那个 this 是 CommandManager 啦w 看这个:

final boolean isGM = event instanceof EventGroupMessage;
final boolean isDM = event instanceof EventDiscussMessage;
final boolean isPM = event instanceof EventPrivateMessage;

try
{
    CommandArgsParser.parse(event.getBot().getCommandManager(), event.getMessage(), isDM || isGM);
}
catch (NotACommandException | CommandNotFoundException e)
{
    // 不是指令
    return;
}
smallshen commented 4 years ago

谢谢

smallshen commented 4 years ago

希望下一个版本这个能变成一个method