public ChatConfig Clone() { var clone = new ChatConfig() { ChatName = this.ChatName, Enabled = this.Enabled, IconURL = this.IconURL, HideViewersCounter = this.HideViewersCounter, Parameters = new List <ConfigField>() }; foreach (var param in this.Parameters.ToList()) { clone.Parameters.Add(param); } return(clone); }
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>(); }
private void RefreshChatSettings(ChatConfig defaultChatConfig) { var savedConfig = Ubiquitous.Default.Config.ChatConfigs.Where(config => config.ChatName == defaultChatConfig.ChatName).FirstOrDefault(); //Chat config is missing if (savedConfig == null) { Ubiquitous.Default.Config.ChatConfigs.Add(defaultChatConfig); } else { var backupParameters = savedConfig.Parameters.ToList(); savedConfig.Parameters.Clear(); foreach (var parameter in defaultChatConfig.Parameters.ToList()) { if (backupParameters.Any(p => p.Name.Equals(parameter.Name, StringComparison.InvariantCulture))) { parameter.Value = backupParameters.FirstOrDefault(p => p.Name.Equals(parameter.Name, StringComparison.InvariantCulture)).Value; } savedConfig.Parameters.Add(parameter); } } }
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(); }
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>(); }
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>(); }