public async Task <GuildOptionsResult?> GetGuildOptions(GuildOptionsCriteria criteria) { _getGuildOptionsValidator.ValidateAndThrow(criteria); _logger.LogDebug("Getting options for guild '{GuildId}'.", criteria.GuildId); var query = new GetOptionsQuery() { GuildId = criteria.GuildId }; var options = await _guildAccessor.GetOptions(query); if (options is null) { _logger.LogDebug("Options do not exist in storage. Returning null."); return(null); } return(new GuildOptionsResult() { GuildId = options.Id, IsVerificationSet = options.FreeCompany?.Id is object && options.VerifiedRoleId > 0, Prefix = options.Prefix, SignupEmotes = options.SignupEmotes, FreeCompanyName = options.FreeCompany?.Name }); }
/// <summary> /// Gets the custom prefix for the guild. /// </summary> /// <returns></returns> protected async Task <string> GetPrefix() { if (Context.Guild is object) { var criteria = new GuildOptionsCriteria() { GuildId = Context.Guild.Id }; var options = await _guildOptionsManager.GetGuildOptions(criteria); if (!string.IsNullOrEmpty(options?.Prefix)) { return(options.Prefix); } } return(_appOptions.CurrentValue.Discord.Prefix); }