Ejemplo n.º 1
0
        public async void Handle(DashboardCommandNotification obj)
        {
            switch (obj.Tokens[0])
            {
            case "list":
                await HandleList(obj.User);

                return;

            case "purge":
                await HandlePurge(obj.User);

                return;

            case "download":
                await HandleDownload(obj.User);

                return;

            default:
                await obj.User.WriteConsole("Invalid operation.", "ban system");

                return;
            }
        }
Ejemplo n.º 2
0
 private async void HandlePingDashboard(DashboardCommandNotification obj)
 {
     if (obj.Tokens == null)
     {
         await obj.User.WriteConsole("Pong!", "test");
     }
     else
     {
         await obj.User.WriteConsole(obj.Tokens[0], "test");
     }
 }
Ejemplo n.º 3
0
        public async void Handle(DashboardCommandNotification obj)
        {
            var operation   = obj.Tokens[0];
            var operand     = obj.Tokens[1];
            var isIpAddress = false;

            switch (operand)
            {
            case "ip":
            {
                isIpAddress = true;
                break;
            }

            case "name":
            {
                break;
            }

            default:
                await obj.User.WriteConsole($"Invalid operand: \"{operand}\". Accepted ones are ip/name!", "ban handler");

                return;
            }

            switch (operation)
            {
            case "add":
            {
                if (obj.Tokens[2].Equals("--offline"))
                {
                    if (obj.Tokens.Length != 6)
                    {
                        await obj.User.WriteConsole($"Unable to comply: This operation requires 6 arguments. See /help ban for more information.", "ban system");

                        return;
                    }

                    await HandleAddOfflineIp(obj.Tokens[3], obj.Tokens[4], obj.User, obj.Tokens[5]);

                    return;
                }

                var reason = obj.Tokens[3];
                var target = obj.Tokens[2];
                if (isIpAddress)
                {
                    if (IsIpAInvalid(target))
                    {
                        await obj.User.WriteConsole($"Unable to comply: Invalid address.", "ban system");

                        return;
                    }
                    await HandleAddIp(target, obj.User, reason);
                }
                else
                {
                    await HandleAddName(target, obj.User, reason);
                }
                break;
            }

            case "remove":
            {
                var target = obj.Tokens[2];
                if (isIpAddress)
                {
                    if (IsIpAInvalid(target))
                    {
                        await obj.User.WriteConsole($"Unable to comply: Invalid address.", "ban system");

                        return;
                    }
                    await HandleRemoveIp(target, obj.User);
                }
                else
                {
                    await obj.User.WriteConsole($"Unable to comply: You cannot remove by name!", "ban system");
                }
                break;
            }

            case "exists":
            {
                var target = obj.Tokens[2];
                if (isIpAddress)
                {
                    if (IsIpAInvalid(target))
                    {
                        await obj.User.WriteConsole($"Unable to comply: Invalid address.", "ban system");

                        return;
                    }
                    await HandleExistsAddress(target, obj.User);
                }
                else
                {
                    await HandleExistsName(target, obj.User);
                }
                break;
            }

            case "info":
            {
                var target = obj.Tokens[2];
                if (isIpAddress)
                {
                    if (IsIpAInvalid(target))
                    {
                        await obj.User.WriteConsole($"Unable to comply: Invalid address.", "ban system");

                        return;
                    }
                    await HandleInfoAddress(target, obj.User);
                }
                else
                {
                    await HandleInfoName(target, obj.User);
                }
                break;
            }

            default:
                await obj.User.WriteConsole($"Invalid operation: \"{operation}\". Accepted ones are add/addOffline/remove/exists/info", "ban handler");

                return;
            }
        }