public IPointsManager GetPointsManager(UserBotSettings botSettings) { var pointsManager = new StreamElementsPointsManager( Startup._loggerFactory.CreateLogger("StreamElementsPointsManager"), botSettings.streamElementsJWTToken, botSettings.currencyPlural, botSettings.currencySingular, botSettings.streamElementsAccountID); return(pointsManager); }
public List <ChatBot.ClientConfiguration> GetAllUserClientConfigurations() { var allKeys = this.redis.GetKeysByPattern_SLOW(UserBotSettings.GetWildcardKey()); var res = new List <ChatBot.ClientConfiguration>(); foreach (var k in allKeys) { var botSettings = this.redis.Get <UserBotSettings>(k); if (botSettings != null) { var config = this.GetConfigurationForUser(botSettings); if (config != null) { res.Add(config); } } } return(res); }
public ChatBot.ClientConfiguration GetConfigurationForUser(UserBotSettings botSettings) { if (botSettings == null) { return(null); } if (botSettings.basicBotConfiguration == null) { return(null); } if (!botSettings.basicBotConfiguration.botEnabled) { return(null); } var hypeCommandsSettings = this.EnsureDefaultHypeSettings(botSettings.userID); var gambleSettings = this.EnsureDefaultGambleSettings(botSettings.userID); var ceresSettings = this.EnsureDefaultCeresSettings(botSettings.userID); var pointsManager = this.GetPointsManager(botSettings); var botAcct = this.GetBotAccount(false, botSettings.userID); var config = new ChatBot.ClientConfiguration { channelName = botSettings.userID, hypeCommands = hypeCommandsSettings.hypeCommands, gambleConfiguration = gambleSettings.gambleConfiguration, pointsManager = pointsManager, ceresConfiguration = ceresSettings.ceresConfiguration, basicConfiguration = botSettings.basicBotConfiguration, botAccountConfiguration = botAcct, }; return(config); }
public UserBotSettings EnsureDefaultUserSettings(string userID) { var key = UserBotSettings.GetKey(userID); UserBotSettings botSettings; try { botSettings = this.redis.Get <UserBotSettings>(key); } catch (System.Runtime.Serialization.SerializationException) { this.redis.Delete(key); botSettings = null; } if (botSettings == null) { botSettings = new UserBotSettings { userID = userID, currencyPlural = "Coins", currencySingular = "Coin", streamElementsAccountID = null, streamElementsJWTToken = null, basicBotConfiguration = new Common.Models.BasicBotConfiguration { botEnabled = false, queryPointsCommand = "!coins", helpCommand = "!komahelp", } }; this.redis.Set(key, botSettings); } return(botSettings); }
public ChatBot.ClientConfiguration GetConfigurationForUser(string userID) { var botSettings = this.redis.Get <UserBotSettings>(UserBotSettings.GetKey(userID)); return(this.GetConfigurationForUser(botSettings)); }
public void SaveSettings(UserBotSettings toSave) { this.redis.Set(toSave.GetKey(), toSave); }