Slack v0.23.5 Slack.Web.Chat View Source
Link to this section Summary
Functions
Deletes a message
Retrieve a permalink URL for a specific extant message
Sends an ephemeral message to a channel
Sends a message to a channel
Schedules a message to be sent to a channel
Updates a message
Link to this section Functions
Link to this function
delete(channel, ts, optional_params \\ %{}) View Source
Deletes a message.
Required Params
channel
- Channel containing the message to be deleted.ts
- Timestamp of the message to be deleted. ex:1405894322.002768
Errors the API can return:
cant_delete_message
- Authenticated user does not have permission to delete this message.channel_not_found
- Value passed forchannel
was invalid.compliance_exports_prevent_deletion
- Compliance exports are on, messages can not be deletedmessage_not_found
- No message exists with the requested timestamp.
Link to this function
get_permalink(channel, message_ts, optional_params \\ %{}) View Source
Retrieve a permalink URL for a specific extant message.
Required Params
channel
- The ID of the conversation or channel containing the message.message_ts
- A message's ts value, uniquely identifying it within a channel. ex:1405894322.002768
Optional Params
token
- ex:xxxx-xxxxxxxxx-xxxx
Errors the API can return:
channel_not_found
- Value passed forchannel
was invalid.message_not_found
- No message exists with the requested timestamp.
Link to this function
post_ephemeral(channel, text, user, optional_params \\ %{}) View Source
Sends an ephemeral message to a channel.
Required Params
channel
- Channel, private group, or IM channel to send message to. Can be an encoded ID, or a name. See below for more details.text
- Text of the message to send. See below for an explanation of formatting. ex:Hello world
user
-id
of the user who will receive the ephemeral message. The user should be in the channel specified by thechannel
argument.
Optional Params
as_user
- Pass true to post the message as the authed user, instead of as a bot. Defaults to false. See authorship below. ex:true
attachments
- Structured message attachments. ex:[{"pretext": "pre-hello", "text": "text-world"}]
blocks
- A JSON-based array of structured blocks, presented as a URL-encoded string ex:[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]
link_names
- Find and link channel names and usernames. ex:1
parse
- Change how messages are treated. Defaults tonone
. See below. ex:full
Errors the API can return:
channel_not_found
- Value passed forchannel
was invalid.is_archived
- Channel has been archived.msg_too_long
- Message text is too longno_text
- No message text providedrate_limited
- Application has posted too many messages, read the Rate Limit documentation for more informationuser_not_in_channel
- Cannot post user messages to a channel they are not in.
Link to this function
post_message(channel, text, optional_params \\ %{}) View Source
Sends a message to a channel.
Required Params
channel
- Channel, private group, or IM channel to send message to. Can be an encoded ID, or a name. See below for more details.text
- Text of the message to send. See below for an explanation of formatting. ex:Hello world
Optional Params
as_user
- Pass true to post the message as the authed user, instead of as a bot. Defaults to false. See authorship below. ex:true
attachments
- Structured message attachments. ex:[{"pretext": "pre-hello", "text": "text-world"}]
blocks
- A JSON-based array of structured blocks, presented as a URL-encoded string ex:[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]
icon_emoji
- emoji to use as the icon for this message. Overridesicon_url
. Must be used in conjunction withas_user
set to false, otherwise ignored. See authorship below. ex::chart_with_upwards_trend:
icon_url
- URL to an image to use as the icon for this message. Must be used in conjunction withas_user
set to false, otherwise ignored. See authorship below. ex:http://lorempixel.com/48/48
link_names
- Find and link channel names and usernames. ex:1
parse
- Change how messages are treated. Defaults tonone
. See below. ex:full
unfurl_links
- Pass true to enable unfurling of primarily text-based content. ex:true
unfurl_media
- Pass false to disable unfurling of media content. ex:false
username
- Set your bot's user name. Must be used in conjunction withas_user
set to false, otherwise ignored. See authorship below. ex:My Bot
Errors the API can return:
channel_not_found
- Value passed forchannel
was invalid.is_archived
- Channel has been archived.msg_too_long
- Message text is too longno_text
- No message text providednot_in_channel
- Cannot post user messages to a channel they are not in.rate_limited
- Application has posted too many messages, read the Rate Limit documentation for more information
Link to this function
schedule_message(channel, post_at, token, optional_params \\ %{}) View Source
Schedules a message to be sent to a channel.
Required Params
channel
- Channel, private group, or DM channel to send message to. Can be an encoded ID, or a name. ex:C1234567890
post_at
- Unix EPOCH timestamp of time in future to send the message. ex:299876400
token
- Authentication token bearing required scopes. ex:xxxx-xxxxxxxxx-xxxx
Optional Params
as_user
- Pass true to post the message as the authed user, instead of as a bot. Defaults to false. Seechat.postMessage
. ex:true
attachments
- A JSON-based array of structured attachments, presented as a URL-encoded string. ex:[{"pretext": "pre-hello", "text": "text-world"}]
blocks
- A JSON-based array of structured blocks, presented as a URL-encoded string. ex:[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]
link_names
- Find and link channel names and usernames. ex:true
parse
- Change how messages are treated. Defaults to none. Seechat.postMessage
. ex:full
reply_broadcast
- Used in conjunction withthread_ts
and indicates whether reply should be made visible to everyone in the channel or conversation. Defaults tofalse
. ex:true
thread_ts
- Provide another message'sts
value to make this message a reply. Avoid using a reply'sts
value; use its parent instead. ex:1234567890.123456
unfurl_links
- Pass true to enable unfurling of primarily text-based content. ex:true
unfurl_media
- Pass false to disable unfurling of media content. ex:false
Errors the API can return:
account_inactive
- Authentication token is for a deleted user or workspace.channel_not_found
- Value passed forchannel
was invalid.ekm_access_denied
- Administrators have suspended the ability to post a message.fatal_error
- The server could not complete your operation(s) without encountering a catastrophic error. It's possible some aspect of the operation succeeded before the error was raised.invalid_arg_name
- The method was passed an argument whose name falls outside the bounds of accepted or expected values. This includes very long names and names with non-alphanumeric characters other than _. If you get this error, it is typically an indication that you have made a very malformed API call.invalid_arguments
- The method was called with invalid arguments.invalid_auth
- Some aspect of authentication cannot be validated. Either the provided token is invalid or the request originates from an IP address disallowed from making the request.invalid_charset
- The method was called via aPOST
request, but thecharset
specified in theContent-Type
header was invalid. Valid charset names are:utf-8
iso-8859-1
.invalid_form_data
- The method was called via aPOST
request withContent-Type
application/x-www-form-urlencoded
ormultipart/form-data
, but the form data was either missing or syntactically invalid.invalid_post_type
- The method was called via aPOST
request, but the specifiedContent-Type
was invalid. Valid types are:application/json
application/x-www-form-urlencoded
multipart/form-data
text/plain
.invalid_time
- value passed forpost_time
was invalid.is_archived
- Channel has been archived.missing_post_type
- The method was called via aPOST
request and included a data payload, but the request did not include aContent-Type
header.missing_scope
- The token used is not granted the specific scope permissions required to complete this request.msg_too_long
- Message text is too longno_permission
- The workspace token used in this request does not have the permissions necessary to complete the request. Make sure your app is a member of the conversation it's attempting to post a message to.no_text
- No message text providednot_authed
- No authentication token provided.not_in_channel
- Cannot post user messages to a channel they are not in.org_login_required
- The workspace is undergoing an enterprise migration and will not be available until migration is complete.rate_limited
- Application has posted too many messages, read the Rate Limit documentation for more informationrequest_timeout
- The method was called via aPOST
request, but thePOST
data was either missing or truncated.restricted_action
- A workspace preference prevents the authenticated user from posting.restricted_action_non_threadable_channel
- Cannot post thread replies into a non_threadable channel.restricted_action_read_only_channel
- Cannot post any message into a read-only channel.restricted_action_thread_only_channel
- Cannot post top-level messages into a thread-only channel.team_added_to_org
- The workspace associated with your request is currently undergoing migration to an Enterprise Organization. Web API and other platform operations will be intermittently unavailable until the transition is complete.time_in_past
- value passed forpost_time
was in the past.time_too_far
- value passed forpost_time
was too far into the future.token_revoked
- Authentication token is for a deleted user or workspace or the app has been removed.too_many_attachments
- Too many attachments were provided with this message. A maximum of 100 attachments are allowed on a message.
Link to this function
update(channel, text, ts, optional_params \\ %{}) View Source
Updates a message.
Required Params
channel
- Channel containing the message to be updated.text
- New text for the message, using the default formatting rules. ex:Hello world
ts
- Timestamp of the message to be updated. ex:1405894322.002768
Optional Params
as_user
- Pass true to update the message as the authed user. Bot users in this context are considered authed users. ex:true
attachments
- Structured message attachments. ex:[{"pretext": "pre-hello", "text": "text-world"}]
link_names
- Find and link channel names and usernames. Defaults tonone
. This parameter should be used in conjunction withparse
. To setlink_names
to1
, specify aparse
mode offull
. ex:1
parse
- Change how messages are treated. Defaults toclient
, unlikechat.postMessage
. See below. ex:none
Errors the API can return:
cant_update_message
- Authenticated user does not have permission to update this message.channel_not_found
- Value passed forchannel
was invalid.edit_window_closed
- The message cannot be edited due to the team message edit settingsmessage_not_found
- No message exists with the requested timestamp.msg_too_long
- Message text is too longno_text
- No message text provided