Пример #1
0
        public Lavalink(LavalinkManager lavalink, DiscordSocketClient client)
        {
            _lavalink = lavalink;
            _client   = client;

            _client.Ready += LavalinkStart;
        }
Пример #2
0
        private async Task Yamato()
        {
            _client = new DiscordSocketClient(new DiscordSocketConfig
            {
                AlwaysDownloadUsers = true
            });
            _config = BuildConfig();

            _lavalink = new LavalinkManager(_client, new LavalinkManagerConfig
            {
                RESTHost      = "localhost",
                RESTPort      = 2333,
                WebSocketHost = "localhost",
                WebSocketPort = 80,
                TotalShards   = 1
            });

            var services = ConfigureServices();

            services.GetRequiredService <LogService>();
            await services.GetRequiredService <CommandHandler>().InitializeAsync(services);

            await _client.LoginAsync(TokenType.Bot, _config["token"]);

            await _client.StartAsync();

            await Task.Delay(-1);
        }
Пример #3
0
        public async Task InitializeAsync(DiscordShardedClient client, LavalinkManager lavalink)
        {
            _client  = client;
            _manager = lavalink;

            _service = ConfigureServices();
            _prefix  = _coreLib.GetPrefix();

            _manager.Log += _lib.LavalinkLog;

            await databaseConnection.ConnectAsync();

            databaseConnection.OpenConnection();

            commandService = new CommandService(new CommandServiceConfig
            {
                LogLevel = LogSeverity.Verbose,
                CaseSensitiveCommands = false,
                IgnoreExtraArgs       = true
            });
            await commandService.AddModulesAsync(Assembly.GetEntryAssembly(), _service);

            new HelpCommand(commandService);

            _client.MessageReceived += HandleCommandAsync;
        }
Пример #4
0
        public EventHandler(DiscordShardedClient client, LavalinkManager lavalink)
        {
            _client   = client;
            _lavaLink = lavalink;

            _client.Log               += _lib.Log;
            _client.ShardReady        += ShardReady;
            _client.ShardDisconnected += ShardDisconnected;
            _client.JoinedGuild       += JoinedGuild;
            _client.LeftGuild         += LeftGuild;
            _client.UserJoined        += UserUpdated;
            _client.UserLeft          += UserUpdated;
        }
Пример #5
0
        // Initializes Discord.Net
        private async Task Start()
        {
            _client         = new DiscordSocketClient();
            _handler        = new MessageHandler(_client);
            lavalinkManager = new LavalinkManager(_client);

            await _handler.Init();

            await _client.LoginAsync(TokenType.Bot, _token);

            await _client.StartAsync();

            _client.Ready += async() => {
                await lavalinkManager.StartAsync();
            };

            await Task.Delay(-1);
        }
Пример #6
0
        public RunBot(DiscordSocketClient client      = null, CommandService commands   = null,
                      LavalinkManager lavalinkManager = null, IServiceProvider services = null,
                      LiteDatabase dbService          = null)
        {
            _client = client ?? new DiscordSocketClient(new DiscordSocketConfig
            {
                LogLevel         = LogSeverity.Verbose,
                MessageCacheSize = 50,
            });

            _commands = commands ?? new CommandService(new CommandServiceConfig
            {
                LogLevel = LogSeverity.Verbose,
                CaseSensitiveCommands = false,
                DefaultRunMode        = RunMode.Async
            });

            _lavalinkManager = lavalinkManager ?? new LavalinkManager(_client, new LavalinkManagerConfig()
            {
                RESTHost = "localhost",
                //RESTHost = "127.0.0.1",
                RESTPort      = 2333,
                WebSocketHost = "localhost",
                //WebSocketHost = "127.0.0.1",
                WebSocketPort = 80,
                Authorization = "yeet",
                //TotalShards = 1
            });

            _dbService = dbService ?? new LiteDatabase(@"GuildData.db");

            _services = services ?? new ServiceCollection()
                        .AddSingleton(_client)
                        .AddSingleton(_commands)
                        .AddSingleton(_lavalinkManager)
                        .AddSingleton(_dbService)
                        .AddSingleton <InteractiveService>()
                        .AddSingleton <CommandHandler>()
                        .AddSingleton <AudioService>()
                        .BuildServiceProvider();
        } // end Constructor
Пример #7
0
        private async Task StartAsync()
        {
            _manager = new LavalinkManager(Client, new LavalinkManagerConfig
            {
                RESTHost      = "localhost",
                RESTPort      = 2333,
                WebSocketHost = "localhost",
                WebSocketPort = 1337,
                Authorization = Environment.GetEnvironmentVariable("EdgyBot_LavaAuth", EnvironmentVariableTarget.User),
                TotalShards   = 2,
                LogSeverity   = LogSeverity.Verbose
            });

            Credentials = _core.GetCredentials();
            Handler.EventHandler handler = new Handler.EventHandler(Client, _manager);
            await new CommandHandler().InitializeAsync(Client, handler.GetManager());
            await Client.LoginAsync(TokenType.Bot, Credentials.token);

            await Client.StartAsync();

            await Task.Delay(-1);
        }
