Exemple #1
0
        public IPointsManager GetPointsManager(UserBotSettings botSettings)
        {
            var pointsManager = new StreamElementsPointsManager(
                Startup._loggerFactory.CreateLogger("StreamElementsPointsManager"),
                botSettings.streamElementsJWTToken,
                botSettings.currencyPlural,
                botSettings.currencySingular,
                botSettings.streamElementsAccountID);

            return(pointsManager);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        public ChatBot.ClientConfiguration GetConfigurationForUser(string userID)
        {
            var botSettings = this.redis.Get <UserBotSettings>(UserBotSettings.GetKey(userID));

            return(this.GetConfigurationForUser(botSettings));
        }
Exemple #6
0
 public void SaveSettings(UserBotSettings toSave)
 {
     this.redis.Set(toSave.GetKey(), toSave);
 }