Exemple #1
0
        public TwitchChat(ChatConfig config)
            : base(config)
        {
            EmoticonUrl         = "http://api.twitch.tv/kraken/chat/emoticons";
            EmoticonFallbackUrl = @"Content\twitchemoticons.json";

            ReceiveOwnMessages = true;
            AnonymousNickName  = "justinfan" + random.Next(1000000, 9999999).ToString();
            NickName           = AnonymousNickName;

            CreateChannel = () => { return(new TwitchChannel(this)); };

            ContentParsers.Add(MessageParser.ParseURLs);
            ContentParsers.Add(MessageParser.ParseEmoticons);

            Info = new StreamInfo()
            {
                HasDescription = false,
                HasGame        = true,
                HasTopic       = true,
                ChatName       = Config.ChatName,
            };

            Games = new ObservableCollection <Game>();

            ChatUsers = new SmartCollection <ChatUser>();
        }
Exemple #2
0
        public void ReadMessage(ChatMessage message)
        {
            if (MessageReceived != null)
            {
                var original = message.Text;
                Log.WriteInfo("Original string:{0}", message.Text);
                if (ContentParsers != null)
                {
                    var number = 1;
                    if (!message.IsParsed)
                    {
                        ContentParsers.ForEach(parser =>
                        {
                            parser(message, this);
                            if (original != message.Text)
                            {
                                Log.WriteInfo("After parsing with {0}: {1}", number, message.Text);
                            }
                            number++;
                        });
                        message.IsParsed = true;
                    }
                }
                if (message.FromUserName.Equals(NickName, StringComparison.InvariantCultureIgnoreCase))
                {
                    message.IsSentByMe = true;
                }

                MessageReceived(this, new ChatServiceEventArgs()
                {
                    Message = message
                });
            }
        }
Exemple #3
0
        public YoutubeChat(ChatConfig config)
            : base(config)
        {
            EmoticonFallbackUrl = @"Content\youtube-emoji.css";
            EmoticonUrl         = "https://s.ytimg.com/yts/cssbin/www-livestreaming_chat_emoji-webp-vflZqACWb.css";

            CreateChannel = () => { return(new YoutubeChannel(this)); };

            ReceiveOwnMessages     = true;
            JoinByNickName         = false;
            IsChannelCaseSensitive = true;

            //ContentParsers.Add(MessageParser.ParseURLs);
            ContentParsers.Add(MessageParser.ParseEmoji);
        }
Exemple #4
0
    public Sc2TvChat(ChatConfig config)
        : base(config)
    {
        EmoticonUrl         = "http://chat.sc2tv.ru/js/smiles.js";
        EmoticonFallbackUrl = AppDomain.CurrentDomain.GetData("DataDirectory") + @"\Scripts\Example\Sc2TvSmilesFallback.js";

        CreateChannel = () => { return(new Sc2TvChannel(this)); };

        ReceiveOwnMessages = false;

        ContentParsers.Add(MessageParser.RemoveBBCode);
        ContentParsers.Add(MessageParser.UnescapeHtml);
        ContentParsers.Add(MessageParser.ParseURLs);
        ContentParsers.Add(MessageParser.ParseEmoticons);

        LoginWebClient = new WebClientBase();
    }
Exemple #5
0
        public CybergameChat(ChatConfig config) : base(config)
        {
            EmoticonFallbackUrl = @"Content\cybergame_smiles.html";
            EmoticonUrl         = "http://cybergame.tv/cgchat.htm?v=b";

            CreateChannel      = () => { return(new CybergameChannel(this)); };
            ReceiveOwnMessages = true;

            ContentParsers.Add(MessageParser.ParseURLs);
            ContentParsers.Add(MessageParser.ParseEmoticons);
            Info = new StreamInfo()
            {
                HasDescription = false,
                HasGame        = true,
                HasTopic       = true,
                ChatName       = Config.ChatName,
            };


            Games = new ObservableCollection <Game>();
        }
Exemple #6
0
        public GamingLiveChat(ChatConfig config) : base(config)
        {
            CreateChannel = () => { return(new GamingLiveChannel(this)); };

            AnonymousNickName = "__$anonymous";
            NickName          = AnonymousNickName;

            ContentParsers.Add(MessageParser.ParseURLs);
            ContentParsers.Add(MessageParser.ParseSimpleImageTags);

            Info = new StreamInfo()
            {
                HasDescription = false,
                HasGame        = true,
                CurrentGame    = new Game(),
                HasTopic       = true,
                ChatName       = Config.ChatName,
            };

            Games = new ObservableCollection <Game>();

            GetGameList();
        }
Exemple #7
0
        public GoodgameChat(ChatConfig config)
            : base(config)
        {
            EmoticonUrl         = @"http://goodgame.ru/css/compiled/smiles.css";
            EmoticonFallbackUrl = @"Content\goodgame_smiles.css";

            CreateChannel = () => { return(new GoodgameChannel(this)); };

            ContentParsers.Add(MessageParser.GoodgameTrash);
            ContentParsers.Add(MessageParser.ConvertToPlainText);
            ContentParsers.Add(MessageParser.ParseURLs);
            ContentParsers.Add(MessageParser.ParseEmoticons);

            Info = new StreamInfo()
            {
                HasDescription = false,
                HasGame        = true,
                HasTopic       = true,
                ChatName       = Config.ChatName,
            };

            Games = new ObservableCollection <Game>();
        }
Exemple #8
0
        public HitboxChat(ChatConfig config) : base(config)
        {
            EmoticonUrl         = "https://www.hitbox.tv/api/chat/icons/UnknownSoldier";
            EmoticonFallbackUrl = @"Content\hitboxemoticons.json";

            AnonymousNickName = "UnknownSoldier";
            NickName          = AnonymousNickName;

            CreateChannel = () => { return(new HitboxChannel(this)); };

            ContentParsers.Add(MessageParser.RemoveRedundantTags);
            ContentParsers.Add(MessageParser.ParseURLs);
            ContentParsers.Add(MessageParser.ParseSpaceSeparatedEmoticons);

            Info = new StreamInfo()
            {
                HasDescription = false,
                HasGame        = true,
                HasTopic       = true,
                ChatName       = Config.ChatName,
            };
            ChatUsers = new SmartCollection <ChatUser>();
            Games     = new ObservableCollection <Game>();
        }