Send new chat message
The difference between chat.postMessage
and chat.sendMessage
is that chat.sendMessage
allows
for passing a value for _id
and the other one doesn’t. Also, chat.sendMessage
only sends it to
one channel whereas the other one allows for sending to more than one channel at a time.
URL | Requires Auth | HTTP Method |
---|---|---|
/api/v1/chat.sendMessage |
yes |
POST |
Payload
Argument | Example | Required | Description |
---|---|---|---|
message._id |
ByehQjC44FwMeiLbX |
Required |
The _id of message. |
message.rid |
ByehQjC44FwMeiLbX |
Required |
The room id of where the message is to be sent. |
message.msg |
Sample message |
Optional | The text of the message to send, is optional because of attachments. |
message.alias |
Some Name |
Optional | This will cause the message’s name to appear as the given alias, but your username will still display. |
message.emoji |
:smirk: |
Optional | If provided, this will make the avatar on this message be an emoji. Emoji Cheetsheet |
message.avatar |
http://site.com/logo.png |
Optional | If provided, this will make the avatar use the provided image url. |
message.attachments |
[{}] |
Optional | See the below section, Attachments Detail, for details. |
Attachments Detail
The attachments is an array of objects with any of the following properties. One attachment can have many sections, including:
- General
- Author Information
- Title Information
- Image
- Audio
- Video
- Table/Fields
Property | Example | Section | Description |
---|---|---|---|
color |
#ff0000 |
General | The color you want the order on the left side to be, any value background-css supports. |
text |
Sample attachment text |
General | The text to display for this attachment, it is different than the message’s text. |
ts |
2016-12-09T16:53:06.761Z |
General | Displays the time next to the text portion. |
thumb_url |
https://site.com/img.png |
General | An image that displays to the left of the text , looks better when this is relatively small. |
message_link |
https://pimenta.chat |
General | Only applicable if the ts is provided, as it makes the time clickable to this link. |
collapsed |
false |
General | Causes the image, audio, and video sections to be hiding when collapsed is true. |
author_name |
Bradley Hilton |
Author | Name of the author. |
author_link |
https://bit.ly/ |
Author | Providing this makes the author name clickable and points to this link. |
author_icon |
https://site.com/img.png |
Author | Displays a tiny icon to the left of the Author’s name. |
title |
Attachment Title |
Title | Title to display for this attachment, displays under the author. |
title_link |
https://youtube.com |
Title | Providing this makes the title clickable, pointing to this link. |
title_link_download |
true |
Title | When this is true, a download icon appears and clicking this saves the link to file. |
image_url |
https://site.com/img.png |
Image | The image to display, will be “big” and easy to see. |
audio_url |
https://site.com/aud.mp3 |
Audio | Audio file to play, only supports what html audio does. |
video_url |
https://site.com/vid.mp4 |
Video | Video file to play, only supports what html video does. |
fields |
[{}] |
Fields | An array of Attachment Field Objects. |
Attachment Field Objects
The field property of the attachments allows for “tables” or “columns” to be displayed on messages.
Property | Example | Required | Description |
---|---|---|---|
short |
true | Optional Default: false |
Whether this field should be a short field. |
title |
Status |
Required | The title of this field. |
value |
online |
Required | The value of this field, displayed underneath the title value. |
Message Object Example
{
"message": {
"rid": "Xnb2kLD2Pnhdwe3RH",
"msg": "Sample message",
"alias": "Gruggy",
"emoji": ":smirk:",
"avatar": "http://res.guggy.com/logo_128.png",
"attachments": [{
"color": "#ff0000",
"text": "Yay for gruggy!",
"ts": "2016-12-09T16:53:06.761Z",
"thumb_url": "http://res.guggy.com/logo_128.png",
"message_link": "https://google.com",
"collapsed": false,
"author_name": "Bradley Hilton",
"author_link": "https://pimenta.chat/",
"author_icon": "https://avatars.githubusercontent.com/u/850391?v=3",
"title": "Attachment Example",
"title_link": "https://youtube.com",
"title_link_download": true,
"image_url": "http://res.guggy.com/logo_128.png",
"audio_url": "http://www.w3schools.com/tags/horse.mp3",
"video_url": "http://www.w3schools.com/tags/movie.mp4",
"fields": [{
"short": true,
"title": "Test",
"value": "Testing out something or other"
},{
"short": true,
"title": "Another Test",
"value": "[Link](https://google.com/) something and this and that."
}]
}]
}
}
Example Call
curl -H "X-Auth-Token: 9HqLlyZOugoStsXCUfD_0YdwnNnunAJF8V47U3QHXSq" \
-H "X-User-Id: aobEdbYhXfu5hkeqG" \
-H "Content-type:application/json" \
http://localhost:3000/api/v1/chat.sendMessage \
-d '{"message": { "rid": "Xnb2kLD2Pnhdwe3RH", "msg": "This is a test!" }}'
Example Result
{
"message": {
"rid": "GENERAL",
"msg": "123456789",
"ts": "2018-03-01T18:02:26.825Z",
"u": {
"_id": "i5FdM4ssFgAcQP62k",
"username": "pimenta.bot",
"name": "test"
},
"unread": true,
"mentions": [],
"channels": [],
"_updatedAt": "2018-03-01T18:02:26.828Z",
"_id": "LnCSJxxNkCy6K9X8X"
},
"success": true
}
Change Log
Version | Description |
---|---|
0.60.0 | Added |