Beispiel #1
0
        private async Task Autorole(SocketGuildUser user)
        {
            Server server = null;

            _database.Execute(x => { server = x.Load <Server>($"{user.Guild.Id}"); });
            var role = user.Guild.GetRole(server.AutoroleId.GetValueOrDefault());

            if (role == null)
            {
                return;
            }
            await user.AddRoleAsync(role);
        }
Beispiel #2
0
        public ModLogItem AddLogItem(IGuild guild, ActionType actionType, string reason, ulong responsible,
                                     ulong target)
        {
            Server server;
            var    logItem = new ModLogItem
            {
                ActionType        = actionType,
                Reason            = reason,
                ResponsibleUserId = responsible,
                UserId            = target
            };

            _database.Execute(x =>
            {
                server        = x.Load <Server>($"{guild.Id}");
                logItem.LogId = server.ModLog.Any() ? server.ModLog.Keys.Max() + 1 : 0;
                server.ModLog[logItem.LogId] = logItem;
                x.Store(server, $"{guild.Id}");
                x.SaveChanges();
            });
            return(logItem);
        }