public async Task BeginRaid(string templateKey) { var softResTemplate = await _softResRaidTemplateRepository.FindAsync(templateKey); if (softResTemplate == null) { await ReplyAsync("No template by that name has been configured."); } var raid = await _softResClient.CreateRaid(opt => opt.ForFaction(softResTemplate.Faction) .ForInstance(softResTemplate.Instance) .TotalReserves(softResTemplate.ReserveAmounts)); var softResEntity = _mapper.Map <RaidModel, SoftResEvent>(raid); await _softResEventRepository.PostAsync(softResEntity); var embedBuilder = new EmbedBuilder().WithTitle($"Raid Event - {DateTime.Now.ToString("M")}") .AddField("Soft Res Sheet", $"[SoftRes.It](https://softres.it/raid/{raid.RaidId})", true) .AddField("Test", "Test", true) .AddField("Test", "Test", true) .WithTimestamp(DateTimeOffset.Now); var message = await ReplyAsync("", false, embedBuilder.Build()); var userDM = await Context.User.GetOrCreateDMChannelAsync(); await userDM.SendMessageAsync($"Soft Reserve Raid created successfully. Token = {raid.Token}"); var raidEntity = new Raid() { SoftResEventId = raid.RaidId, StartTime = DateTime.UtcNow, Channel = await _channelService.AddOrGetChannel(Context), MessageId = message.Id }; await _raidRepository.PostAsync(raidEntity); await _raidRepository.SaveAllChangesAsync(); }