1
0
Fork 1
mirror of https://github.com/TeamOctolings/Octobot.git synced 2025-04-20 00:43:36 +03:00

better code

This commit is contained in:
Macintxsh 2023-07-26 18:31:50 +03:00
parent 497a84ead8
commit ad7b9b14ea
Signed by: mctaylors
GPG key ID: 2E1BF7AD0D4BB0B4

View file

@ -88,10 +88,12 @@ public class SettingsCommandGroup : CommandGroup {
var description = new StringBuilder(); var description = new StringBuilder();
var footer = new StringBuilder(); var footer = new StringBuilder();
const int optionsPerList = 10; const int optionsPerPage = 10;
var totalPages = (AllOptions.Length + optionsPerList - 1)/optionsPerList;
var firstOptionOnPage = optionsPerList * page - optionsPerList; var totalPages = (AllOptions.Length + optionsPerPage - 1)/optionsPerPage;
var lastOptionOnPage = optionsPerList * page - 1; var lastOptionOnPage = optionsPerPage * page;
var firstOptionOnPage = lastOptionOnPage - optionsPerPage;
var condition = lastOptionOnPage > AllOptions.Length ? AllOptions.Length : lastOptionOnPage;
if (firstOptionOnPage >= AllOptions.Length) { if (firstOptionOnPage >= AllOptions.Length) {
var embed = new EmbedBuilder().WithSmallTitle(Messages.PageNotFound, currentUser) var embed = new EmbedBuilder().WithSmallTitle(Messages.PageNotFound, currentUser)
@ -102,21 +104,15 @@ public class SettingsCommandGroup : CommandGroup {
return await _feedbackService.SendContextualEmbedResultAsync(embed, ct); return await _feedbackService.SendContextualEmbedResultAsync(embed, ct);
} else { } else {
footer.Append($"{Messages.Page} {page}/{totalPages} "); footer.Append($"{Messages.Page} {page}/{totalPages} ");
for (var i = 1; i <= totalPages; i++) footer.Append(i == page ? "●" : "○"); for (var i = 0; i < totalPages; i++) footer.Append(i + 1 == page ? "●" : "○");
for (var i = firstOptionOnPage; i <= lastOptionOnPage; i++) { for (var i = firstOptionOnPage; i < condition; i++) {
try {
var optionName = AllOptions[i].Name; var optionName = AllOptions[i].Name;
var optionValue = AllOptions[i].Display(cfg); var optionValue = AllOptions[i].Display(cfg);
description.AppendLine($"- {$"Settings{optionName}".Localized()}") description.AppendLine($"- {$"Settings{optionName}".Localized()}")
.Append(" - ") .Append($" - {Markdown.InlineCode(optionName)}: ")
.Append(Markdown.InlineCode(optionName))
.Append(": ")
.AppendLine(optionValue); .AppendLine(optionValue);
} catch (IndexOutOfRangeException) {
// Ignoring IndexOutOfRangeException in order to continue showing the list of settings if the options are over
}
} }
var embed = new EmbedBuilder().WithSmallTitle(Messages.SettingsListTitle, currentUser) var embed = new EmbedBuilder().WithSmallTitle(Messages.SettingsListTitle, currentUser)