private async Task Client_MessageReceived(IMessage arg) { if (arg.Channel.Id == TextChannel.Id && DiscordWindow.selectedTextChannel != TextChannel && !TextChannel.IsMuted()) { await Dispatcher.InvokeAsync(() => Foreground = Brushes.Red); } }
public ChannelViewer(ITextChannel txtChan = null, IVoiceChannel voiceChan = null) { InitializeComponent(); if (txtChan != null) { channelIcon.Icon = FontAwesomeIcon.Hashtag; channelName.Text = txtChan.Name; TextChannel = txtChan; App.DiscordWindow.Client.MessageReceived += Client_MessageReceived; ContextMenu = new ContextMenu(); MenuItem mute = new MenuItem(); mute.Header = $"Mute #{txtChan.Name}"; mute.IsCheckable = true; mute.IsChecked = txtChan.IsMuted(); mute.Unchecked += (o, e) => { App.Config.MutedChannels.Remove(txtChan.Id); App.Config.Save(); ChangeTheme(); }; mute.Checked += (o, e) => { App.Config.MutedChannels.Add(txtChan.Id); App.Config.Save(); ChangeTheme(); }; ContextMenu.Items.Add(mute); } else if (voiceChan != null) { channelIcon.Icon = FontAwesomeIcon.VolumeUp; channelName.Text = voiceChan.Name; VoiceChannel = voiceChan; } ChangeTheme(); App.DiscordWindow.Client.ChannelUpdated += Client_ChannelUpdated; App.DiscordWindow.Client.ChannelDestroyed += Client_ChannelDestroyed; }