예제 #1
0
        public Bot(TwitchSettings twitchSettings, IServiceProvider serviceProvider, ILoggingService loggingService)
        {
            this.serviceProvider = serviceProvider;
            this.loggingService  = loggingService;
            LoadCommands();
            ConnectionCredentials credentials = new ConnectionCredentials("developersgarage_bot", twitchSettings.OauthToken);
            var clientOptions = new ClientOptions
            {
                MessagesAllowedInPeriod = 750,
                ThrottlingPeriod        = TimeSpan.FromSeconds(30)
            };
            WebSocketClient customClient = new WebSocketClient(clientOptions);

            client = new TwitchClient(customClient);
            client.Initialize(credentials, "developersgarage");

            client.OnLog             += Client_OnLog;
            client.OnJoinedChannel   += Client_OnJoinedChannel;
            client.OnMessageReceived += Client_OnMessageReceived;
            //client.OnWhisperReceived += Client_OnWhisperReceived;
            //client.OnNewSubscriber += Client_OnNewSubscriber;
            client.OnConnected  += Client_OnConnected;
            client.OnUserJoined += Client_OnUserJoined;

            client.Connect();
        }
예제 #2
0
        public async Task InitializeAsync()
        {
            if (settings.Twitch.EnableChatBot)
            {
                client.Initialize(credentials, settings.Twitch.Channel);
                client.OnLog             += Client_OnLog;
                client.OnMessageReceived += Client_OnMessageReceived;
                client.OnConnected       += Client_OnConnected;
                client.OnDisconnected    += Client_OnDisconnected;
                client.OnConnectionError += Client_OnConnectionError;
                client.Connect();
            }

            if (settings.Twitch.EnablePubSub)
            {
                string channelId = await GetChannelId();

                pubSub.ListenToRewards(channelId);

                pubSub.OnRewardRedeemed         += PubSub_OnRewardRedeemed;
                pubSub.OnLog                    += PubSub_OnLog;
                pubSub.OnPubSubServiceConnected += PubSub_OnPubSubServiceConnected;
                pubSub.OnPubSubServiceError     += PubSub_OnPubSubServiceError;
                pubSub.OnPubSubServiceClosed    += PubSub_OnPubSubServiceClosed;

                pubSub.Connect();
            }
        }
        public TwitchChannelLink(ITwitchEventProxy eventProxy, string userName, string accessToken, string channel)
        {
            _eventProxy = eventProxy;
            Client      = new TwitchClient();

            Client.OnConnected             += Client_OnConnected;
            Client.OnBeingHosted           += Client_OnBeingHosted;
            Client.OnChannelStateChanged   += Client_OnChannelStateChanged;
            Client.OnChatCleared           += Client_OnChatCleared;
            Client.OnChatColorChanged      += Client_OnChatColorChanged;
            Client.OnChatCommandReceived   += Client_OnChatCommandReceived;
            Client.OnConnectionError       += Client_OnConnectionError;
            Client.OnDisconnected          += Client_OnDisconnected;
            Client.OnExistingUsersDetected += Client_OnExistingUsersDetected;
            Client.OnGiftedSubscription    += Client_OnGiftedSubscription;
            Client.OnHostingStarted        += Client_OnHostingStarted;
            Client.OnHostingStopped        += Client_OnHostingStopped;
            Client.OnHostLeft         += Client_OnHostLeft;
            Client.OnIncorrectLogin   += Client_OnIncorrectLogin;
            Client.OnJoinedChannel    += Client_OnJoinedChannel;
            Client.OnLeftChannel      += Client_OnLeftChannel;
            Client.OnLog              += Client_OnLog;
            Client.OnMessageSent      += Client_OnMessageSent;
            Client.OnMessageThrottled += Client_OnMessageThrottled;
            Client.OnMessageReceived  += Client_OnMessageReceived;
            Client.OnWhisperReceived  += Client_OnWhisperReceived;
            Client.OnNewSubscriber    += Client_OnNewSubscriber;
            Client.OnError            += Client_OnError;

            // Token by https://github.com/swiftyspiffy/twitch-token-generator
            ConnectionCredentials credentials = new ConnectionCredentials(userName, accessToken);

            Client.Initialize(credentials, channel);
        }
예제 #4
0
        public TwitchChatClient(TwitchClientSettings twitchClientSettings)
        {
            var credentials = new ConnectionCredentials(twitchClientSettings.TwitchUsername, twitchClientSettings.TwitchBotOAuth);

            _twitchClient = new TwitchClient();

            _twitchClient.Initialize(credentials);
        }
