public async Task Create(CommandContext ctx) { var message = new Entities.ClientMessage { ChannelId = ctx.Channel.Id.ToString(), ServerId = ctx.Guild.Id.ToString() }; var teamoEntry = new Entities.TeamoEntry { EndDate = DateTime.Now + new TimeSpan(0, 0, 20), Game = "League of LoL", MaxPlayers = 5, Message = message }; try { await _playService.CreateAsync(teamoEntry); } catch (Exception e) { await PostExceptionMessageAsync(ctx.Channel, _logger, e, "Could not create a new teamo :("); return; } }
public static Models.ClientMessage AsModelType(this Entities.ClientMessage entityMessage) { return(new Models.ClientMessage { MessageId = entityMessage.MessageId, ChannelId = entityMessage.ChannelId, ServerId = entityMessage.ServerId }); }
public async Task DeleteMessageAsync(Entities.ClientMessage message) { ulong messageId = ulong.Parse(message.MessageId); ulong channelId = ulong.Parse(message.ChannelId); var channel = await _client.GetChannelAsync(channelId); try { var discordMessage = await channel.GetMessageAsync(messageId); await discordMessage.DeleteAsync(); } catch (DSharpPlus.Exceptions.NotFoundException nfe) { _logger.LogWarning(nfe, "Tried deleting a message that had already been deleted."); } }
public Entities.TeamoEntry GetEntry(Entities.ClientMessage message) { _semaphore.Wait(); try { var post = Posts.Single( (a) => a.Message.MessageId == message.MessageId && a.Message.ChannelId == message.ChannelId && a.Message.ServerId == message.ServerId ); return(post.AsEntityType()); } finally { _semaphore.Release(); } }
public Task RemoveMemberAsync(string userId, Entities.ClientMessage message) { throw new NotImplementedException(); }
public async Task AddMemberAsync(Entities.Member member, Entities.ClientMessage message) { var entry = _dbContext.GetEntry(message); await _timers[entry.Id.Value].AddMemberAsync(member); }
public async Task <Entities.TeamoEntry> AddMemberAsync(Entities.Member member, Entities.ClientMessage message) { return(await ExclusiveAsync(async() => { _logger.LogInformation("Adding member!\n" + $"message id: {message.MessageId}\n" + $"channel id: {message.ChannelId}\n" + $"server id: {message.ServerId}\n" ); var post = Posts.Single( (a) => a.Message.MessageId == message.MessageId && a.Message.ChannelId == message.ChannelId && a.Message.ServerId == message.ServerId ); if (post.Members.Exists((a) => a.ClientUserId == member.ClientUserId)) { _logger.LogWarning($"Trying to add member {member.ClientUserId} to database, but member already exists. Updating numPlayers instead."); post.Members.Single((a) => a.ClientUserId == member.ClientUserId).NumPlayers = member.NumPlayers; } else { post.Members.Add(new Member() { ClientUserId = member.ClientUserId, NumPlayers = member.NumPlayers }); } await SaveChangesAsync(); return post.AsEntityType(); })); }