public void Run()
{
SetConnectionString();
Thread.MemoryBarrier();
DatabaseSynchronizationThread.Start();
for (; ; )
{
Console.WriteLine("Connecting to server...");
try
{
string ClientVersion = "ALFAIRCBotv" + Assembly.GetExecutingAssembly().GetName().Version.ToString();
Client.ActiveChannelSyncing = true;
Client.AutoRejoinOnKick = true;
Client.AutoNickHandling = true;
Client.CtcpVersion = ClientVersion;
Client.Connect(ServerHostname, ServerPort);
Client.Login(Nickname, "ALFAStatus", 4, "ALFAStatus");
Client.SendMessage(SendType.Message, "NickServ", "identify " + NickservPassword);
foreach (string Channel in HomeChannels)
Client.RfcJoin(Channel);
Client.Listen();
}
catch (Exception e)
{
Console.WriteLine("Exception: {0}", e);
}
if (Client.IsConnected)
Client.Disconnect();
Console.WriteLine("Waiting to reconnect...");
Thread.Sleep(60000);
}
}