Example #1
0
        public void When(MessageEdited created)
        {
            var displayMessage = Messages[created.MessageId];

            Messages[created.MessageId] =
                displayMessage.Edit(created.NewContents, created.Time);
        }
Example #2
0
 private void OnMessageEdited(MessageViewModel message, int chatId)
 {
     MessageEdited?.Invoke(this, new MessageEditedEventArgs()
     {
         Message = message,
         ChatId  = chatId
     });
 }
Example #3
0
        public async Task OnMessageEdited(Cacheable <IMessage, ulong> messageBefore, SocketMessage messageAfter, ISocketMessageChannel channel)
        {
            var method = new MessageEdited(Client, Config, MessageCache);
            var result = await method.ProcessAsync(messageBefore, messageAfter, channel).ConfigureAwait(false);

            if (result)
            {
                IncrementEventHandle("MessageEdited");
            }
        }
Example #4
0
        public async Task OnMessageEdited(Cacheable <IMessage, ulong> messageBefore, SocketMessage messageAfter, ISocketMessageChannel channel)
        {
            if (!CanProcessEvent("MessageEdited"))
            {
                return;
            }

            var method = new MessageEdited(Client, Config, MessageCache);
            var result = await method.ProcessAsync(messageBefore, messageAfter, channel).ConfigureAwait(false);

            if (result)
            {
                EventPostProcess("MessageEdited");
            }
        }
Example #5
0
        public static MessageEdited AddMessageEditedEventHandler <T>(
            this RoomWatcher <T> rw,
            Action <EditedMessage> callback)
            where T : IWebSocket
        {
            callback.ThrowIfNull(nameof(callback));

            var eventProcessor = new MessageEdited();

            eventProcessor.OnEvent += callback;

            rw.EventRouter.AddProcessor(eventProcessor);

            return(eventProcessor);
        }
Example #6
0
        public void Consume(MessageEdited message)
        {
            Trace.TraceInformation("DENORMALIZING MESSAGE EDITED EVENT {0}[{1}]...", message.Message, message.Id);

            MyMessageContext context = contextFactory();

            storage.UpdateEntity <MessageView>(message.Id, v =>
            {
                v.Context         = context;
                v.Message         = message.Message;
                v.UtcLastModified = message.UtcEdited;
            });

            storage.UpdateSingleton <MessageIndex>(i => { i.Messages[message.Id] = message.Message; });
        }
Example #7
0
        public static MessageEdited AddMessageEditedEventHandler <T>(
            this RoomWatcher <T> rw,
            Action <Chat.Message,
                    Chat.User> callback)
            where T : IWebSocket
        {
            callback.ThrowIfNull(nameof(callback));

            var eventProcessor = new MessageEdited();

            eventProcessor.OnEvent += me =>
            {
                Chat.Message message = null;
                Chat.User    user    = null;

                var tasks = new[]
                {
                    Task.Run(() =>
                    {
                        message = new Chat.Message(rw.Host, me.Message, rw.Auth);
                    }),
                    Task.Run(() =>
                    {
                        user = new Chat.User(rw.Host, me.EditedBy, rw.Auth);
                    })
                };

                Task.WaitAll(tasks);

                callback(message, user);
            };

            rw.EventRouter.AddProcessor(eventProcessor);

            return(eventProcessor);
        }
Example #8
0
 protected void Apply(MessageEdited e)
 {
     message      = e.Message;
     lastModified = e.UtcEdited;
 }
Example #9
0
 public Task When(MessageEdited @event) =>
 React(@event.ChannelId, h => h.When(@event), @event.Position);
 public void Consume(MessageEdited message)
 {
     Trace.TraceInformation("UPDATING REPORTING DB FOR MESSAGE {0}[{1}]...", message.Message, message.Id);
 }