Exemplo n.º 1
0
        private async Task OnMessageReceivedAsync(SocketMessage message)
        {
            var log = new LiteDiscordMessage(message);

            using (var db = new LogDatabase())
            {
                await db.Messages.AddAsync(log);

                await db.SaveChangesAsync();
            }
        }
Exemplo n.º 2
0
        public static async Task LogAsync(this SocketCommandContext context, long ms)
        {
            using (var db = new LogDatabase())
            {
                var msg = await db.GetMessageAsync(context.Message.Id);

                var log = new LiteDiscordCommand(msg.Id, context.Message.Id, ms);

                await db.Commands.AddAsync(log);

                await db.SaveChangesAsync();
            }
        }
Exemplo n.º 3
0
        public static Task LoadSqliteModulesAsync(this CommandService service)
        {
            using (var db = new TagDatabase())
                db.Database.EnsureCreated();

            using (var db = new LogDatabase())
                db.Database.EnsureCreated();

            using (var db = new ConfigDatabase())
                db.Database.EnsureCreated();

            return(service.AddModulesAsync(typeof(LiteEntity <>).GetTypeInfo().Assembly));
        }
Exemplo n.º 4
0
        private async Task OnReactionsClearedAsync(ulong id, Optional <SocketUserMessage> msg)
        {
            using (var db = new LogDatabase())
            {
                var logs = db.Reactions.Where(x => x.MessageId == msg.Value.Id);

                foreach (var log in logs)
                {
                    log.DeletedAt = DateTime.UtcNow;
                }

                db.UpdateRange(logs);
                await db.SaveChangesAsync();
            }
        }
Exemplo n.º 5
0
        private async Task OnReactionRemovedAsync(ulong id, Optional <SocketUserMessage> msg, SocketReaction reaction)
        {
            using (var db = new LogDatabase())
            {
                var log = await db.Reactions.FirstOrDefaultAsync(x
                                                                 => x.MessageId == reaction.MessageId &&
                                                                 x.AuthorId == reaction.UserId &&
                                                                 x.EmojiId == reaction.Emoji.Id &&
                                                                 x.EmojiName == reaction.Emoji.Name);

                log.DeletedAt = DateTime.UtcNow;
                db.Update(log);
                await db.SaveChangesAsync();
            }
        }
Exemplo n.º 6
0
        private async Task OnReactionsClearedAsync(Cacheable <IUserMessage, ulong> message, ISocketMessageChannel channel)
        {
            using (var db = new LogDatabase())
            {
                var logs = db.Reactions.Where(x => x.MessageId == message.Id);

                foreach (var log in logs)
                {
                    log.DeletedAt = DateTime.UtcNow;
                }

                db.UpdateRange(logs);
                await db.SaveChangesAsync();
            }
        }
Exemplo n.º 7
0
        private async Task OnReactionAddedAsync(ulong id, Optional <SocketUserMessage> msg, SocketReaction reaction)
        {
            var log = new LiteDiscordReaction(reaction);

            using (var db = new LogDatabase())
            {
                var message = await db.Messages.FirstOrDefaultAsync(x => x.MessageId == reaction.MessageId);

                if (message != null)
                {
                    log.LogMessageId = message.Id;
                }

                await db.Reactions.AddAsync(log);

                await db.SaveChangesAsync();
            }
        }
Exemplo n.º 8
0
        private async Task OnReactionAddedAsync(Cacheable <IUserMessage, ulong> message, ISocketMessageChannel channel, SocketReaction reaction)
        {
            var log = new LiteDiscordReaction(reaction);

            using (var db = new LogDatabase())
            {
                var msg = await db.Messages.FirstOrDefaultAsync(x => x.MessageId == reaction.MessageId);

                if (msg != null)
                {
                    log.LogMessageId = msg.Id;
                }

                await db.Reactions.AddAsync(log);

                await db.SaveChangesAsync();
            }
        }