예제 #1
0
        public async Task OnJoined(SocketGuild guild)
        {
            var exists = await _db.ServersSettings.AnyAsync(serv => serv.ServerId == guild.Id);

            var newServer = new ServerGuild()
            {
                OwnerId      = guild.OwnerId,
                OwnerName    = guild.Owner.Username,
                DoGreet      = false,
                GreetingMsg  = null,
                GreetingRoom = 0,
                RolePostId   = 0,
                prefix       = '$',
                ServerId     = guild.Id,
                ServerName   = guild.Name
            };

            //if doesn't exist
            if (!exists)
            {
                _db.ServersSettings.Add(newServer);
            }

            //if exist in database but bot wasn't there
            else
            {
                _db.ServersSettings.Update(newServer);
            }

            await _db.SaveChangesAsync();
        }
예제 #2
0
        public async Task <ServerGuild> GetOrCreateServer(ulong serverId)
        {
            var server = await Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.FirstOrDefaultAsync(_db.ServersSettings, server => server.ServerId == serverId);

            if (server != null)
            {
                return(server);
            }

            var guild = _client.GetGuild(serverId);

            server = new ServerGuild
            {
                DoGreet      = false,
                GreetingMsg  = null,
                GreetingRoom = guild.DefaultChannel.Id,
                OwnerId      = guild.OwnerId,
                OwnerName    = guild.Owner.Nickname,
                prefix       = '$',
                RolePostId   = 0,
                ServerId     = guild.Id,
                ServerName   = guild.Name,
                BirthdayRoom = guild.DefaultChannel.Id,
                DoBrithday   = false
            };

            await _db.ServersSettings.AddAsync(server);

            await _db.SaveChangesAsync();

            return(server);
        }
예제 #3
0
        public async Task ConfigureBot()
        {
            var exist = _db.ServersSettings.Any(server => server.ServerId == Context.Guild.Id);

            if (!exist)
            {
                //Adds server to database
                var server = new ServerGuild()
                {
                    ServerId   = Context.Guild.Id,
                    ServerName = Context.Guild.Name,
                    OwnerId    = Context.Guild.OwnerId,
                    OwnerName  = Context.Guild.Owner.Username,
                    prefix     = _configuration.Prefix,
                    DoGreet    = false
                };

                _db.ServersSettings.Add(server);
                await _db.SaveChangesAsync();
                await ReplyAsync("Server added to H.u.e database");
            }
            else
            {
                //Updates server
                var server =
                    await _db.ServersSettings.FirstOrDefaultAsync(server => server.ServerId == Context.Guild.Id);

                server.ServerId   = Context.Guild.Id;
                server.ServerName = Context.Guild.Name;
                server.OwnerId    = Context.Guild.OwnerId;
                server.OwnerName  = Context.Guild.Owner.Username;
                _db.ServersSettings.Update(server);
                await _db.SaveChangesAsync();
                await ReplyAsync("Server updated to H.u.e database");
            }
        }