使用PircBotX将消息从IRC通道写入文件

时间:2014-03-10 05:31:51

标签: java event-handling irc

您好我是Java的新手,但我已经摆弄了一点。

这次我试图为我的Twitch频道创建一个机器人,我可以自己配置,比如抽奖和其他一些独立的东西。

我正在使用一个库来连接名为PircBotX的Twitch IRC:https://code.google.com/p/pircbotx/,我对如何使用ListenerAdapter回复如下:

public class Commands extends ListenerAdapter {
    public void onMessage(MessageEvent event) {
        if (event.getMessage().equals("!commands")) {
            event.respond("Available user commands: !topic, !faq, !youtube, !twitter, !schedule, !time");
        }
    }
}

但在这个特定的听众中,我试图在一个人做的时候回复一条消息:

!topic newtopic

在这种情况下,您需要获取“newtopic”字符串。

我不知道是否有办法在Twitch API中保存主题,所以我只是将它写在我自己的文件中。

我在想它可能是这样的:

newText = event.getMessage.?????

if (event.getMessage().equals("!topic " + newText)) {

    if (event.getChannel().isOp(event.getUser())) {

        try (BufferedWriter br = new BufferedWriter(new FileWriter("topic.txt"))) {
            br.write(newText);
            br.close();
            event.getChannel().send().message("Topic: " + newText);
        }
    }

    else {
        event.respond("Only mods can change the topic");
    }
}

我做错了吗?

我查看了API,但我不明白它是如何工作的。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

对于可能陷入类似困境的人,我可能想回答我自己的问题。

这是你声明字符串的方式,非常简单:

String newText = event.getMessage().substring(("!topic ").length());

我记得多次使用substring()。只是有点愚蠢的错误。

有关它的更多信息,请点击此处:

http://www.tutorialspoint.com/java/java_string_substring.htm