Exemple #1
0
        public override void Handle(CommandTarget target, string type, string[] parameters)
        {
            if (!target.IsWeb || !target.IsRoom || parameters.Length == 0)
            {
                return;
            }

            if (Program.DelayManager.AddAndCheck(target.Connection, DelayManager.Message))
            {
                return;
            }

            var username = target.Connection.Session.Account.Name;
            var room     = target.Room;

            if (room.IsBanned(username))
            {
                target.Send("You are banned from this room.");
                return;
            }

            var line = new StateLine(
                Util.GetCurrentTimestamp(),
                target.Room.RoomInfo.ShortName,
                "Action",
                username,
                target.Connection.Session.Account.Id.ToString("D"),
                "RohBot",
                "", "0", "",
                string.Format("{0} hugs {1}.", username, parameters[0]));

            target.Room.SendLine(line);
        }
Exemple #2
0
        private void HandleLeave(SteamChat chat, SteamPersona user, SteamChatLeaveReason reason, SteamPersona sourceUser)
        {
            _lastMessage.Restart();

            var message = user.DisplayName;

            switch (reason)
            {
            case SteamChatLeaveReason.Left:
                message += " left chat.";
                break;

            case SteamChatLeaveReason.Disconnected:
                message += " disconnected.";
                break;

            case SteamChatLeaveReason.Kicked:
                message += string.Format(" was kicked by {0}.", sourceUser.DisplayName);
                break;

            case SteamChatLeaveReason.Banned:
                message += string.Format(" was banned by {0}.", sourceUser.DisplayName);
                break;
            }

            var by   = sourceUser != null ? sourceUser.DisplayName : "";
            var byId = sourceUser != null?sourceUser.Id.ConvertToUInt64().ToString("D") : "0";

            var byType = sourceUser != null ? "Steam" : "";

            var line = new StateLine(Util.GetCurrentTimestamp(), RoomInfo.ShortName, reason.ToString(), user.DisplayName, user.Id.ConvertToUInt64().ToString("D"), "Steam", by, byId, byType, message);

            SendLine(line);
        }
Exemple #3
0
        public override void Handle(CommandTarget target, string type, string[] parameters)
        {
            if (!target.IsWeb || !target.IsRoom || parameters.Length == 0)
                return;

            if (Program.DelayManager.AddAndCheck(target.Connection, DelayManager.Message))
                return;

            var username = target.Connection.Session.Account.Name;
            var room = target.Room;
            if (room.IsBanned(username))
            {
                target.Send("You are banned from this room.");
                return;
            }

            var line = new StateLine(
                Util.GetCurrentTimestamp(),
                target.Room.RoomInfo.ShortName,
                "Action",
                username,
                target.Connection.Session.Account.Id.ToString("D"),
                "RohBot",
                "", "0", "",
                string.Format("{0} {1}", username, parameters[0]));

            target.Room.SendLine(line);
        }
Exemple #4
0
        // TODO: merge these similarly to the one in SteamRoom
        public void SessionEnter(Session session)
        {
            if (!ShowWebStates || session.Account == null || IsBanned(session.Account.Name))
            {
                return;
            }

            if (DateTime.Now - Program.StartTime <= TimeSpan.FromSeconds(20))
            {
                return;
            }

            var account = session.Account;
            var line    = new StateLine(
                Util.GetCurrentTimestamp(),
                RoomInfo.ShortName,
                "Enter",
                account.Name,
                account.Id.ToString("D"),
                "RohBot",
                "", "0", "",
                account.Name + " entered chat.");

            SendLine(line);
        }
Exemple #5
0
 public void ToolMouseDown(object sender, MouseEventArgs e)
 {
     if (e.Button == MouseButtons.Left)
     {
         varStateLine          = new StateLine(new System.Drawing.Point(e.X, e.Y));
         varStateLine.Endpoint = new System.Drawing.Point(e.X, e.Y);
         varCanvas.AddDrawingObject(varStateLine);
     }
 }
