PubNub Logo Docs
Support Contact Sales Login Try Our APIs

›MESSAGES

Collapse all
Dark mode

Back to Home

Overview

  • In-App Chat

Chat Components

  • Overview
  • REACT

    • React Components

    ANDROID

    • Getting Started
    • UI Components
    • UI Theming
    • Data Components
    • Chat Provider
    • Message Reactions
    • Message Menu

    IOS

    • Getting Started
    • UI Components
    • UI Theming
    • Data Components
    • Chat Provider

SDKs

  • Overview
  • USERS

    • Setup
    • Metadata
    • Permissions
    • Presence
    • Mentions

    CHANNELS

    • Types and Names
    • Metadata
    • Subscriptions
    • Memberships

    MESSAGES

    • Sending Messages
    • Message History
    • Unread Counts
    • File Upload
    • Typing Indicators
    • Read Receipts
    • Emoji Reactions
    • Update Messages
    • Delete Messages
    • External Storage

    PUSH NOTIFICATIONS

    • Overview

    MODERATION

    • Profanity Filters
    • Flag Messages
    • Ban Users
    • Mute Users
    • Spam Prevention

    INTEGRATIONS

    • Overview
    • Content Moderation
    • Image Moderation
    • Language Translation
    • Chatbots
    • GIFs
    • Stickers

Moderation Dashboard

  • Overview
  • Getting Started
  • FEATURES

    • Automatic Text Moderation
    • Automatic Image Moderation
    • Manual Message Moderation
    • Manual User Moderation
    • User Management
    • Channel Management
  • Required Configuration

Debug Console
Network Status

Updating messages

Since PubNub stores all messages in a time-series database, it doesn’t expose an API to directly update a message. However, clients can update messages by passing another version of the message using the Message Actions feature.

Update a message

Use the addMessageAction method to update a published message after it has been published by adding an action to it.

JavaScript
Swift
Java
Unity

Go to SDK

pubnub.addMessageAction(
{
channel: 'main'
messageTimetoken: '15610547826970040',
action: {
type: 'updated',
value: 'Hello World! (fixed typo)',
},
},
function(status, response) {
}
);

Go to SDK

extension MyAppMessageAction: MessageAction {}

let action = MyAppMessageAction(type: "updated", value: "Hello World! (fixed typo)")

pubnub.addMessageAction(
channel: "main",
message: action,
messageTimetoken: 15610547826970040
) { result in
switch result {
case let .success(response):
print("Successfully Message Action Add Response: \(response)")
case let .failure(error):
print("Error from failed response: \(error.localizedDescription)")
}
})

Go to SDK

pubnub.addMessageAction()
.channel("main")
.messageAction(new PNMessageAction()
.setType("updated")
.setValue("Hello World! (fixed typo)")
.setMessageTimetoken(15610547826970040L)
)
.async(new PNCallback<PNAddMessageActionResult>() {
@Override
public void onResponse(PNAddMessageActionResult result, PNStatus status) {
if (!status.isError()) {
System.out.println(result.getType());
System.out.println(result.getValue());
System.out.println(result.getUuid());
System.out.println(result.getActionTimetoken());
System.out.println(result.getMessageTimetoken());
} else {
status.getErrorData().getThrowable().printStackTrace();
}
}
})

Go to SDK

MessageActionAdd messageAct = new MessageActionAdd();
messageAct.ActionType = "updated";
messageAct.ActionValue = "Hello World! (fixed typo)";

pubnub.AddMessageActions().Channel("main").MessageAction(messageAct).MessageTimetoken(15610547826970040).Async((result, status) => {
if (!status.Error) {
Debug.Log("result.ActionTimetoken: " + result.ActionTimetoken);
Debug.Log("result.ActionType: " + result.ActionType);
Debug.Log("result.ActionValue: " + result.ActionValue);
Debug.Log("result.MessageTimetoken: " + result.MessageTimetoken);
Debug.Log("result.UUID: " + result.UUID);
} else {
Debug.Log(status.Error);
Debug.Log(status.ErrorData.Info);
}
});

Message update event

PubNub triggers events when messages are updated using message actions. Clients subscribed to the channel will receive these events.

{
   "channel":"main",
   "subscription":null,
   "timetoken":"15610547826970040",
   "publisher":"user-1",
   "message":{
      "source":"actions",
      "version":"1.0",
      "action":"added",
      "data":{
         "type":"updated",
         "value":"Hello World! (fixed typo)",
         "messageTimetoken":"15610547826970040",
         "actionTimetoken":"15610547826999081"
      }
   }
}
←Emoji ReactionsDelete Messages→
  • Update a message
  • Message update event
© PubNub Inc. - Privacy Policy