简体   繁体   中英

PircBotX Private Message

when a user executes a command, I would like to send the output back to only that user, not the channel.

I'm using the PircBotX framework.

My Code:

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");
    }
}

According to the documentation , event.getUser().send().message("XYZ"); should be a private message.

The documentation also states bot.sendMessage should be a private message, but that this doesn't work either.

For both of these, the console output looks completely normal.

One thought I have as to the origin of the issue: I'm building this as a Twitch.tv chat bot. It is possible (although their API page does not mention this) that private messages are disabled.

are you trying to send a whisper ?? if so take a look at this https://discuss.dev.twitch.tv/t/sending-whispers-with-my-irc-bot/4346/6 you need to connect to an extra irc server to send whisper/private messages

try event.respondPrivateMessage("response");

See pirocbotx-docs ->MessageEvent.respondPrivateMessage(String response)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM