예제 #1
0
        public static void Setup(ChannelsData channelsData)
        {
            string enqueue = BackgroundJob.Enqueue(() => SetupChannel(channelsData.MasterChannel));

            foreach (ChannelData channelData in channelsData.Channels)
            {
                enqueue = BackgroundJob.ContinueWith(enqueue, () => SetupChannel(channelData));
            }
        }
예제 #2
0
        private List <AutomaticOverviewEntry> GetAutomaticEntries()
        {
            List <AutomaticOverviewEntry> returnval = new List <AutomaticOverviewEntry>();
            ChannelsData loadFromDataBase           = DataBaseObjectStorage.LoadFromDataBase(ChannelsData.CreateNew);

            foreach (ChannelData channel in loadFromDataBase.Channels)
            {
                returnval.AddRange(GetAutomaticEntries(channel, channel));
            }

            return(returnval);
        }
예제 #3
0
        static void Main(string[] args)
        {
            Console.Title = "TwitchRerun";

            if (!File.Exists("Users.json"))
            {
                LogError($"Criando arquivo de configuração de Usuario");
                haveConfig = false;
                UserData UserSample = new UserData();
                UserSample.Username = "******";
                UserSample.Token    = "ExampleToken";
                UserData[] UserList = new UserData[] { UserSample };

                using (var tw = new StreamWriter("Users.json", true))
                {
                    tw.WriteLine(Utils.Serialize.ToJson(UserList));
                }
            }

            if (!File.Exists("Channels.json"))
            {
                LogError($"Criando arquivo de configuração de Canais");
                haveConfig = false;

                ChannelsData ChannelSample = new ChannelsData();
                ChannelSample.Channels = new string[] { "Gaules", "StreamieBR" };

                using (var tw = new StreamWriter("Channels.json", true))
                {
                    tw.WriteLine(QuickType.Serialize.ToJson(ChannelSample));
                }
            }

            if (!haveConfig)
            {
                LogError($"Por favor feche o programa e configure os arquivos de Users.Json e Channels.Json");
                Console.ReadKey();
            }


            var userData = UserData.FromJson(File.ReadAllText("Users.json"));

            var channelsData = ChannelsData.FromJson(File.ReadAllText("Channels.json"));

            foreach (UserData user in userData)
            {
                foreach (string idx in channelsData.Channels)
                {
                    Bot bot = new Bot(user.Username, user.Token, idx);
                    BotManager.Add(bot);
                }
            }


            new Thread(delegate()
            {
                while (true)
                {
                    var commandArgs = Console.ReadLine()?.Split(' ').ToList();

                    if (commandArgs == null)
                    {
                        continue;
                    }

                    var commandRoot = commandArgs[0];
                    commandArgs.RemoveAt(0);

                    switch (commandRoot)
                    {
                    case "message":
                    case "msg":
                        if (commandArgs.Count > 1)
                        {
                            string msgConcat = "";
                            for (int idx = 0; idx < commandArgs.Count; idx++)
                            {
                                msgConcat = msgConcat + commandArgs[idx] + " ";
                            }

                            SendMessageTo(commandArgs[0], msgConcat);
                        }
                        else
                        {
                            SendMessageToAll(commandArgs[0]);
                        }
                        break;

                    case "clear":
                    case "cls":
                        Console.Clear();
                        break;

                    default:
                        LogError($"No command matching '{commandRoot}', please enter a valid command.");
                        break;
                    }
                }
            }).Start();
        }
예제 #4
0
 public ActionResult Put([FromBody] ChannelsData channelsDatalDataData)
 {
     DataBaseObjectStorage.SaveToDataBase(channelsDatalDataData);
     AutomaticScheduler.Setup(channelsDatalDataData);
     return(NoContent());
 }