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); } }
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) ); }
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); }
public MessageDeletePacket(MessageUpdateEvent mue) { MessageId = (mue ?? throw new ArgumentNullException(nameof(mue))).MessageId; }