private async Task Process(ChangeTopic changeTopic) { Channel chan; if (JoinedChannels.TryGetValue(changeTopic.ChannelName, out chan)) { chan.Topic = changeTopic.Topic; } ChannelTopicChanged(this, changeTopic); }
void TasClient_ChannelTopicChanged(object sender, ChangeTopic changeTopic) { if (ChannelName == changeTopic.ChannelName) { var channel = Program.TasClient.JoinedChannels[ChannelName]; DateTime? lastChange; Program.Conf.Topics.TryGetValue(channel.Name, out lastChange); var topicLine = new TopicLine(channel.Topic.Text, channel.Topic.SetBy, channel.Topic.SetDate); topicBox.Reset(); topicBox.AddLine(topicLine); if (channel.Topic != null && lastChange != channel.Topic.SetDate) IsTopicVisible = true; else IsTopicVisible = false; } }