Exemple #6
0
        private void HandleEnter(SteamChat chat, SteamPersona user)
        {
            _lastMessage.Restart();

            var message = user.DisplayName + " entered chat.";

            var line = new StateLine(Util.GetCurrentTimestamp(), RoomInfo.ShortName, "Enter", user.DisplayName, user.Id.ConvertToUInt64().ToString("D"), "Steam", "", "0", "", message);

            SendLine(line);
        }
Exemple #7
0
        public void SessionDisconnect(Session session)
        {
            if (!ShowWebStates || session.Account == null || IsBanned(session.Account.Name))
            {
                return;
            }

            var account = session.Account;
            var line    = new StateLine(
                Util.GetCurrentTimestamp(),
                RoomInfo.ShortName,
                "Disconnected",
                account.Name, account.Id.ToString("D"), "RohBot", account.EnabledStyle,
                "", "0", "", "",
                account.Name + " disconnected.");

            SendLine(line);
        }
Exemple #8
0
        public override void Handle(CommandTarget target, string type, string[] parameters)
        {
            if (!target.IsRoom || !Util.IsMod(target) || parameters.Length == 0)
                return;

            if (!Util.IsValidUsername(parameters[0]))
            {
                target.Send("Invalid username.");
                return;
            }

            var forAccount = Account.Get(parameters[0]);

            if (forAccount == null)
            {
                target.Send("Account does not exist.");
                return;
            }

            if (Util.IsAdmin(target.Room, forAccount.Name))
            {
                target.Send("Administrators can not be banned.");
                return;
            }

            if (!target.Room.IsBanned(forAccount.Name))
            {
                target.Send("Account is not banned.");
                return;
            }

            target.Room.Unban(parameters[0]);

            var line = new StateLine
            {
                Date = Util.GetCurrentTimestamp(),
                Chat = target.Room.RoomInfo.ShortName,
                State = "Unbanned",
                For = forAccount.Name,
                ForId = forAccount.Id.ToString("D"),
                ForType = "RohBot"
            };

            if (target.IsWeb)
            {
                var byAccount = target.Connection.Session.Account;
                line.By = byAccount.Name;
                line.ById = byAccount.Id.ToString("D");
                line.ByType = "RohBot";
            }
            else
            {
                line.By = target.Persona.DisplayName;
                line.ById = target.Persona.Id.ConvertToUInt64().ToString("D");
                line.ByType = "Steam";
            }

            line.Content = string.Format("{0} was unbanned by {1}.", line.For, line.By);

            target.Room.SendLine(line);
        }
Exemple #9
0
        public override void Handle(CommandTarget target, string type, string[] parameters)
        {
            if (!target.IsRoom || !Util.IsMod(target) || parameters.Length == 0)
            {
                return;
            }

            if (target.Room.DisableBanning && !Util.IsAdmin(target))
            {
                return;
            }

            if (!Util.IsValidUsername(parameters[0]))
            {
                target.Send("Invalid username.");
                return;
            }

            var forAccount = Account.Get(parameters[0]);

            if (forAccount == null)
            {
                target.Send("Account does not exist.");
                return;
            }

            if (Util.IsAdmin(target.Room, forAccount.Name))
            {
                target.Send("Administrators can not be banned.");
                return;
            }

            if (!target.Room.IsBanned(forAccount.Name))
            {
                target.Send("Account is not banned.");
                return;
            }

            target.Room.Unban(parameters[0]);

            var line = new StateLine
            {
                Date     = Util.GetCurrentTimestamp(),
                Chat     = target.Room.RoomInfo.ShortName,
                State    = "Unbanned",
                For      = forAccount.Name,
                ForId    = forAccount.Id.ToString("D"),
                ForType  = "RohBot",
                ForStyle = forAccount.EnabledStyle
            };

            if (target.IsWeb)
            {
                var byAccount = target.Connection.Session.Account;
                line.By      = byAccount.Name;
                line.ById    = byAccount.Id.ToString("D");
                line.ByType  = "RohBot";
                line.ByStyle = byAccount.EnabledStyle;
            }
            else
            {
                line.By      = target.Persona.DisplayName;
                line.ById    = target.Persona.Id.ConvertToUInt64().ToString("D");
                line.ByType  = "Steam";
                line.ByStyle = "";
            }

            line.Content = $"{line.For} was unbanned by {line.By}.";

            target.Room.SendLine(line);
        }
