aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Modules/Avatar/Chat/IRCBridgeModule.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/Modules/Avatar/Chat/IRCBridgeModule.cs')
-rw-r--r--OpenSim/Region/Environment/Modules/Avatar/Chat/IRCBridgeModule.cs29
1 files changed, 21 insertions, 8 deletions
diff --git a/OpenSim/Region/Environment/Modules/Avatar/Chat/IRCBridgeModule.cs b/OpenSim/Region/Environment/Modules/Avatar/Chat/IRCBridgeModule.cs
index 16fd753..01099e9 100644
--- a/OpenSim/Region/Environment/Modules/Avatar/Chat/IRCBridgeModule.cs
+++ b/OpenSim/Region/Environment/Modules/Avatar/Chat/IRCBridgeModule.cs
@@ -237,7 +237,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Chat
237 { 237 {
238 try 238 try
239 { 239 {
240 string clientName = String.Format("{0} {1}", client.FirstName, client.LastName); 240 string clientName = String.Format("{0}{1}", client.FirstName, client.LastName);
241 241
242 client.OnChatFromViewer += SimChat; 242 client.OnChatFromViewer += SimChat;
243 client.OnLogout += ClientLoggedOut; 243 client.OnLogout += ClientLoggedOut;
@@ -250,6 +250,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Chat
250 m_log.DebugFormat("[IRC] {0} logging on", clientName); 250 m_log.DebugFormat("[IRC] {0} logging on", clientName);
251 m_irc.PrivMsg(m_irc.Nick, "Sim", 251 m_irc.PrivMsg(m_irc.Nick, "Sim",
252 String.Format("notices {0} logging on", clientName)); 252 String.Format("notices {0} logging on", clientName));
253 m_irc.NewUser(clientName);
253 } 254 }
254 m_last_new_user = clientName; 255 m_last_new_user = clientName;
255 } 256 }
@@ -284,9 +285,10 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Chat
284 if ((m_irc.Enabled) && (m_irc.Connected)) 285 if ((m_irc.Enabled) && (m_irc.Connected))
285 { 286 {
286 string regionName = presence.Scene.RegionInfo.RegionName; 287 string regionName = presence.Scene.RegionInfo.RegionName;
287 string clientName = String.Format("{0} {1}", presence.Firstname, presence.Lastname); 288 string clientName = String.Format("{0}{1}", presence.Firstname, presence.Lastname);
288 m_log.DebugFormat("[IRC] noticing {0} in {1}", clientName, regionName); 289 m_log.DebugFormat("[IRC] noticing {0} in {1}", clientName, regionName);
289 m_irc.PrivMsg(m_irc.Nick, "Sim", String.Format("notices {0} left {1}", clientName, regionName)); 290 m_irc.PrivMsg(m_irc.Nick, "Sim", String.Format("notices {0} left {1}", clientName, regionName));
291 m_irc.RemoveUser(clientName);
290 } 292 }
291 } 293 }
292 catch (Exception) 294 catch (Exception)
@@ -482,12 +484,8 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Chat
482 listener.Start(); 484 listener.Start();
483 ThreadTracker.Add(listener); 485 ThreadTracker.Add(listener);
484 486
485 m_writer.WriteLine(m_user); 487 NewUser(m_user);
486 m_writer.Flush(); 488
487 m_writer.WriteLine(String.Format("NICK {0}", m_nick));
488 m_writer.Flush();
489 m_writer.WriteLine(String.Format("JOIN {0}", m_channel));
490 m_writer.Flush();
491 m_log.Info("[IRC]: Connection fully established"); 489 m_log.Info("[IRC]: Connection fully established");
492 m_connected = true; 490 m_connected = true;
493 } 491 }
@@ -500,6 +498,21 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Chat
500 } 498 }
501 } 499 }
502 500
501 public void NewUser(string nick)
502 {
503 m_writer.WriteLine(nick);
504 m_writer.Flush();
505 m_writer.WriteLine(String.Format("NICK {0}", m_nick));
506 m_writer.Flush();
507 m_writer.WriteLine(String.Format("JOIN {0}", m_channel));
508 m_writer.Flush();
509 }
510
511 public void RemoveUser(string nick)
512 {
513 m_writer.WriteLine(String.Format("QUIT :{0}", nick));
514 }
515
503 public void Reconnect() 516 public void Reconnect()
504 { 517 {
505 m_connected = false; 518 m_connected = false;