mirror of
https://github.com/zulip/zulip.git
synced 2026-06-24 21:08:25 +08:00
In templates/zerver/api/update-message.md, we have a sample fixture for when a zulip.Client does not have the permission to update/edit a particular message. This commit adds a test for that fixture. Also, tools/test-api now also uses a non-admin client for this test, which might come in handy in the future.
1.8 KiB
1.8 KiB
Update a message
Edit/update the content or topic of a message.
PATCH {{ api_url }}/v1/messages/<msg_id>
<msg_id> in the above URL should be replaced with the ID of the
message you wish you update.
Usage examples
- Python
- JavaScript
- curl
curl -X "PATCH" {{ api_url }}/v1/messages/<msg_id> \
-u BOT_EMAIL_ADDRESS:BOT_API_KEY \
-d "content=New content"
{generate_code_example(python)|update-message|example}
More examples and documentation can be found [here](https://github.com/zulip/zulip-js).
```js
const zulip = require('zulip-js');
// Download zuliprc-dev from your dev server const config = { zuliprc: 'zuliprc-dev', };
zulip(config).then((client) => { // Update a message const params = { message_id: 131, content: 'New Content', }
client.messages.update(params).then(console.log);
});
</div>
</div>
</div>
## Permissions
You only have permission to edit a message if:
1. You sent it, **OR**:
2. This is a topic-only edit for a (no topic) message, **OR**:
3. This is a topic-only edit and you are an admin.
## Arguments
{generate_api_arguments_table|arguments.json|update-message.md}
## Response
#### Example response
A typical successful JSON response may look like:
{generate_code_example|update-message|fixture}
A typical JSON response for when one doesn't have the permission to
edit a particular message:
{generate_code_example|update-message-edit-permission-error|fixture}