public async Task CmdSetGenericIgn(string message) { try { string gameIgn = message.Substring(message.IndexOf(" ") + 1); // Get current game name ChannelJSON json = await _twitchInfo.GetBroadcasterChannelById(); string gameTitle = json.Game; InGameUsername ign = await _ign.GetInGameUsername(_broadcasterInstance.DatabaseId); if (ign == null) { await _ign.CreateInGameUsername(null, _broadcasterInstance.DatabaseId, gameIgn); _irc.SendPublicChatMessage($"Yay! You've set your generic IGN to \"{gameIgn}\""); } else { ign.Message = gameIgn; await _ign.UpdateInGameUsername(ign.Id, _broadcasterInstance.DatabaseId, ign); _irc.SendPublicChatMessage($"Yay! You've updated your generic IGN to \"{gameIgn}\""); } } catch (Exception ex) { await _errHndlrInstance.LogError(ex, "CmdBrdCstr", "CmdSetGenericIgn(string)", false, "!setgenericign"); } }
public async Task CmdDeleteIgn() { try { // Get current game name ChannelJSON json = await _twitchInfo.GetBroadcasterChannelById(); string gameTitle = json.Game; TwitchGameCategory game = await _gameDirectory.GetGameId(gameTitle); InGameUsername ign = await _ign.GetInGameUsername(_broadcasterInstance.DatabaseId, game); if (ign != null && ign.GameId != null) { await _ign.DeleteInGameUsername(ign.Id, _broadcasterInstance.DatabaseId); _irc.SendPublicChatMessage($"Successfully deleted IGN set for the category \"{game.Title}\""); } else { _irc.SendPublicChatMessage($"Wasn't able to find an IGN to delete for the category \"{game.Title}\""); } } catch (Exception ex) { await _errHndlrInstance.LogError(ex, "CmdBrdCstr", "CmdDeleteIgn()", false, "!deleteign"); } }
private async Task <DateTime> SetGenericIgnAsync(TwitchChatter chatter) { try { string message = chatter.Message; string gameIgn = message.Substring(message.IndexOf(" ") + 1); // Get current game name ChannelJSON json = await _twitchInfo.GetBroadcasterChannelByIdAsync(); string gameTitle = json.Game; InGameUsername ign = await _ign.GetInGameUsernameAsync(_broadcasterInstance.DatabaseId); if (ign == null) { await _ign.CreateInGameUsernameAsync(null, _broadcasterInstance.DatabaseId, gameIgn); _irc.SendPublicChatMessage($"Yay! You've set your generic IGN to \"{gameIgn}\" @{chatter.DisplayName}"); } else { ign.Message = gameIgn; await _ign.UpdateInGameUsernameAsync(ign.Id, _broadcasterInstance.DatabaseId, ign); _irc.SendPublicChatMessage($"Yay! You've updated your generic IGN to \"{gameIgn}\" @{chatter.DisplayName}"); } } catch (Exception ex) { await _errHndlrInstance.LogError(ex, "InGameNameFeature", "SetGenericIgn(TwitchChatter)", false, "!setgenericign", chatter.Message); } return(DateTime.Now); }
public async Task CreateInGameUsername(int?gameId, int broadcasterId, string message) { InGameUsername ign = new InGameUsername { GameId = gameId, BroadcasterId = broadcasterId, Message = message }; await ApiBotRequest.PostExecuteAsync(_twitchBotApiLink + $"ingameusernames/create", ign); }
public async Task <IActionResult> Create([FromBody] InGameUsername inGameUsername) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.InGameUsername.Add(inGameUsername); await _context.SaveChangesAsync(); return(CreatedAtAction("Get", new { broadcasterId = inGameUsername.BroadcasterId, gameId = inGameUsername.Game }, inGameUsername)); }
private async Task <DateTime> SetGameIgnAsync(TwitchChatter chatter) { try { string message = chatter.Message; string gameIgn = message.Substring(message.IndexOf(" ") + 1); // Get current game name ChannelJSON json = await _twitchInfo.GetBroadcasterChannelByIdAsync(); string gameTitle = json.Game; TwitchGameCategory game = await _gameDirectory.GetGameIdAsync(gameTitle); InGameUsername ign = await _ign.GetInGameUsernameAsync(_broadcasterInstance.DatabaseId, game); if (game == null) { _irc.SendPublicChatMessage("The game isn't in the database. " + $"Please set this as part of the general game IDs or IGNs using !setgenericign or !setgenericid @{chatter.DisplayName}"); return(DateTime.Now); } if (ign == null || (ign != null && ign.GameId == null)) { await _ign.CreateInGameUsernameAsync(game.Id, _broadcasterInstance.DatabaseId, gameIgn); _irc.SendPublicChatMessage($"Yay! You've set your IGN for {gameTitle} to \"{gameIgn}\" @{chatter.DisplayName}"); } else { ign.Message = gameIgn; await _ign.UpdateInGameUsernameAsync(ign.Id, _broadcasterInstance.DatabaseId, ign); _irc.SendPublicChatMessage($"Yay! You've updated your IGN for {gameTitle} to \"{gameIgn}\" @{chatter.DisplayName}"); } } catch (Exception ex) { await _errHndlrInstance.LogError(ex, "InGameNameFeature", "SetGameIgn(TwitchChatter)", false, "!setgameign", chatter.Message); } return(DateTime.Now); }
public async Task <IActionResult> Delete([FromRoute] int broadcasterId, [FromQuery] int id) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } InGameUsername inGameUsername = await _context.InGameUsername.SingleOrDefaultAsync(m => m.Id == id && m.BroadcasterId == broadcasterId); if (inGameUsername == null) { return(NotFound()); } _context.InGameUsername.Remove(inGameUsername); await _context.SaveChangesAsync(); return(NoContent()); }
private async Task <DateTime> InGameUsernameAsync(TwitchChatter chatter) { try { // Get current game name ChannelJSON json = await _twitchInfo.GetBroadcasterChannelByIdAsync(); string gameTitle = json.Game; TwitchGameCategory game = await _gameDirectory.GetGameIdAsync(gameTitle); InGameUsername ign = null; if (chatter.Message.StartsWith("!all")) { ign = await _ign.GetInGameUsernameAsync(_broadcasterInstance.DatabaseId); // return generic IGN } else { ign = await _ign.GetInGameUsernameAsync(_broadcasterInstance.DatabaseId, game); // return specified IGN (if available) } if (ign != null && !string.IsNullOrEmpty(ign.Message)) { _irc.SendPublicChatMessage($"{ign.Message} @{chatter.DisplayName}"); } else { _irc.SendPublicChatMessage($"I cannot find your in-game username @{chatter.DisplayName}"); } } catch (Exception ex) { await _errHndlrInstance.LogError(ex, "InGameNameFeature", "InGameUsername(TwitchChatter)", false, "!ign"); } return(DateTime.Now); }
private async Task <DateTime> DeleteIgnAsync(TwitchChatter chatter) { try { // Get current game name ChannelJSON json = await _twitchInfo.GetBroadcasterChannelByIdAsync(); string gameTitle = json.Game; TwitchGameCategory game = await _gameDirectory.GetGameIdAsync(gameTitle); InGameUsername ign = await _ign.GetInGameUsernameAsync(_broadcasterInstance.DatabaseId, game); if (game == null) { _irc.SendPublicChatMessage($"The game isn't in the database @{chatter.DisplayName}"); return(DateTime.Now); } if (ign != null && ign.GameId != null) { await _ign.DeleteInGameUsernameAsync(ign.Id, _broadcasterInstance.DatabaseId); _irc.SendPublicChatMessage($"Successfully deleted IGN set for the category, \"{game.Title}\" @{chatter.DisplayName}"); } else { _irc.SendPublicChatMessage($"Wasn't able to find an IGN to delete for the category, \"{game.Title}\" @{chatter.DisplayName}"); } } catch (Exception ex) { await _errHndlrInstance.LogError(ex, "InGameNameFeature", "DeleteIgn(TwitchChatter)", false, "!deleteign", chatter.Message); } return(DateTime.Now); }
public async Task <IActionResult> Update([FromRoute] int broadcasterId, [FromQuery] int id, [FromBody] InGameUsername inGameUsername) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != inGameUsername.Id && broadcasterId != inGameUsername.BroadcasterId) { return(BadRequest()); } _context.Entry(inGameUsername).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!InGameUsernameExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task UpdateInGameUsernameAsync(int id, int broadcasterId, InGameUsername ign) { await _ignDb.UpdateInGameUsernameAsync(id, broadcasterId, ign); }
public async Task UpdateInGameUsername(int id, int broadcasterId, InGameUsername ign) { await ApiBotRequest.PutExecuteAsync(_twitchBotApiLink + $"ingameusernames/update/{broadcasterId}?id={id}", ign); }