Пример #8
0
        public async Task InitializeAsync()
        {
            _command = new CommandService(new CommandServiceConfig
            {
                LogLevel = LogSeverity.Verbose
            });

            _lavalinkManager = new LavalinkManager(_client, new LavalinkManagerConfig
            {
                WebSocketHost = "127.0.0.1",
                WebSocketPort = 80,
                RESTHost      = "127.0.0.1",
                RESTPort      = 2333,
                Authorization = "youshallnotpass",
                TotalShards   = 1,
                LogSeverity   = LogSeverity.Verbose,
            });

            _discordBotListHandler = new DiscordBotListHandler(485759803155546113, Config.Bot.DblToken, _client);

            _services = new ServiceCollection()
                        .AddSingleton(_client)
                        .AddSingleton(_command)
                        .AddSingleton <InteractiveService>()
                        .AddSingleton(_lavalinkManager)
                        .BuildServiceProvider();

            await _command.AddModulesAsync(Assembly.GetEntryAssembly(), _services);

            _client.Ready             += Ready;
            _client.MessageReceived   += HandleCommandAsync;
            _client.JoinedGuild       += JoinAsync;
            _client.LeftGuild         += LeftAsync;
            _client.Log               += Log;
            _lavalinkManager.Log      += Log;
            _lavalinkManager.TrackEnd += TrackEnd;
        }
Пример #9
0
 public SharplinkService(Configuration configuration, LavalinkManager lavalinkManager) => _lavalinkManager = lavalinkManager;
Пример #10
0
 public VoiceCommands(LavalinkManager lavalinkManager)
 {
     _lavaManager             = lavalinkManager;
     _lavaManager.TrackEnd   += TrackEnd;
     _lavaManager.TrackStuck += TrackStuck;
 }
Пример #11
0
        public async Task InitializeAsync()
        {
            _ = PublicVariables.Colors;
            _configuration = ConfigurationService.LoadNewConfig();
            _database      = new DatabaseService(_configuration);
            _httpClient    = new HttpClient();
            _kSoft         = new KSoft(_configuration.KsoftApiKey);
            _e621          = new E621(_configuration.E621UserAgent);
            _client        = new DiscordShardedClient(new DiscordSocketConfig
            {
                AlwaysDownloadUsers = true,
                DefaultRetryMode    = RetryMode.AlwaysRetry,
                LogLevel            = LogSeverity.Verbose,
                MessageCacheSize    = 2048,
                TotalShards         = _configuration.ShardCount
            });
            _commands = new CommandService(new CommandServiceConfig
            {
                CaseSensitiveCommands = false,
                LogLevel       = LogSeverity.Info,
                DefaultRunMode = RunMode.Sync
            });
            _lavalinkManager = new LavalinkManager(_client, new LavalinkManagerConfig
            {
                RESTHost      = _configuration.RESTHost,
                RESTPort      = _configuration.RESTPort,
                WebSocketHost = _configuration.WebSocketHost,
                WebSocketPort = _configuration.WebSocketPort,
                Authorization = _configuration.Authorization,
                TotalShards   = _configuration.ShardCount,
            });
            _interactive = new InteractiveService(_client);
            _services    = new ServiceCollection()
                           .AddSingleton(_client)
                           .AddSingleton(_commands)
                           .AddSingleton(_configuration)
                           .AddSingleton(_database)
                           .AddSingleton(_interactive)
                           .AddSingleton(_httpClient)
                           .AddSingleton(_lavalinkManager)
                           .AddSingleton(_kSoft)
                           .AddSingleton(_e621)
                           .AddSingleton(new Giphy(_configuration.GiphyApiKey))
                           .AddSingleton <StatisticsService>()
                           .AddSingleton <Random>()
                           .AddSingleton <LogService>()
                           .AddSingleton <CachingService>()
                           .AddSingleton <ServerService>()
                           .AddSingleton <NSFWService>()
                           .AddSingleton <SharplinkService>()
                           .BuildServiceProvider();
            _services.GetService <LogService>();
            _services.GetService <StatisticsService>();
            _client.MessageReceived += MessageReceived;
            _client.ReactionAdded   += ReactionAdded;
            _client.Log             += Log;
            _commands.Log           += Log;
            _client.ShardReady      += Ready;

            await _commands.AddModulesAsync(Assembly.GetEntryAssembly(), _services);

            Console.WriteLine($"{_commands.Commands.Count()} commands | {_commands.Modules.Count()} modules");

            await _client.LoginAsync(TokenType.Bot, _configuration.BotToken);

            await _client.StartAsync();

            await Task.Delay(-1);
        }
Пример #12
0
 public Music(LavalinkManager lavalinkManager)
 {
     _lavalinkManager = lavalinkManager;
 }