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()); }
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); } }
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); }