Esempio n. 1
0
        public void HandlesValidChannelMarked()
        {
            var channels = new List <Channel>
            {
                new Channel {
                    Id = "CHANID1"
                },
                new Channel {
                    Id = "CHANID2", LastRead = "1000"
                }
            };

            var mockState = SetupChannelsMock(channels);

            var message = new ChannelMarked
            {
                Type    = EventType.ChannelMarked,
                Channel = "CHANID2",
                Ts      = "1001"
            };

            RunHandler(message, mockState);

            Assert.Equal(2, channels.Count);
            Assert.Equal("1001", channels.First(c => c.Id == "CHANID2").LastRead);
        }
Esempio n. 2
0
 /// <summary>
 /// Your channel read marker was updated
 /// </summary>
 /// <param name="m"></param>
 public void ChannelMarked(ChannelMarked m)
 {
     if (OnChannelMarked != null)
     {
         OnChannelMarked(m, this);
     }
 }
Esempio n. 3
0
        private void ChannelMarked(ChannelMarked message)
        {
            var channel = base.BotState.Channels.FirstOrDefault(c => c.Id == message.Channel);

            if (channel == null)
            {
                return;
            }

            channel.LastRead = message.Ts;
        }
Esempio n. 4
0
        private void OnChannelMarked(ChannelMarked message)
        {
            this.Logger.Debug($"Received => Type: {message.type} - SubType: {message.subtype} - Channel: {this.GetReadableName(message.channel)} - Raw: {this.GetRawMessage(message)}");

            if (this.ShouldMonitor(message.channel))
            {
                var channel             = message.type == "channel_marked" ? this.Client.ChannelLookup[message.channel] : this.Client.GroupLookup[message.channel];
                var channelNotification = this.channelsInfo[channel];

                this.GetHistoryMethod(channel)(
                    x =>
                {
                    var messages = x.messages.Where(y => y.ts > message.ts).ToArray();
                    channelNotification.UnreadMessage = messages.Count(this.IsRegularMessage);
                    channelNotification.UnreadMention = messages.Count(y => this.IsRegularMessage(y) && this.HasMention(this.GetRawMessage(y)));
                    this.UpdateStatus();
                },
                    channel, null, message.ts, HistoryItemsToFetch);
            }
            else
            {
                this.Logger.Debug("Message dropped");
            }
        }
Esempio n. 5
0
 public void ChannelMarked(ChannelMarked m)
 {
 }
Esempio n. 6
0
 public void HandleChannelMarked(ChannelMarked m)
 {
 }