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; }
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); }
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); }
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);