Exemple #10
0
        private void HandleLeave(SteamChat chat, SteamPersona user, SteamChatLeaveReason reason, SteamPersona sourceUser)
        {
            _lastMessage.Restart();

            var message = user.DisplayName;
            switch (reason)
            {
                case SteamChatLeaveReason.Left:
                    message += " left chat.";
                    break;
                case SteamChatLeaveReason.Disconnected:
                    message += " disconnected.";
                    break;
                case SteamChatLeaveReason.Kicked:
                    message += string.Format(" was kicked by {0}.", sourceUser.DisplayName);
                    break;
                case SteamChatLeaveReason.Banned:
                    message += string.Format(" was banned by {0}.", sourceUser.DisplayName);
                    break;
            }

            var by = sourceUser != null ? sourceUser.DisplayName : "";
            var byId = sourceUser != null ? sourceUser.Id.ConvertToUInt64().ToString("D") : "0";
            var byType = sourceUser != null ? "Steam" : "";

            var line = new StateLine(Util.GetCurrentTimestamp(), RoomInfo.ShortName, reason.ToString(), user.DisplayName, user.Id.ConvertToUInt64().ToString("D"), "Steam", by, byId, byType, message);
            SendLine(line);
        }
Exemple #11
0
        private void HandleEnter(SteamChat chat, SteamPersona user)
        {
            _lastMessage.Restart();

            var message = user.DisplayName + " entered chat.";

            var line = new StateLine(Util.GetCurrentTimestamp(), RoomInfo.ShortName, "Enter", user.DisplayName, user.Id.ConvertToUInt64().ToString("D"), "Steam", "", "0", "", message);
            SendLine(line);
        }
Exemple #12
0
        public void SessionLeft(Session session)
        {
            if (!ShowWebStates || session.Account == null || IsBanned(session.Account.Name))
                return;

            var account = session.Account;
            var line = new StateLine(
                Util.GetCurrentTimestamp(),
                RoomInfo.ShortName,
                "Left",
                account.Name,
                account.Id.ToString("D"),
                "RohBot",
                "", "0", "",
                account.Name + " left chat.");

            SendLine(line);
        }
Exemple #13
0
        // TODO: merge these similarly to the one in SteamRoom
        public void SessionEnter(Session session)
        {
            if (!ShowWebStates || session.Account == null || IsBanned(session.Account.Name))
                return;

            if (DateTime.Now - Program.StartTime <= TimeSpan.FromSeconds(20))
                return;

            var account = session.Account;
            var line = new StateLine(
                Util.GetCurrentTimestamp(),
                RoomInfo.ShortName,
                "Enter",
                account.Name,
                account.Id.ToString("D"),
                "RohBot",
                "", "0", "",
                account.Name + " entered chat.");

            SendLine(line);
        }
Exemple #14
0
        public void SessionDisconnect(Session session)
        {
            if (!ShowWebStates || session.Account == null || IsBanned(session.Account.Name))
                return;

            var account = session.Account;
            var line = new StateLine(
                Util.GetCurrentTimestamp(),
                RoomInfo.ShortName,
                "Disconnected",
                account.Name, account.Id.ToString("D"), "RohBot", account.EnabledStyle,
                "", "0", "", "",
                account.Name + " disconnected.");

            SendLine(line);
        }