Пример #1
0
        public override bool TabComplete(string input, out string[] possibilities)
        {
            var possible = Application.Connection.AllKnownChannels;

            if (CalledName.EndsWith("o", StringComparison.OrdinalIgnoreCase))
            {
                possible = Application.Connection.OfficialChannels;
            }
            else if (CalledName.EndsWith("p", StringComparison.OrdinalIgnoreCase))
            {
                possible = Application.Connection.PrivateChannels;
            }

            if (!CalledName.EndsWith("p", StringComparison.OrdinalIgnoreCase) && input.StartsWith("ADH-", StringComparison.OrdinalIgnoreCase))
            {
                possibilities = possible
                                .Where(p => p.ID.StartsWith(input, StringComparison.OrdinalIgnoreCase))
                                .Select(p => p.ID)
                                .ToArray();
            }
            else
            {
                possibilities = possible
                                .Where(p => p.Title.StartsWith(input, StringComparison.OrdinalIgnoreCase))
                                .Select(p => p.Title)
                                .ToArray();
            }

            return(possibilities.Any());
        }
Пример #2
0
 public void Call(params string[] msg)
 {
     if (CalledName.EndsWith("'s", StringComparison.OrdinalIgnoreCase))
     {
         Application.WriteMessage($"/me's {msg.ToString(" ")}");
     }
     else
     {
         Application.WriteMessage($"/me {msg.ToString(" ")}");
     }
 }
Пример #3
0
        public void Call(string name)
        {
            if (!CalledName.EndsWith("o", StringComparison.OrdinalIgnoreCase) &&
                !name.StartsWith("ADH-", StringComparison.OrdinalIgnoreCase) &&
                !Application.Connection.OfficialChannels.Any(c => c.Title.Equals(name, StringComparison.OrdinalIgnoreCase)))
            {
                name = Application.Connection.PrivateChannels
                       .First(c => c.Title.Equals(name, StringComparison.OrdinalIgnoreCase))
                       .ID;
            }

            Application.JoinChannel(name);
        }