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; } }
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"); } }
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; } }