Package us.aaronweiss.juicebot.examples

Source Code of us.aaronweiss.juicebot.examples.MetalGear

package us.aaronweiss.juicebot.examples;

import us.aaronweiss.juicebot.AutoBot;
import us.aaronweiss.juicebot.Bot;
import us.aaronweiss.juicebot.Message;
import us.aaronweiss.juicebot.internal.JuiceBotDefaults;

/**
* A bot that says "METAL GEAR" upon seeing its name, Snake.
* {@code MetalGear} serves as a demonstration of
* {@code JuiceBotDefaults} and {@code AutoBot}s.
*
* @author Aaron Weiss
* @version 1.0.1
* @since 2.0.0
*/
public class MetalGear extends AutoBot {
  /**
   * Creates a {@code MetalGear} bot named SolidSnake.
   */
  public MetalGear() {
    super("SolidSnake");
  }

  @Override
  public void joinAll() {
    this.join("#vana");
  }

  @Override
  public void receive(Message message) {
    if (message.type().equals("PRIVMSG")) {
      if (Bot.containsIgnoreCase("snake", message.message()))
        message.replyDirect(this.newMetalGear());
    } else {
      super.receive(message);
    }
  }

  /**
   * Creates a new slightly randomized "METAL GEAR" string.
   *
   * @return the new "METAL GEAR" string
   */
  public String newMetalGear() {
    StringBuilder sb = new StringBuilder("METAL GEA");
    for (int i = 0; i < (int) (Math.random() * 3); i++)
      sb.append("A");
    for (int i = 0; i < (int) (Math.random() * 17 + 5); i++)
      sb.append("R");
    return sb.toString();
  }

  /**
   * Runs this bot.
   *
   * @param args the server to connect to
   */
  public static void main(String[] args) {
    JuiceBotDefaults.VERBOSE_BY_DEFAULT = false;
    String server = "irc.fyrechat.net:6667";
    if (args.length > 0)
      server = args[0];
    Bot bot = new MetalGear();
    bot.connect(server);
  }
}
TOP

Related Classes of us.aaronweiss.juicebot.examples.MetalGear

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.