Java IRC,正确处理登录命令

时间:2015-04-01 14:11:30

标签: java irc

对于学校,我必须在不使用库(例如pircbot)的情况下创建java irc客户端。我创建了一个名为“skynet”的机器人。这个机器人处理我发送给它的所有命令。

但是对于登录功能,我需要使用发件人用户名而不是BOTS(skynet)处理命令

 BufferedWriter writer = new BufferedWriter(
            new OutputStreamWriter(socket.getOutputStream()))
    else if (line.contains("!LOGIN")) //!LOGIN <username> <password>
    {
        String[] parts = line.split(" ");
        String user = parts[4];
        String pass = parts[5];
        String inpUser = user;
        String inpPass = pass; 

        BufferedReader br = new BufferedReader(new FileReader("C:/Users/Leroy/Documents/users.txt"));
        {
            String UserPass; //user#pass
            while ((UserPass = br.readLine()) != null) {
                String Pass = UserPass.split("#")[1];
                String User = UserPass.split("#")[0];
                if (inpUser.equals(User) && inpPass.equals(Pass)) 
                {
                    System.out.print("Login succesfull: " + "\r\n"); //word onder naam van user geprint

                    writer.write("NICK " + user + "\r\n"); //dit moet verstuurd worden onder naam van de user NIET DE BOT
                    writer.write("PASS " + pass + "\r\n");
                    writer.flush();

这提供了以下控制台输出:

:skynet!~skynetbot@53533763.cm-6-4a.dynamic.ziggo.nl NICK :boa

此处它更改/记录指定用户名(BOA)中的机器人名称。但我需要它来更改/登录发送命令的用户的用户名。

例如,如果我使用用户名加入#channel:leroy 我发送了!LOGIN BOA CONSTRICTOR我想将用户昵称更改为给定的登录用户名/昵称。 输出需要:

leroy!leroy@53533763.cm-6-4a.dynamic.ziggo.nl NICK :boa

对于我所做错的任何建议都将不胜感激。

0 个答案:

没有答案