示例#1
0
        private static void SetVotingsFromFile(string directory, VotingHandler votingHandler)
        {
            string path = Path.Combine(directory, "votings.json");

            if (File.Exists(path))
            {
                try
                {
                    using (StreamReader r = File.OpenText(path))
                    {
                        string        json    = r.ReadToEnd();
                        VotingValue[] votings = JsonConvert.DeserializeObject <VotingValue[]>(json);

                        foreach (var voting in votings)
                        {
                            votingHandler.AddVoting(voting.name, voting.choices, voting.time);
                        }
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(string.Format("Voting import error: {0}", ex.Message));
                }
            }
            else
            {
                Console.WriteLine("No votings found!");
            }
        }
示例#2
0
        private static VotingHandler InitVotings(string directory, ITwitchClient client, OBSWebsocket obs, Config config)
        {
            VotingHandler votings = new VotingHandler(client, obs, config.channel, config.time);
            // Add Scene voting
            string          action = "scene";
            Regex           reg    = new Regex(config.scene);
            List <OBSScene> scenes = obs.ListScenes();

            string[] choices = scenes.Where(s => reg.IsMatch(s.Name)).Select(s => s.Name).ToArray();

            var afterVote = new Action <OBSWebsocket, IEnumerable <Tuple <string, int> > >(ChangeObsScene);

            votings.AddVoting(action, choices, config.time, afterVote);

            SetVotingsFromFile(directory, votings);

            return(votings);
        }