requeste input fra brugeren
HejJeg har kodet denne her IRC-bot
Men nu vil jeg gerne lave så jeg kan bede om network og channel som den skal joine.
Hvordan laver commando-line request ?, eller paramtere for den sags skyld ?
[souce]
/**
IRC-bot v.1
@author: Claus Jørgensen
@date 30.10.04
Kommandoliste:
!uptime , viser bottens egen uptime
*/
import java.io.*;
import java.net.*;
public class ircbot {
public static void main(String[] args) throws IOException {
// Variabler
String IRCserver = "irc.quakenet.org"; // IRC-serveren
int IRCport = 6667; // Porten til IRC-serveren
String RealName = "Teh 1337 Java-Bot, by TheDeathArt"; // Beskrivelse af botten
String IRCnick = "Java-Bot"; // Bottens nick
String IRCchannel = "#programmering"; // Den channel botten skal joine
// Laver sockets og buffers
Socket ircSocket = null;
PrintWriter out = null;
BufferedReader in = null;
// Laver en starttid til !uptime funktionen
long starttime = System.currentTimeMillis();
// Åbner en socket til irc netværket
try {
ircSocket = new Socket(IRCserver , IRCport);
out = new PrintWriter(ircSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(ircSocket.getInputStream()));
} catch (UnknownHostException e) {
System.err.println("Kunne ikke finde: " + IRCserver);
System.exit(1);
} catch (IOException e) {
System.err.println("Couldn't get I/O for the connection to: " + IRCserver);
System.exit(1);
}
String line;
while((line = in.readLine()) != null) { // Så længe at der ikke kommer null, så vil vi udskrive teksten.
System.out.println(line); // Udskriver Teksten !
// Registerer botten med netværket
if(line.indexOf("No ident respons") > 0)
{
out.println("USER " + IRCnick + " none none : " + RealName );
out.println();
out.println("NICK " + IRCnick);
out.println();
}
// Joiner en channel når MOTD er færdig
if(line.indexOf("End of /MOTD command.") > 0)
{
out.println("JOIN " + IRCchannel);
out.println();
out.println("PRIVMSG " + IRCchannel + " : Hi, im a Java-IRC bot created by TheDeathArt.");
}
/* Ping-Pong servicen, sørger for at holde botten kørende */
if(line.startsWith("PING"))
{
out.println("PONG " + line.substring(5));
System.out.println("Ping? Pong!");
}
/* checker for !uptime */
if(line.indexOf("!uptime") > 0)
{
long uptime = (System.currentTimeMillis() - starttime) / 1000;
out.println("PRIVMSG " + IRCchannel + " : Min Uptime er " + uptime + " sek. ");
}
if(line.indexOf("!topic") > 0)
{
out.println("TOPIC " + IRCchannel + " : Owned by Teh 1337 Java-Bot ");
}
}
// Lukker sockets igen.
out.close();
in.close();
ircSocket.close();
}
}
[/souce]
