public ApiManagedMessage(GuildManagedMessage message) { Id = message.MessageId; ChannelId = message.ChannelId; ModeratorRoleId = message.ModeratorRoleId; Content = message.Content; LastModified = message.LastModified; }
public async Task <GuildManagedMessage> PostMessageAsync(ulong guildId, ulong channelId, string message, ulong?moderatorRoleId = null) { var channel = await GetDiscordChannel(guildId, channelId); var discordMessage = await channel.SendMessageAsync(message); // Always will result in a new entry, as bot is making a new post. var msg = new GuildManagedMessage(guildId, channelId, discordMessage.Id, discordMessage.Content, moderatorRoleId: moderatorRoleId); _context.GuildManagedMessages.Add(msg); await _context.SaveChangesAsync(); return(msg); }
public async Task <GuildManagedMessage> ImportMessageAsync(ulong guildId, ulong channelId, ulong messageId, ulong?moderatorRoleId = null) { var dbMsg = await _context.GuildManagedMessages.AsQueryable() .SingleOrDefaultAsync(m => m.GuildId == guildId && m.MessageId == messageId); if (dbMsg != null) { return(dbMsg); } // Massage was not yet imported. var discordMessage = await GetDiscordBotMessageAsync(guildId, channelId, messageId); _context.GuildManagedMessages.Add(dbMsg = new GuildManagedMessage(guildId, channelId, messageId, discordMessage.Content, discordMessage.EditedTimestamp ?? discordMessage.CreatedAt, moderatorRoleId)); await _context.SaveChangesAsync(); return(dbMsg); }
private Task <IUserMessage> GetDiscordBotMessageAsync(GuildManagedMessage msg) { return(GetDiscordBotMessageAsync(msg.GuildId, msg.ChannelId, msg.MessageId)); }