Example #1
0
        public void Edit(IUser editor, IMessage message, string text = null)
        {
            if (editor == null)
            {
                throw new ArgumentNullException(nameof(editor));
            }
            if (message == null)
            {
                throw new ArgumentNullException(nameof(message));
            }

            if (text == null)
            {
                return;
            }
            if (string.IsNullOrWhiteSpace(text))
            {
                throw new ArgumentException(@"Provided text is empty.", nameof(text));
            }
            if (text.Length > TextMaxLength)
            {
                throw new ArgumentException(@"Provided text is too long.", nameof(text));
            }

            lock (Sync) {
                MessageUpdateEvent mue = new MessageUpdateEvent(message, editor, text);
                if (message is IEventHandler meh)
                {
                    meh.HandleEvent(this, mue);
                }
                Dispatcher.DispatchEvent(this, mue);
            }
        }
Example #2
0
 private void UpdateMessage(MessageUpdateEvent mue)
 {
     Wrapper.RunCommand(
         @"UPDATE `sqc_messages` SET `msg_text` = @text, `msg_edited` = " + Wrapper.FromUnixTime(@"@edited") + @" WHERE `msg_id` = @id",
         Wrapper.CreateParam(@"text", mue.Text),
         Wrapper.CreateParam(@"edited", mue.DateTime.ToUnixTimeSeconds()),
         Wrapper.CreateParam(@"id", mue.MessageId)
         );
 }
Example #3
0
 public void Enrich(Scope scope, int shardId, MessageUpdateEvent evt)
 {
     scope.AddBreadcrumb(evt.Content.Value ?? "<unknown>", "event.messageEdit",
                         data: new Dictionary <string, string>
     {
         { "channel", evt.ChannelId.ToString() },
         { "guild", evt.GuildId.Value.ToString() },
         { "message", evt.Id.ToString() }
     });
     scope.SetTag("shard", shardId.ToString());
 }
 private void UpdateMessage(object sender, MessageUpdateEvent mue)
 {
     lock (Sync)
         Messages.FirstOrDefault(m => m.MessageId == mue.MessageId)?.HandleEvent(sender, mue);
 }
Example #5
0
 public MessageDeletePacket(MessageUpdateEvent mue)
 {
     MessageId = (mue ?? throw new ArgumentNullException(nameof(mue))).MessageId;
 }