当用户执行命令时,我想将输出仅发送回该用户,而不是通道。
我正在使用PircBotX框架。
我的代码:
public void onMessage(MessageEvent<PircBotX> event) {
if (event.getMessage().equalsIgnoreCase("!test")){
event.respond("Test Successful.");
}else if (event.getMessage().split(" ")[1].equalsIgnoreCase("!test2")){
event.getChannel().send().message("this response works");
event.respond("This response works");
event.getUser().send().message("but this does not work");
}
}
根据documentation,event.getUser().send().message("XYZ");
应该是私信。
documentation状态bot.sendMessage
也应该是私信,但这也不起作用。
对于这两种情况,控制台输出看起来完全正常。
我想到了问题的根源:我正在构建一个Twitch.tv聊天机器人。有可能(虽然their API page没有提到这一点)私有消息被禁用。
答案 0 :(得分:0)
答案 1 :(得分:0)
尝试event.respondPrivateMessage("response");
请参见pirocbotx-docs-> MessageEvent.respondPrivateMessage(字符串响应)