Exemplo n.º 1
0
        public LoggingService(DiscordSocketClient client, CommandService commands, Lavalink lavalink)
        {
            _client   = client;
            _commands = commands;
            _lavalink = lavalink;

            _client.Log   += Log;
            _commands.Log += LogException;
            _lavalink.Log += Log;
            //AppDomain.CurrentDomain.FirstChanceException += async (sender, eventArgs) =>
            //{
            //    SocketUser user = _client.GetUser(181853112045142016);
            //    if (eventArgs.Exception.ToString().Contains("The SSL connection could not be established"))
            //    {
            //        return;
            //    }
            //    System.Collections.Generic.IEnumerable<string> parts = eventArgs.Exception.ToString().SplitInParts(1950);
            //    bool first = true;
            //    foreach (string part in parts)
            //    {
            //        if (first)
            //        {
            //            await user.SendMessageAsync("Global Catch\n```" + part + "```");
            //            first = false;
            //        }
            //        else
            //        {
            //            await user.SendMessageAsync("```" + part + "```");
            //        }
            //    }
            //};
        }
Exemplo n.º 2
0
        private async Task OnReadyAsync()
        {
            var node = await Lavalink.AddNodeAsync(SocketClient);

            node.TrackFinished  += AudioService.OnFinished;
            node.TrackException += AudioService.OnException;
            await SocketClient.SetGameAsync("Ohai there. BLEP!");
        }
Exemplo n.º 3
0
        public async Task InitializeAsync()
        {
            _provider = ConfigureServices();
            _discord  = _provider.GetRequiredService <DiscordSocketClient>();
            _lavalink = _provider.GetRequiredService <Lavalink>();
            var global = new Global().Initialize();

            HookEvents();

            await _discord.LoginAsync(TokenType.Bot, Global.Config.Token);

            await _discord.StartAsync();

            await _provider.GetRequiredService <CommandHandler>().InitializeAsync();

            await Task.Delay(Timeout.Infinite);
        }
Exemplo n.º 4
0
        /* Initialize the Discord Client. */
        public async Task InitializeAsync()
        {
            _services = ConfigureServices();
            _client   = _services.GetRequiredService <DiscordSocketClient>();
            _lavaLink = _services.GetRequiredService <Lavalink>();
            var global = new Global().Initialize();

            HookEvents();

            await _client.LoginAsync(TokenType.Bot, Global.Config.DiscordToken);

            await _client.StartAsync();

            await _services.GetRequiredService <CommandHandler>().InitializeAsync();

            await Task.Delay(-1);
        }
Exemplo n.º 5
0
Arquivo: Bot.cs Projeto: Zitaa/Nix
        public async void Run()
        {
            client   = new DiscordSocketClient();
            commands = new CommandService();
            lavalink = new Lavalink();

            User.Initialize();

            SetupServices();
            SetupEvents();

            await RegisterCommands();

            await client.LoginAsync(TokenType.Bot, services.GetService <Config>().Bot.Token);

            await client.StartAsync();
        }
Exemplo n.º 6
0
        public async Task InitializeAsync()
        {
            await LoggingService.WelcomeMessageAsync();

            _services = ConfigureServices();
            _client   = _services.GetRequiredService <DiscordSocketClient>();
            _lavalink = _services.GetRequiredService <Lavalink>();

            HookEvents();

            await LogClient(_client, TokenType.Bot);

            await _client.StartAsync();

            await _services.GetRequiredService <CommandHandler>().InitializeAsync();

            await Task.Delay(-1);
        }
Exemplo n.º 7
0
        public Audio(Lavalink lavalink)
        {
            this.lavalink = lavalink;

            Process          process = new Process();
            ProcessStartInfo info    = new ProcessStartInfo()
            {
                WindowStyle      = ProcessWindowStyle.Hidden,
                FileName         = "java",
                WorkingDirectory = @"C:\Users\haegg\Desktop\Code\DiscordBot_WindowsForms\DiscordBot\bin",
                Arguments        = "-jar Lavalink.jar"
            };

            process.StartInfo = info;
            process.Start();

            System.Threading.Thread.Sleep(1400);

            Menu.instance.Log("Audio ready");
        }
Exemplo n.º 8
0
Arquivo: Audio.cs Projeto: Zitaa/Nix
        public Audio(Lavalink lavalink)
        {
            this.lavalink = lavalink;

            Process process = new Process()
            {
                StartInfo = new ProcessStartInfo()
                {
                    WorkingDirectory = @"C:\Users\haegg\Desktop\Code\C#\Nix\Nix\Resources",
                    FileName         = "java",
                    Arguments        = "-jar Lavalink.jar",
                    WindowStyle      = ProcessWindowStyle.Hidden
                }
            };

            process.Start();
            server = process;
            System.Threading.Thread.Sleep(1600);
            Menu.Instance.Log("Audio: Initialized.");
        }
