Сборка IRC-клиента в Java - PullRequest
       1

Сборка IRC-клиента в Java

1 голос
/ 02 октября 2010

Я пытаюсь написать ircBot на Java для некоторой практики.Я использую этот пример кода в качестве базы.Я пытаюсь понять, как заставить его читать текст с моей консоли, чтобы я мог общаться с людьми с ботом.Есть один цикл while, который принимает входные данные от ircserver, выплевывает их на консоль и отвечает на запросы PING.Я предполагаю, что у меня должен быть другой поток, который принимает ввод от пользователя, а затем использует тот же BufferedWriter, чтобы выплюнуть его на ircserver снова, но я не могу понять это.Любая помощь будет потрясающей!

Ответы [ 2 ]

1 голос
/ 02 октября 2010

В коде, с которым вы связаны, экземпляры 'reader' и 'writer' действительно связаны с входящим и исходящим концами двустороннего сокета, установленного вами на IRC-сервере.

Таким образом, чтобы получить ввод от пользователя, вы действительно создаете новый поток, который каким-то образом принимает команды от пользователя и действует на них.Самая базовая модель, естественно, состоит в том, чтобы использовать System.in для этого, предпочтительно оборачивая его так, чтобы вы могли получить входные данные всей строки от пользователя и проанализировать их как команду.

Чтобы прочитать целые строки из системы.in вы можете сделать что-то вроде этого:

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

Вы также можете рассмотреть возможность использования одной из библиотек CLI для Java, например, JLine

.
0 голосов
/ 15 июня 2011

Если вы действительно хотите сделать себе одолжение, я рекомендую (после интенсивного использования) перейти на pircbot . Pircbot действительно замечательная библиотека, которая позволит вам запустить бот IRC всего за несколько минут. Ознакомьтесь с некоторыми примерами на сайте, они очень просты в использовании.

...