コード例 #1
0
 /// <summary>
 /// Send a /me action to a given target
 /// </summary>
 /// <param name="text"></param>
 /// <param name="target"></param>
 /// <param name="priority"></param>
 public static void DeliverAction(string text, Channel target, libirc.Defs.Priority priority = libirc.Defs.Priority.Normal)
 {
     if (!target.Suppress)
     {
         SelfAct(text, target);
         target.PrimaryInstance.Network.Act(text, target.Name, priority);
     }
 }
コード例 #2
0
 private static void dm(string text, string target, libirc.Defs.Priority priority = libirc.Defs.Priority.Normal, bool is_act = false)
 {
     // get a target instance
     if (target.StartsWith("#"))
     {
         // it's a channel
         Channel ch = Core.GetChannel(target);
         if (ch == null)
         {
             Syslog.Log("Not sending message to unknown channel: " + target);
             return;
         }
         if (!ch.PrimaryInstance.IsConnected)
         {
             Syslog.Log("Not sending message using disconnected instance: " + ch.PrimaryInstance.Nick + " target: " + target + " message: " + text);
             return;
         }
         if (!ch.Suppress)
         {
             Self(text, ch);
             if (!is_act)
             {
                 ch.PrimaryInstance.Network.Message(text, target, priority);
             }
             else
             {
                 ch.PrimaryInstance.Network.Act(text, target, priority);
             }
         }
     }
     else
     {
         lock (Instance.TargetBuffer)
         {
             if (Instance.TargetBuffer.ContainsKey(target))
             {
                 if (is_act)
                 {
                     Instance.TargetBuffer[target].Network.Act(text, target, priority);
                 }
                 else
                 {
                     Instance.TargetBuffer[target].Network.Message(text, target, priority);
                 }
                 return;
             }
         }
         if (!is_act)
         {
             Instance.PrimaryInstance.Network.Message(text, target, priority);
         }
         else
         {
             Instance.PrimaryInstance.Network.Act(text, target, priority);
         }
     }
 }
コード例 #3
0
 /// <summary>
 /// Send a message to a given target
 /// </summary>
 /// <param name="text">Message</param>
 /// <param name="target">User</param>
 /// <param name="priority">Priority</param>
 public static void DeliverMessage(string text, libirc.UserInfo target, libirc.Defs.Priority priority = libirc.Defs.Priority.Normal)
 {
     // this is a private message
     lock (Instance.TargetBuffer)
     {
         if (Instance.TargetBuffer.ContainsKey(target.Nick))
         {
             Instance.TargetBuffer[target.Nick].Network.Message(text, target.Nick, priority);
             return;
         }
     }
     Instance.PrimaryInstance.Network.Message(text, target.Nick, priority);
 }
コード例 #4
0
 public static void DeliverAction(string text, string target, libirc.Defs.Priority priority = libirc.Defs.Priority.Normal)
 {
     dm(text, target, priority, true);
 }
コード例 #5
0
 public static void DeliverMessage(string text, string target, libirc.Defs.Priority priority = libirc.Defs.Priority.Normal)
 {
     dm(text, target, priority);
 }
コード例 #6
0
 public override Result Transfer(string text, libirc.Defs.Priority priority, libirc.Network network)
 {
     return(base.Transfer(text, priority, network));
 }