From 60c4bb2b253878097fea8038e02bda448cbc43b6 Mon Sep 17 00:00:00 2001 From: Adam Conrad Date: Fri, 10 Apr 2020 09:29:54 -0400 Subject: [PATCH] Add conversations.invite web API method --- README.md | 2 +- lib/slack/web/docs/conversations.invite.json | 105 +++++++++++++++++++ mix.exs | 2 +- 3 files changed, 107 insertions(+), 2 deletions(-) create mode 100644 lib/slack/web/docs/conversations.invite.json diff --git a/README.md b/README.md index f538f72..2f360ea 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ def application do end def deps do - [{:slack, "~> 0.23.1"}] + [{:slack, "~> 0.23.2"}] end ``` diff --git a/lib/slack/web/docs/conversations.invite.json b/lib/slack/web/docs/conversations.invite.json new file mode 100644 index 0000000..e16cd0c --- /dev/null +++ b/lib/slack/web/docs/conversations.invite.json @@ -0,0 +1,105 @@ +{ + "desc": "Invites users to a channel.", + + "args": { + "token": { + "required" : true, + "example" : "xxxx-xxxxxxxxx-xxxx", + "desc" : "Authentication token bearing required scopes." + }, + "channel": { + "required" : true, + "example" : "C1234567890", + "desc" : "The ID of the public or private channel to invite user(s) to." + }, + "users": { + "required" : true, + "example" : "W1234567890,U2345678901,U3456789012", + "desc" : "A comma separated list of user IDs. Up to 1000 users may be listed." + } + }, + + "response": { + "ok": true, + "ok": true, + "channel": { + "id": "C012AB3CD", + "name": "general", + "is_channel": true, + "is_group": false, + "is_im": false, + "created": 1449252889, + "creator": "W012A3BCD", + "is_archived": false, + "is_general": true, + "unlinked": 0, + "name_normalized": "general", + "is_read_only": false, + "is_shared": false, + "is_ext_shared": false, + "is_org_shared": false, + "pending_shared": [], + "is_pending_ext_shared": false, + "is_member": true, + "is_private": false, + "is_mpim": false, + "last_read": "1502126650.228446", + "topic": { + "value": "For public discussion of generalities", + "creator": "W012A3BCD", + "last_set": 1449709364 + }, + "purpose": { + "value": "This part of the workspace is for fun. Make fun here.", + "creator": "W012A3BCD", + "last_set": 1449709364 + }, + "previous_names": [ + "specifics", + "abstractions", + "etc" + ], + "num_members": 23, + "locale": "en-US" + } + }, + + "errors": { + "channel_not_found": "Value passed for `channel` was invalid.", + "user_not_found": "Value passed for `users` was invalid.", + "no_user": "No value was passed for `users`.", + "cant_invite_self": "Authenticated user cannot invite themselves to a channel.", + "not_in_channel": "Authenticated user is not in the channel.", + "already_in_channel": "Invited user is already in the channel.", + "is_archived": "Channel has been archived.", + "cant_invite": "User cannot be invited to this channel.", + "method_not_supported_for_channel_type": "This type of conversation cannot be used with this method.", + "missing_scope": "The token used is not granted the specific scope permissions required to complete this request.", + "invitee_cant_see_channel": "The Grid multi-workspace channel you are inviting a user to is not shared with any workspaces the user is currently a member of.", + "ura_max_channels": "URA is already in the maximum number of channels.", + "not_authed": "No authentication token provided.", + "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.", + "account_inactive": "Authentication token is for a deleted user or workspace.", + "token_revoked": "Authentication token is for a deleted user or workspace or the app has been removed.", + "no_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.", + "org_login_required": "The workspace is undergoing an enterprise migration and will not be available until migration is complete.", + "ekm_access_denied": "Administrators have suspended the ability to post a message.", + "is_bot": "This method cannot be called by a bot user.", + "user_is_ultra_restricted": "This method cannot be called by a single channel guest.", + "invalid_arguments": "The method was called with invalid arguments.", + "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_charset": "The method was called via a `POST` request, but the `charset` specified in the `Content-Type` header was invalid. Valid charset names are: `utf-8` `iso-8859-1`.", + "invalid_form_data": "The method was called via a `POST` request with `Content-Type` `application/x-www-form-urlencoded` or `multipart/form-data`, but the form data was either missing or syntactically invalid.", + "invalid_post_type": "The method was called via a `POST` request, but the specified `Content-Type` was invalid. Valid types are: `application/json` `application/x-www-form-urlencoded` `multipart/form-data` `text/plain`.", + "missing_post_type": "The method was called via a `POST` request and included a data payload, but the request did not include a `Content-Type` header.", + "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.", + "request_timeout": "The method was called via a `POST` request, but the `POST` data was either missing or truncated.", + "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.", + "internal_error": "The server could not complete your operation(s) without encountering an error, likely due to a transient issue on our end. It's possible some aspect of the operation succeeded before the error was raised." + }, + + "warnings": { + "missing_charset": "The method was called via a `POST` request, and recommended practice for the specified `Content-Type` is to include a `charset` parameter. However, no `charset` was present. Specifically, non-form-data content types (e.g. `text/plain`) are the ones for which `charset` is recommended.", + "superfluous_charset": "The method was called via a `POST` request, and the specified `Content-Type` is not defined to understand the `charset` parameter. However, `charset` was in fact present. Specifically, form-data content types (e.g. `multipart/form-data`) are the ones for which `charset` is superfluous." + } +} diff --git a/mix.exs b/mix.exs index 240b258..30deac5 100644 --- a/mix.exs +++ b/mix.exs @@ -4,7 +4,7 @@ defmodule Slack.Mixfile do def project do [ app: :slack, - version: "0.23.1", + version: "0.23.2", elixir: "~> 1.7", elixirc_paths: elixirc_paths(Mix.env()), name: "Slack",