예제 #1
0
 public TwitchCommandListener(
     ILogger logger,
     IKernel kernel,
     IConnectionProvider connectionProvider,
     IMessageBus messageBus,
     ICommandHandler commandHandler,
     IChannelProvider channelProvider,
     IChatMessageWordResolver wordResolver,
     IConnectionCredentialsProvider credentialsProvider,
     ITwitchChatMessageEmoteResolverProvider emoteResolverProvider,
     ITwitchChatMessageParser chatMessageParser)
 {
     this.logger                = logger;
     this.kernel                = kernel;
     this.connectionProvider    = connectionProvider;
     this.messageBus            = messageBus;
     this.commandHandler        = commandHandler;
     this.channelProvider       = channelProvider;
     this.wordResolver          = wordResolver;
     this.credentialsProvider   = credentialsProvider;
     this.emoteResolverProvider = emoteResolverProvider;
     this.chatMessageParser     = chatMessageParser;
     this.CreateTwitchClient();
     this.Start();
 }
예제 #2
0
        public TwitchBot(
            ILogger logger,
            IKernel kernel,
            IRavenfallClient ravenfall,
            IPlayerProvider playerProvider,
            ITwitchMessageFormatter localizer,
            IMessageBus messageBus,
            ICommandProvider commandProvider,
            ICommandHandler commandHandler,
            IChannelProvider channelProvider,
            IConnectionCredentialsProvider credentialsProvider)
        {
            this.logger           = logger;
            this.kernel           = kernel;
            this.ravenfall        = ravenfall;
            this.playerProvider   = playerProvider;
            this.messageFormatter = localizer;
            this.messageBus       = messageBus;
            this.commandProvider  = commandProvider;

            this.commandHandler      = commandHandler;
            this.channelProvider     = channelProvider;
            this.credentialsProvider = credentialsProvider;

            this.messageBus.Subscribe <string>("streamer_userid_acquired", userid =>
            {
                try
                {
                    if (listeningToChannelPoints)
                    {
                        return;
                    }


                    if (pubsubIsConnected)
                    {
                        pubsubIsConnected = false;
                        pubsub.Disconnect();
                    }

                    pubsub.ListenToChannelPoints(userid);
                    pubsub.Connect();
                    pubsubIsConnected = true;

                    logger.WriteDebug("Connecting to PubSub");
                }
                catch (Exception exc)
                {
                    logger.WriteError(exc.ToString());
                }
            });

            this.CreateTwitchClient();

            ravenfall.ProcessAsync(Settings.UNITY_SERVER_PORT);
        }
예제 #3
0
 public TwitchCommandListener(
     ILogger logger,
     IKernel kernel,
     IMessageBus messageBus,
     ICommandHandler commandHandler,
     IChannelProvider channelProvider,
     IConnectionCredentialsProvider credentialsProvider)
 {
     this.logger              = logger;
     this.kernel              = kernel;
     this.messageBus          = messageBus;
     this.commandHandler      = commandHandler;
     this.channelProvider     = channelProvider;
     this.credentialsProvider = credentialsProvider;
     this.CreateTwitchClient();
 }