public async Task fmserversetAsync([Summary("The default mode you want to use.")] string chartType = "embedmini", [Summary("The default timeperiod you want to use.")] string chartTimePeriod = "monthly") { if (guildService.CheckIfDM(Context)) { await ReplyAsync("Command is not supported in DMs.").ConfigureAwait(false); return; } IGuildUser serverUser = (IGuildUser)Context.Message.Author; if (!serverUser.GuildPermissions.BanMembers && !serverUser.GuildPermissions.Administrator && !await adminService.HasCommandAccessAsync(Context.User, UserType.Admin).ConfigureAwait(false)) { await ReplyAsync("You are not authorized to use this command. Only users with the 'Ban Members' permission, server admins or FMBot admins can use this command."); return; } if (chartType == "help") { await ReplyAsync("Sets the global default for your server. `.fmserverset 'embedfull/embedmini/textfull/textmini' 'Weekly/Monthly/Yearly/AllTime'` command."); return; } if (!Enum.TryParse(chartType, ignoreCase: true, out ChartType chartTypeEnum)) { await ReplyAsync("Invalid mode. Please use 'embedmini', 'embedfull', 'textfull', or 'textmini'."); return; } if (!Enum.TryParse(chartTimePeriod, ignoreCase: true, out ChartTimePeriod chartTimePeriodEnum)) { await ReplyAsync("Invalid mode. Please use 'weekly', 'monthly', 'yearly', or 'overall'."); return; } await guildService.ChangeGuildSettingAsync(Context.Guild, chartTimePeriodEnum, chartTypeEnum); await ReplyAsync("The .fmset default charttype for your server has been set to " + chartTypeEnum + " with the time period " + chartTimePeriodEnum + "."); }