Exemplo n.º 1
0
        public override Task HandleAsync(IRavenfallServerConnection game, ITwitchCommandClient twitch, ChatCommand cmd)
        {
            var channel = cmd.ChatMessage.Channel;

            twitch.SendChatMessage(channel, "No help available at this time.");

            return(Task.CompletedTask);
        }
 public RavenfallGameSession(
     IRavenfallServerConnection connection,
     IUserProvider playerProvider,
     string name)
 {
     this.userProvider = playerProvider;
     this.connection   = connection;
     this.Name         = name;
 }
Exemplo n.º 3
0
 public StreamBotApp(
     ILogger logger,
     IRavenfallServerConnection ravenfall,
     ITwitchCommandClient twitch
     // IYouTubeCommandClient youtube
     )
 {
     this.logger    = logger;
     this.ravenfall = ravenfall;
     this.twitch    = twitch;
 }
 public TwitchCommandClient(
     ILogger logger,
     IKernel kernel,
     IRavenfallServerConnection game,
     ITwitchCommandController commandHandler,
     ITwitchCredentialsProvider credentialsProvider)
 {
     this.logger              = logger;
     this.kernel              = kernel;
     this.game                = game;
     this.commandHandler      = commandHandler;
     this.credentialsProvider = credentialsProvider;
     CreateTwitchClient();
 }
        public async Task HandleAsync(IRavenfallServerConnection game, ITwitchCommandClient twitch, ChatCommand command)
        {
            var key = command.CommandText.ToLower();
            ITwitchCommandHandler handler = null;

            if (handlerLookup.TryGetValue(key, out var handlerType))
            {
                handler = ioc.Resolve(handlerType) as ITwitchCommandHandler;
            }
            if (handler == null)
            {
                logger.LogInformation("HandleCommand::Unknown Command: " + command.CommandIdentifier + ": " + command.CommandText);
                return;
            }

            await handler.HandleAsync(game, twitch, command);
        }
Exemplo n.º 6
0
        public override Task HandleAsync(IRavenfallServerConnection game, ITwitchCommandClient twitch, ChatCommand cmd)
        {
            var channel = cmd.ChatMessage.Channel;
            var session = game.GetSession(channel);
            var userId  = cmd.ChatMessage.UserId;

            if (session.Contains(userId))
            {
                session.Leave(userId);
                twitch.SendChatMessage(channel, $"@{cmd.ChatMessage.Username}, leaving game...");
            }
            else
            {
                twitch.SendChatMessage(channel, $"@{cmd.ChatMessage.Username}, you're not currently playing. Use !join to start playing.");
            }

            return(Task.CompletedTask);
        }
Exemplo n.º 7
0
        public override Task HandleAsync(IRavenfallServerConnection game, ITwitchCommandClient twitch, ChatCommand cmd)
        {
            var channel = cmd.ChatMessage.Channel;
            var session = game.GetSession(channel);
            var userId  = cmd.ChatMessage.UserId;

            if (session.Contains(userId))
            {
                twitch.SendChatMessage(channel, $"@{cmd.ChatMessage.Username}, you're already playing.");
            }
            else
            {
                session.Join(cmd.ChatMessage.Username, cmd.ChatMessage.UserId, null);
                twitch.SendChatMessage(channel, $"@{cmd.ChatMessage.Username}, joining game...");
            }

            return(Task.CompletedTask);
        }
 public abstract Task HandleAsync(IRavenfallServerConnection game, ITwitchCommandClient twitch, ChatCommand cmd);