public async Task AddReplyAsync(SocketGuild guild, string mustContains, string reply, string compareType, bool disabled, bool caseSensitive, string channel) { if (Data.Any(o => o.MustContains == mustContains)) { throw new ArgumentException($"Automatická odpověď **{mustContains}** již existuje."); } var item = new AutoReplyItem() { MustContains = mustContains, IsDisabled = disabled, ReplyMessage = reply, CaseSensitive = caseSensitive, GuildIDSnowflake = guild.Id, ChannelIDSnowflake = channel == "*" ? (ulong?)null : Convert.ToUInt64(channel) }; item.SetCompareType(compareType); using var scope = Provider.CreateScope(); using var repository = scope.ServiceProvider.GetService <AutoReplyRepository>(); await repository.AddItemAsync(item).ConfigureAwait(false); Data.Add(item); }
public async Task AddReplyAsync(SocketGuild guild, string mustContains, string reply, string compareType, bool disabled, bool caseSensitive, string channel) { if (BotState.AutoReplyItems.Any(o => o.MustContains == mustContains)) { throw new ArgumentException($"Automatická odpověď **{mustContains}** již existuje."); } var item = new AutoReplyItem() { MustContains = mustContains, IsDisabled = disabled, ReplyMessage = reply, CaseSensitive = caseSensitive, GuildIDSnowflake = guild.Id, ChannelIDSnowflake = channel == "*" ? (ulong?)null : Convert.ToUInt64(channel) }; item.SetCompareType(compareType); await GrillBotRepository.AddAsync(item); await GrillBotRepository.CommitAsync(); BotState.AutoReplyItems.Add(item); }
public async Task AddReplyAsync(string mustContains, string reply, string compareType, bool disabled = false, bool caseSensitive = false) { if (Data.Any(o => o.MustContains == mustContains)) { throw new ArgumentException($"Automatická odpověď **{mustContains}** již existuje."); } var item = new AutoReplyItem() { MustContains = mustContains, IsDisabled = disabled, ReplyMessage = reply, CaseSensitive = caseSensitive }; item.SetCompareType(compareType); using (var repository = new GrillBotRepository(Config)) { await repository.AutoReply.AddItemAsync(item).ConfigureAwait(false); } Data.Add(item); }