Example #1
0
 public static void UserInfo(CtcpClient client, CtcpMessage message)
 {
     if (message.IsQuery)
     {
         message.Sender.Ctcp.SendNotice("USERINFO :" + client.CurrentUserInformation);
     }
     else
     {
         message.Sender.Ctcp.OnInformationReceived(message.Content);
     }
 }
Example #2
0
 public static void Version(CtcpClient client, CtcpMessage message)
 {
     if (message.IsQuery)
     {
         message.Sender.Ctcp.SendNotice("VERSION " + CtcpClient.ClientSoftware.ToString());
     }
     else
     {
         message.Sender.Ctcp.OnVersionReplyReceived(message.Content);
     }
 }
Example #3
0
 public static void Source(CtcpClient client, CtcpMessage message)
 {
     if (message.IsQuery)
     {
         message.Sender.Ctcp.SendNotice("SOURCE :" + CtcpClient.ClientSoftware.DownloadLocation);
     }
     else
     {
         message.Sender.Ctcp.OnSourceReplyReceived(message.Content);
     }
 }
Example #4
0
 public static void Action(CtcpClient client, CtcpMessage message)
 {
     if (message.Channel == null)
     {
         message.Sender.Ctcp.OnActionReceived(message.Content);
     }
     else
     {
         message.Channel.Ctcp.OnActionReceived(message.Sender, message.Content);
     }
 }
Example #5
0
 public static void Time(CtcpClient client, CtcpMessage message)
 {
     if (message.IsQuery)
     {
         message.Sender.Ctcp.SendNotice("TIME :" + DateTime.Now.ToString("F"));
     }
     else
     {
         message.Sender.Ctcp.OnLocalTimeReceived(message.Content);
     }
 }
Example #6
0
 public static void Ping(CtcpClient client, CtcpMessage message)
 {
     if (message.IsQuery)
     {
         message.Sender.Ctcp.SendNotice("PING " + message.Content);
     }
     else if (message.Sender.Ctcp.PingTimes.Any())
     {
         long pingTime = TimeHelper.DateTimeToUnixMilliseconds(DateTime.UtcNow) - message.Sender.Ctcp.PingTimes.Dequeue();
         message.Sender.Ctcp.OnPingReplyReceived(TimeSpan.FromMilliseconds(pingTime));
     }
 }
Example #7
0
 public static void ClientInfo(CtcpClient client, CtcpMessage message)
 {
     if (message.IsQuery)
     {
         string command = message.Content.GetFirstWord();
         if (command.HasText())
         {
             string text;
             if (!CtcpClient.CommandDescriptions.TryGetValue(command, out text))
             {
                 text = "N/A";
             }
             message.Sender.Ctcp.SendNotice("CLIENTINFO :" + command + ": " + text);
         }
         else
         {
             message.Sender.Ctcp.SendNotice("CLIENTINFO :" + string.Join(", ", CtcpClient._commandHandlers.Keys));
         }
     }
     else
     {
         message.Sender.Ctcp.OnCapabilitiesReceived(message.Content);
     }
 }
Example #8
0
 public static void ErrMsg(CtcpClient client, CtcpMessage message)
 {
     message.Sender.Ctcp.OnErrorMessageReceived(message.Content);
 }