package mirc;
import org.jibble.pircbot.User;
import configuration.config;
public class mircBotThread extends Thread {
private mircBot mircbot;
// Configuration
private config configuration;
private boolean annonces;
public mircBotThread()
{
this.mircbot = new mircBot();
this.annonces=true;
// Enable debugging output.
this.mircbot.setVerbose(true);
this.configuration = new config("Configuration/l4dpickup.conf");
}
public void sendMessage(String nickname,String message)
{
this.mircbot.sendMessage(nickname,message);
}
public void run()
{
try
{
// Now start our bot up.
System.out.println(" ");
System.out.println("Connecting the Bot to Irc ");
// Connect to the IRC server.
try
{
System.out.println(this.configuration.getTnJavaBotMircServerIP());
this.mircbot.connect(this.configuration.getTnJavaBotMircServerIP(), 6667);
this.mircbot.setMessageDelay(500);
// Join the #mainroom channel.
this.mircbot.joinChannel(this.configuration.getTnJavaBotChannel());
this.mircbot.joinChannel(this.configuration.getTnJavaBotChannelOps());
this.mircbot.sendMessage("q@cserve.quakenet.org", "auth "+this.configuration.getTnJavaBotQuakenetLogin()+" "+this.configuration.getTnJavaBotQuakenetPassword());
this.mircbot.sendRawLine("MODE "+this.configuration.getTnJavaBotMircNickName()+" +x");
// Autovoice on startup the users
AnnonceHelpCommands();
this.autoVoice();
int i=0;
while(this.annonces)
{
this.autoVoice();
sleep(45*60*1000); // 15 Min
if(i==2)
{
Annonce();
AnnonceHelpCommands();
i=0;
}
else
{
Annonce();
i++;
}
}
}
catch (Exception Ex)
{
System.out.println("Irc Server down");
}
}
catch (Exception Ex)
{
Ex.printStackTrace();
}
}
public void AnnonceHelpCommands()
{
this.mircbot.sendMessage(this.configuration.getTnJavaBotChannel(), "taper !help pour voir les commandes du bot");
}
public void autoVoice()
{
User[] userList=this.mircbot.getUsers(this.configuration.getTnJavaBotChannelOps());
for (int i=0;i<userList.length;i++)
{
if((!userList[i].isOp()) && (!userList[i].hasVoice()))
{
this.mircbot.voice(this.configuration.getTnJavaBotChannelOps(),userList[i].getNick());
}
}
userList=this.mircbot.getUsers(this.configuration.getTnJavaBotChannel());
for (int i=0;i<userList.length;i++)
{
if((!userList[i].isOp()) && (!userList[i].hasVoice()))
{
this.mircbot.voice(this.configuration.getTnJavaBotChannel(),userList[i].getNick());
}
}
}
public void Annonce()
{
this.mircbot.sendMessage(this.configuration.getTnJavaBotChannelOps(), ""+this.configuration.getTnJavaBotAnnonce());
}
}