Package com.uwyn.drone.modules

Source Code of com.uwyn.drone.modules.Register

/*
* Copyright 2002-2005 Uwyn bvba/sprl <info[remove] at uwyn dot com>
* Distributed under the terms of the GNU Lesser General Public
* License, v2.1 or later
*
* $Id: Register.java 1178 2005-01-05 20:38:38Z gbevin $
*/
package com.uwyn.drone.modules;

import com.uwyn.drone.core.AbstractModule;
import com.uwyn.drone.core.Bot;
import com.uwyn.drone.core.exceptions.CoreException;
import com.uwyn.drone.protocol.AttributeCode;
import com.uwyn.drone.protocol.ServerMessage;
import com.uwyn.drone.protocol.commands.Privmsg;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Register extends AbstractModule
{
  private static final String[]  MESSAGE_COMMANDS = new String[] {"register"};
  private static final Pattern  REGISTER_PATTERN = Pattern.compile("^\\s*([^\\s]+)\\s+(.+)\\s*$");
  private static final HashMap  HELPMAP = new HashMap();
 
  static
  {
    HELPMAP.put(null,
      AttributeCode.BOLD+"Register"+AttributeCode.BOLD+" makes the bot register itself with a server bot."+AttributeCode.ENDLINE+
      " "+AttributeCode.ENDLINE+
      "Syntax: "+AttributeCode.BOLD+"REGISTER <botnick> <password>"+AttributeCode.BOLD+""+AttributeCode.ENDLINE+
      " "+AttributeCode.ENDLINE+
      "Registers the bot with its current nick with the provided"+AttributeCode.ENDLINE+
      "bot nick and the provided password."+AttributeCode.ENDLINE);
  }
 
  public String getName()
  {
    return "REGISTER";
  }
 
  public String getDescription()
  {
    return "Registers the bot with a nick bot.";
  }
 
  public Map getHelpMap()
  {
    return HELPMAP;
  }
 
  public String[] getMessageCommands()
  {
    return MESSAGE_COMMANDS;
  }
 
  public void messageCommand(Bot bot, String nick, String command, String arguments, ServerMessage fullMessage)
  throws CoreException
  {
    if (command.equals("register"))
    {
      if (null == arguments ||
        arguments.length() < 2)
      {
        bot.send(new Privmsg(nick, "You need to provide 2 arguments to the command."));
        return;
      }
     
      Matcher register_matcher = REGISTER_PATTERN.matcher(arguments);
     
      if (!register_matcher.matches() ||
        register_matcher.groupCount() != 2)
      {
        bot.send(new Privmsg(nick, "Invalid syntax '"+command+" "+arguments+"'"));
        return;
      }
     
      String botnick = register_matcher.group(1).toLowerCase();
      String password = register_matcher.group(2);
      bot.send(new Privmsg(botnick, "register "+password));
    }
  }
}
TOP

Related Classes of com.uwyn.drone.modules.Register

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.