예제 #5
0
        public TwitchChatClient(TwitchClientSettings settings)
        {
            _settings      = settings;
            _joinedChannel = new JoinedChannel(_settings.TwitchChannel);
            var credentials = new ConnectionCredentials(_settings.TwitchUsername, _settings.TwitchBotOAuth);

            _twitchClient = new TwitchClient();
            _twitchClient.Initialize(credentials, _joinedChannel.Channel);
        }
예제 #6
0
        public TwitchBot(ConnectionCredentials credentials, string accessToken, string clientID, string channel)
        {
            _client = new TwitchClient();
            _client.Initialize(credentials, channel, Prefix, Prefix);
            _client.SetConnectionCredentials(credentials);

            _api = new TwitchAPI();
            _api.Settings.AccessToken = accessToken;
            _api.Settings.ClientId    = clientID;
        }
예제 #7
0
        public void Start()
        {
            _client.Initialize(new ConnectionCredentials("StreamerCompanion", _config["Secure:TwitchToken"]));
            _twitchApi.Settings.ClientId    = "yjg7ikvnh54s37xgxao69ufub0nv4b";
            _twitchApi.Settings.AccessToken = _config["Secure:TwitchApiToken"];

            _client.AutoReListenOnException = true;
            _client.OnDisconnected         += OnDisconnected;

            _client.Connect();
        }
예제 #8
0
        public TwitchChatClient(ITwitchClient client)
        {
            twitchCredentials = TwitchCredentials.Instance;
            ConnectionCredentials credentials = new ConnectionCredentials(twitchCredentials.twitchUsername, twitchCredentials.twitchOAuth);

            twitchClient = client;
            twitchClient.Initialize(credentials);

            twitchClient.OnJoinedChannel       += onJoinedChannel;
            twitchClient.OnMessageReceived     += onMessageReceived;
            twitchClient.OnChatCommandReceived += OnChatCommandReceived;
        }
예제 #9
0
        public void Start()
        {
            var credentials = new ConnectionCredentials(_twitchSettings.Username, _twitchSettings.AccessToken);

            _twitchClient.Initialize(credentials, _twitchSettings.Channel);
            _twitchClient.Connect();

            _twitchClient.OnConnected       += TwitchClient_OnConnected;
            _twitchClient.OnDisconnected    += TwitchClient_OnDisconnected;
            _twitchClient.OnMessageReceived += TwitchClient_OnMessageReceived;
            _twitchClient.OnJoinedChannel   += TwitchClient_OnJoinedChannel;
        }
예제 #10
0
        public TwitchChatClient(TwitchClientSettings settings, ITwitchAPI twitchApi, ILoggerAdapter <TwitchChatClient> logger)
        {
            _settings  = settings;
            _twitchApi = twitchApi;
            _logger    = logger;
            var credentials = new ConnectionCredentials(settings.TwitchUsername, settings.TwitchBotOAuth);

            _twitchClient = new TwitchClient();
            _twitchClient.Initialize(credentials, channel: settings.TwitchChannel);
            _twitchClient.OnChatCommandReceived += ChatCommandReceived;
            _twitchClient.OnNewSubscriber       += NewSubscriber;
            _twitchClient.OnUserJoined          += TwitchClientOnOnUserJoined;
            _twitchClient.OnUserLeft            += TwitchClientOnOnUserLeft;
        }
예제 #11
0
        public void Connect()
        {
            /*ConsoleWriterMain.Program consoleWriter = new ConsoleWriterMain.Program();
             * Process.Start(consoleWriter.ReturnPath() + "\\ConsoleWriterMain.exe");
             * Console.ReadLine();*/

            client = new TwitchClient();
            client.Initialize(credentials, Channel);

            client.OnJoinedChannel   += Client_OnJoinedChannel;
            client.OnMessageReceived += Client_OnMessageReceived;
            client.OnMessageSent     += Client_OnMessageSent;
            client.OnWhisperSent     += Client_OnWhisperSent;

            client.Connect();
        }
예제 #12
0
        public Task Connect(string twitchUsername, string accessToken, string channel)
        {
            _twitchClient.Initialize(new ConnectionCredentials(twitchUsername, accessToken), channel);
            _twitchClient.OnLog += OnLog;

            _twitchClient.OnMessageReceived += async(sender, message) =>
            {
                // Don't run a command if it is from a known bot
                if (Constants.KnownBots.Any(bot =>
                                            bot.Equals(message.ChatMessage.Username, StringComparison.InvariantCultureIgnoreCase)))
                {
                    return;
                }

                await _commandManager.MessageReceived(sender, message);

                await _soundEffectManager.MessageReceived(sender, message);
            };

            _twitchClient.Connect();

            return(Task.CompletedTask);
        }