用Java构建irc客户端

时间:2010-10-02 06:28:53

标签: java irc

我正在尝试用Java编写一个ircBot用于某些练习。我使用this示例代码作为基础。我正在试图弄清楚如何让它从我的控制台读取文本,这样我就可以与机器人进行交谈。 有一个while循环接收来自ircserver的输入并将其吐出到控制台并响应PING。我假设我必须有另一个线程从用户获取输入,然后使用相同的BufferedWriter再次将它吐出到ircserver但我无法理解。 任何帮助都会很棒!

2 个答案:

答案 0 :(得分:1)

在你链接的代码中,'reader'和'writer'实例确实分别连接到你用IRC服务器建立的双向套接字的输入和输出端。

因此,为了从用户那里获得输入,你确实是新的另一个线程,它以某种方式从用户那里获取命令并对它们起作用。最基本的模型,自然会使用System.in,最好包装它,以便您可以从用户检索整行输入,并将它们解析为命令。

要从System.in读取整行,您可以执行以下操作:

BufferedReader bin = new BufferedReader(new InputStreamReader(System.in));
String line;
while ((line = bin.readLine()) != null) {
    // Do stuff
}

您还可以考虑使用其中一个用于Java的CLI库,例如JLine

答案 1 :(得分:0)

如果你真的想帮自己一个忙,我建议(在广泛使用它之后)切换到pircbot。 Pircbot真的是一个很棒的图书馆,只需几分钟就能让你的IRC机器人运行起来。查看网站上的一些示例,它非常易于使用。