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 + "```"); // } // } //}; }
private async Task OnReadyAsync() { var node = await Lavalink.AddNodeAsync(SocketClient); node.TrackFinished += AudioService.OnFinished; node.TrackException += AudioService.OnException; await SocketClient.SetGameAsync("Ohai there. BLEP!"); }
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); }
/* 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); }
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(); }
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); }
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"); }
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."); }
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(); }
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); }
public AudioModule(Lavalink lavalink, DiscordSocketClient client) { _lavalink = lavalink; _client = client; }
public AudioService(Lavalink lavalink) => _lavalink = lavalink;
// 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); }