Esempio n. 1
0
        public static void MeetAndGreet(IClient client)
        {
            if (!client.Greeted)
            {
                client.Greeted = true;

                Console.WriteLine("{0} Has finished connecting as {1}", client.HostName, client.NickName);

                client.AddMessage(IRCMessage.GetStatic().CreateMessage(client, "MOTD"));

                string joins = "&Friends";

                int numChats = Server.clientFriends.GetChatRoomCount();
                for (int i = 0; i < numChats; i++)
                {
                    Steam4NET.CSteamID id = Server.clientFriends.GetChatRoomByIndex(i);

                    IChannel c = (BaseIRCLib.Server.GetServer() as Server).GetSteamChannel(id);
                    if (c == null)
                    {
                        continue;
                    }

                    joins += ",&" + c.ChannelName;
                }

                client.AddMessage(IRCMessage.GetStatic().CreateMessage(client, client.UserString, "JOIN", new string[] { joins }));
                client.LastPong = DateTime.Now;
            }
        }
Esempio n. 2
0
        public override void SendMessage(IClient C, IMessage m, bool toSender = false)
        {
            if (!C.GetType().Equals(typeof(IRCLib.Interfaces.IRC.IRCClient)) || !m.IsCommand)
            {
                base.SendMessage(C, m, toSender);
                return;
            }

            if (m.Command == "PRIVMSG")
            {
                string msg = m.Params[1];

                string[] p   = msg.Split(new char[] { ' ' });
                string   cmd = p[0].ToLower();

                switch (cmd)
                {
                case "rename":
                    if (p.Length != 3 || !Database.GetDatabase().HasClient(p[1]) || Database.GetDatabase().HasClient(p[2]))
                    {
                        return;
                    }

                    IClient cl = Database.GetDatabase().GetClient(p[1]);
                    cl.AddMessage(m.CreateMessage(cl, cl.UserString, "NICK", new string[] { p[2] }));
                    Server.clientList.AddClient((cl as SteamClient));
                    //Server.clientList.Save("clients.list");
                    break;

                case default(string):
                    return;
                }
            }
            else
            {
                base.SendMessage(C, m, toSender);
            }
        }