Exemplo n.º 9
0
        public async void Run(string token)
        {
            client   = new DiscordSocketClient();
            commands = new CommandService();
            lavalink = new Lavalink();

            if (!Config.Initialize())
            {
                return;
            }
            Data.Initialize();
            Users.Initialize();

            SetupServices();
            SetupEvents();

            await RegisterCommands();

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

            await client.StartAsync();
        }
Exemplo n.º 10
0
        public static async Task Main(string[] args)
        {
            client   = new DiscordSocketClient();
            commands = new CommandService();

            client.Log          += Client_Log;
            client.Ready        += Client_Ready;
            client.Disconnected += Client_Disconnected;

            string token = Environment.GetEnvironmentVariable("ANIA_ALPHA_TOKEN");

            if (string.IsNullOrEmpty(token))
            {
                Console.WriteLine("ANIA_ALPHA_TOKEN environment variable not found.");
                return;
            }

            lavalink      = new Lavalink();
            lavalink.Log += Lavalink_Log;

            services = new ServiceCollection()
                       .AddSingleton(new InteractiveService(client))
                       .AddSingleton <DataContext>()
                       .AddSingleton <IJikan, Jikan>()
                       .AddSingleton(client)
                       .AddSingleton(lavalink)
                       .BuildServiceProvider();

            await InstallCommands();

            await client.LoginAsync(TokenType.Bot, token);

            await client.StartAsync();

            // Block this task until the program is closed.
            await Task.Delay(-1);
        }
Exemplo n.º 11
0
 public AudioModule(Lavalink lavalink, DiscordSocketClient client)
 {
     _lavalink = lavalink;
     _client   = client;
 }
Exemplo n.º 12
0
 public AudioService(Lavalink lavalink)
 => _lavalink = lavalink;
Exemplo n.º 13
0
 // CTOR injection
 public LavalinkLogger(Lavalink lavalink)
 {
     _lavalink     = lavalink;
     lavalink.Log += OnLog;
 }
        public async Task RunAsync()
        {
            #region Abrindo o arquivo de configuração do bot.
            string projectPath    = Path.GetFullPath(Path.Combine(AppContext.BaseDirectory, "..\\..\\..\\"));
            string configFilePath = $"{projectPath}{ConfigurationManager.AppSettings["ClientConfigJson"]}";

            string json = string.Empty;

            FileStream fileStream = null;
            try
            {
                fileStream = File.OpenRead(configFilePath);
                using (StreamReader streamReader = new StreamReader(fileStream, new UTF8Encoding(false)))
                {
                    fileStream = null;
                    json       = await streamReader.ReadToEndAsync().ConfigureAwait(false);
                }
            }
            finally
            {
                if (fileStream != null)
                {
                    fileStream.Dispose();
                }
            }
            configJson = JsonConvert.DeserializeObject <ConfigJson>(json);
            #endregion
            #region Configurando o bot com o Token do arquivo de configuração.
            DiscordConfiguration config = new DiscordConfiguration
            {
                Token           = configJson.Token,
                TokenType       = TokenType.Bot,
                AutoReconnect   = true,
                MinimumLogLevel = LogLevel.Debug
            };
            #endregion
            #region Instanciando o bot(_client) e configurando a extensão de interactividade.
            Client        = new DiscordClient(config);
            Client.Ready += OnClientReady;
            Client.UseInteractivity(new InteractivityConfiguration
            {
                Timeout = TimeSpan.FromMinutes(2),
            });

            await Client.ConnectAsync();

            #endregion
            #region Inicializando o serviço de audio do _client
            ConnectionEndpoint endpoint = new ConnectionEndpoint
            {
                Hostname = configJson.EndpointHostname,
                Port     = configJson.EndpointPort
            };
            LavalinkConfiguration lavalinkConfig = new LavalinkConfiguration
            {
                Password       = configJson.LavalinkPassword,
                RestEndpoint   = endpoint,
                SocketEndpoint = endpoint,
            };
            Lavalink     = Client.UseLavalink();
            LavalinkNode = await Lavalink.ConnectAsync(lavalinkConfig);

            #endregion
            #region Configuração e registro dos comandos do bot.
            CommandsNextConfiguration commandsConfiguration = new CommandsNextConfiguration()
            {
                StringPrefixes      = new string[] { configJson.CommandPrefix },
                EnableDms           = false,
                EnableMentionPrefix = true,
                DmHelp = false
            };
            Commands = Client.UseCommandsNext(commandsConfiguration);
            Commands.RegisterCommands <ModeratorCommands>();
            Commands.RegisterCommands <UserCommands>();
            #endregion

            LavalinkNode.PlaybackFinished += Lavalink_PlaybackFinished;

            await Task.Delay(-1);
        }