当用户执行命令时,我只想将输出发送回该用户,而不是通道。
我使用的是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没有提到这一点)。
发布于 2016-04-05 16:49:07
你是不是想传个悄悄话?如果是这样,请查看此https://discuss.dev.twitch.tv/t/sending-whispers-with-my-irc-bot/4346/6,您需要连接到额外的irc服务器来发送密语/私人消息。
发布于 2019-06-10 23:16:52
试试event.respondPrivateMessage("response");
请参阅pirocbotx-docs->MessageEvent.respondPrivateMessage(String响应)
https://stackoverflow.com/questions/31486624
复制相似问题