Пример #1
0
        public async Task Start()
        {
            string status = Multicraft.GetServerStatus().Data.Status;

            if (status == "online")
            {
                await ReplyAsync(":x: Server is already online.");

                return;
            }
            await ReplyAsync(await Multicraft.StartServer());
        }
Пример #2
0
 public async Task List()
 {
     getServerStatus.apiData.apiPlayer[] players = Multicraft.GetServerStatus().Data.Players;
     if (players.Count() == 0)
     {
         await ReplyAsync("There are 0 players online.");
     }
     else if (players.Count() == 1)
     {
         await ReplyAsync($"There is 1 player online:\n- {players.First().Name}");
     }
     else
     {
         string response = $"There are {players.Count()} players online:";
         foreach (getServerStatus.apiData.apiPlayer player in players)
         {
             response += $"\n- {player.Name}";
         }
         await ReplyAsync(response);
     }
 }
Пример #3
0
        private async Task MainAsync()
        {
            await Data.InitYML();

            await MySQL.Initialize();

            if (!Multicraft.Initialize(Environment.GetEnvironmentVariable("SystemType"), BotType.Ja3farBot))
            {
                Console.WriteLine("FALSE");
                return;
            }

            _client = new DiscordSocketClient(new DiscordSocketConfig
            {
                LogLevel            = LogSeverity.Debug,
                MessageCacheSize    = 100,
                AlwaysDownloadUsers = true,
                ExclusiveBulkDelete = true
            });

            _cmdService = new CommandService(new CommandServiceConfig
            {
                CaseSensitiveCommands = true,
                DefaultRunMode        = RunMode.Async,
                LogLevel = LogSeverity.Info
            });

            _lavaConfig = new LavaConfig
            {
                LogSeverity = LogSeverity.Debug,
                SelfDeaf    = false
            };

            _client.MessageReceived     += Client_CommandHandler;
            _client.Ready               += Client_Ready;
            _cmdService.CommandExecuted += SocialsExceptionHandler;
            _client.MessageReceived     += Bot_CommandHandler;

            await _client.LoginAsync(TokenType.Bot, Config.Token);

            await _client.StartAsync();

            _provider = new ServiceCollection()
                        .AddSingleton(_client)
                        .AddSingleton(_cmdService)
                        .AddSingleton <InteractiveService>()
                        .AddSingleton <LavaNode>()
                        .AddSingleton(_lavaConfig)
                        .AddSingleton <MusicService>()
                        .AddSingleton <LoggerService>()
                        .AddSingleton <EventHandlers>()
                        .AddSingleton <LogEventHandlers>()
                        .AddSingleton <SuggestionService>()
                        .AddSingleton <AutomodService>()
                        .AddSingleton <CustomVCService>()
                        .AddSingleton <WebSocketService>()
                        .BuildServiceProvider();

            await _cmdService.AddModulesAsync(Assembly.GetEntryAssembly(), _provider);

            if (Config.Music)
            {
                await _provider.GetRequiredService <MusicService>().Initialize();
            }
            await _provider.GetRequiredService <LoggerService>().Initialize();

            await _provider.GetRequiredService <EventHandlers>().Initialize();

            await _provider.GetRequiredService <LogEventHandlers>().Initialize();

            await _provider.GetRequiredService <SuggestionService>().Initialize();

            await _provider.GetRequiredService <AutomodService>().Initialize();

            await _provider.GetRequiredService <CustomVCService>().Initialize();

            _provider.GetRequiredService <WebSocketService>().Initialize();

            await Task.Delay(-1);
        }