Esempio n. 1
0
 public void AddStreamdatatoXML(TwitchStreamData stream)
 {
     try
     {
         xmlprovider.AddStreamdata("twitch", stream);
     }
     catch(Exception ex)
     {
         Console.WriteLine(ex.ToString());
     }
 }
Esempio n. 2
0
        // Twitch Double Game Title Fix
        public bool AddStreamdata(string provider ,TwitchStreamData stream)
        {
            Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
            Thread.CurrentThread.CurrentUICulture = CultureInfo.InvariantCulture;
            bool answer = false;
            try
            {

                if (provider == "twitch")
                {
                    internalStream iSStream;
                    var streams = lStreams.Where(x => x.sChannel.ToLower() == stream.Stream.Channel.Name.ToString().ToLower());
                    if(streams.Count() >0)
                    {
                        iSStream = streams.First();
                        string game = "";
                        if (iSStream.sGame != stream.Stream.Channel.Game.ToString() && stream.Stream.Channel.Game.ToString() != "")
                        {
                            game = stream.Stream.Channel.Game.ToString();
                        }
                        if (iSStream.sGame != stream.Stream.Game.ToString() && stream.Stream.Game.ToString() != "")
                        {
                            game = stream.Stream.Game.ToString();
                        }
                        game = stripNonValidXMLCharacters(game);
                        game = game.Replace(",", "");
                        game = game.Replace(";", "");
                        iSStream.sGame = game;
                        iSStream.sUrl = stream.Stream.Channel.Url;
                        saveFile("streams");
                    }
                }
                answer = true;
            }catch(Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
            return answer;
        }
Esempio n. 3
0
        private void AddNewlyStartedStreams(TwitchRootObject obj)
        {
            if (obj == null || obj.Streams == null || obj.Streams.Count == 0)
                return;

            foreach(var stream in obj.Streams)
            {
                bool globalancounce = false;
                if(_streamData.Keys.Contains(stream.Channel.Name))
                {
                    globalancounce = true;
                }
                bool bTryAddresult = _streamData.TryAdd(stream.Channel.Name, new TwitchStreamData { Started = DateTime.Now, Stream = stream });

                if(bTryAddresult)
                {
                    // Probably helps differentiate between different Game Titles from Response
                    string oldgame = xmlprovider.StreamInfo(stream.Channel.Name, "game");
                    string _game = "";
                    if (oldgame != stream.Channel.Game)
                    {
                        _game = stream.Channel.Game;
                    }
                    if (oldgame != stream.Game)
                    {
                        _game = stream.Game;
                    }
                    var _stream = new DeathmicChatbot.StreamInfo.Stream
                    {
                        Channel = stream.Channel.Name,
                        Game = _game,
                        Message = stream.Channel.Status
                    };
                    var _streamdata = new StreamData
                    {
                        Stream = _stream,
                        Started = DateTime.Now,
                        StreamProvider = this
                    };
                    TwitchStreamData _tstreamdata = new TwitchStreamData();
                    _tstreamdata.Started = DateTime.Now;
                    _tstreamdata.Stream = new DeathmicChatbot.StreamInfo.Twitch.Stream();
                    _tstreamdata.Stream.Channel = new DeathmicChatbot.StreamInfo.Twitch.Channel();
                    _tstreamdata.Stream.Channel.Name = stream.Channel.Name;
                    _tstreamdata.Stream.Channel.Mature = stream.Channel.Mature;
                    _tstreamdata.Stream.Channel.ID = stream.Channel.ID;
                    _tstreamdata.Stream.Channel.Delay = stream.Channel.Delay;
                    _tstreamdata.Stream.Channel.Created_At = stream.Channel.Created_At;
                    _tstreamdata.Stream.Channel.Display_Name = stream.Channel.Display_Name;
                    _tstreamdata.Stream.Channel.Links = stream.Channel.Links;
                    _tstreamdata.Stream.Channel.Profile_Banner = stream.Channel.Profile_Banner;
                    _tstreamdata.Stream.Channel.Url = stream.Channel.Url;
                    _tstreamdata.Stream.Channel.Updated_At = stream.Channel.Updated_At;
                    _tstreamdata.Stream.Game = _game;
                    _tstreamdata.Stream.Channel.Game = _game;

                    AddStreamdatatoXML(_tstreamdata);
                    StreamEventArgs streamEventArgs = new StreamEventArgs(_streamdata);
                    StreamStarted(this, streamEventArgs);
                }
                if(!bTryAddresult && globalancounce)
                {
                    string oldgame = xmlprovider.StreamInfo(stream.Channel.Name, "game");
                    string _game = "";
                    if (oldgame != stream.Channel.Game)
                    {
                        _game = stream.Channel.Game;
                    }
                    if (oldgame != stream.Game)
                    {
                        _game = stream.Game;
                    }

                    var _stream = new DeathmicChatbot.StreamInfo.Stream
                    {
                        Channel = stream.Channel.Name,
                        Game = _game,
                        Message = stream.Channel.Status
                    };
                    var _streamdata = new StreamData
                    {
                        Stream = _stream,
                        Started = DateTime.Now,
                        StreamProvider = this
                    };
                    StreamEventArgs streamEventArgs = new StreamEventArgs(_streamdata);
                    StreamGlobalNotification(this, streamEventArgs);
                }

            }
        }