public async Task <SetPrefixResult> SetPrefix(SetPrefixCriteria criteria) { _setPrefixValidator.ValidateAndThrow(criteria); _logger.LogDebug("Setting prefix '{Prefix}' for guild '{GuildId}'.", criteria.Prefix, criteria.GuildId); var getOptionsQuery = new GetOptionsQuery() { GuildId = criteria.GuildId }; var options = await _guildAccessor.GetOptions(getOptionsQuery) ?? new GuildOptions(); options.Id = criteria.GuildId; options.Prefix = criteria.Prefix; var saveOptionsQuery = new SaveOptionsQuery() { Options = options }; await _guildAccessor.SaveOptions(saveOptionsQuery); return(new SetPrefixResult() { Success = true }); }
public async Task Prefix(string prefix) { using var setTyping = Context.Channel.EnterTypingState(); var criteria = new SetPrefixCriteria() { GuildId = Context.Guild.Id, Prefix = prefix }; await _guildOptionsManager.SetPrefix(criteria); await ReplyAsync("Done."); }