Ejemplo n.º 1
0
        public ApiManagedMessage(GuildManagedMessage message)
        {
            Id        = message.MessageId;
            ChannelId = message.ChannelId;

            ModeratorRoleId = message.ModeratorRoleId;

            Content      = message.Content;
            LastModified = message.LastModified;
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
 private Task <IUserMessage> GetDiscordBotMessageAsync(GuildManagedMessage msg)
 {
     return(GetDiscordBotMessageAsync(msg.GuildId, msg.ChannelId, msg.MessageId));
 }