#![allow(unused_imports)]
use crate::objects::*;
use crate::{
CursorPaginated, NextCursor, ResponseMetadata, SlackApiMethod, SlackClient, SlackError,
};
use serde::{Deserialize, Serialize};
#[doc(alias = "users.conversations")]
#[derive(Debug, Clone, PartialEq, Serialize, Default)]
#[non_exhaustive]
pub struct UsersConversationsRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub cursor: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub exclude_archived: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub exclude_muted: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub limit: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub team_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub types: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
impl UsersConversationsRequest {
pub fn new() -> Self {
Self {
cursor: None,
exclude_archived: None,
exclude_muted: None,
limit: None,
team_id: None,
types: None,
user: None,
}
}
pub fn cursor(mut self, cursor: impl Into<String>) -> Self {
self.cursor = Some(cursor.into());
self
}
pub fn exclude_archived(mut self, exclude_archived: bool) -> Self {
self.exclude_archived = Some(exclude_archived);
self
}
pub fn exclude_muted(mut self, exclude_muted: bool) -> Self {
self.exclude_muted = Some(exclude_muted);
self
}
pub fn limit(mut self, limit: i64) -> Self {
self.limit = Some(limit);
self
}
pub fn team_id(mut self, team_id: impl Into<String>) -> Self {
self.team_id = Some(team_id.into());
self
}
pub fn types(mut self, types: impl Into<String>) -> Self {
self.types = Some(types.into());
self
}
pub fn user(mut self, user: impl Into<String>) -> Self {
self.user = Some(user.into());
self
}
}
impl SlackApiMethod for UsersConversationsRequest {
const METHOD: &'static str = "users.conversations";
type Response = UsersConversationsResponse;
}
impl CursorPaginated for UsersConversationsRequest {
fn set_cursor(&mut self, cursor: String) {
self.cursor = Some(cursor);
}
}
impl NextCursor for UsersConversationsResponse {
fn next_cursor(&self) -> Option<&str> {
self.response_metadata.as_ref()?.next_cursor.as_deref()
}
}
#[doc(alias = "users.conversations")]
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UsersConversationsResponse {
#[serde(
default,
deserialize_with = "crate::de::vec",
skip_serializing_if = "Vec::is_empty"
)]
pub channels: Vec<Conversation>,
#[serde(
default,
deserialize_with = "crate::de::opt_object",
skip_serializing_if = "Option::is_none"
)]
pub response_metadata: Option<ResponseMetadata>,
#[serde(
default,
deserialize_with = "crate::de::opt_string",
skip_serializing_if = "Option::is_none"
)]
pub warning: Option<String>,
}
#[doc(alias = "users.deletePhoto")]
#[derive(Debug, Clone, PartialEq, Serialize, Default)]
#[non_exhaustive]
pub struct UsersDeletePhotoRequest {}
impl UsersDeletePhotoRequest {
pub fn new() -> Self {
Self {}
}
}
impl SlackApiMethod for UsersDeletePhotoRequest {
const METHOD: &'static str = "users.deletePhoto";
type Response = UsersDeletePhotoResponse;
}
#[doc(alias = "users.deletePhoto")]
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UsersDeletePhotoResponse {
#[serde(flatten)]
pub extra: serde_json::Map<String, serde_json::Value>,
#[serde(
default,
deserialize_with = "crate::de::opt_object",
skip_serializing_if = "Option::is_none"
)]
pub response_metadata: Option<ResponseMetadata>,
#[serde(
default,
deserialize_with = "crate::de::opt_string",
skip_serializing_if = "Option::is_none"
)]
pub warning: Option<String>,
}
#[doc(alias = "users.discoverableContacts.lookup")]
#[derive(Debug, Clone, PartialEq, Serialize)]
#[non_exhaustive]
pub struct UsersDiscoverableContactsLookupRequest {
pub email: String,
}
impl UsersDiscoverableContactsLookupRequest {
pub fn new(email: impl Into<String>) -> Self {
Self {
email: email.into(),
}
}
}
impl SlackApiMethod for UsersDiscoverableContactsLookupRequest {
const METHOD: &'static str = "users.discoverableContacts.lookup";
type Response = UsersDiscoverableContactsLookupResponse;
}
#[doc(alias = "users.discoverableContacts.lookup")]
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UsersDiscoverableContactsLookupResponse {
#[serde(
default,
deserialize_with = "crate::de::opt_bool",
skip_serializing_if = "Option::is_none"
)]
pub is_discoverable: Option<bool>,
#[serde(
default,
deserialize_with = "crate::de::opt_object",
skip_serializing_if = "Option::is_none"
)]
pub response_metadata: Option<ResponseMetadata>,
#[serde(
default,
deserialize_with = "crate::de::opt_string",
skip_serializing_if = "Option::is_none"
)]
pub warning: Option<String>,
}
#[doc(alias = "users.getPresence")]
#[derive(Debug, Clone, PartialEq, Serialize, Default)]
#[non_exhaustive]
pub struct UsersGetPresenceRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
impl UsersGetPresenceRequest {
pub fn new() -> Self {
Self { user: None }
}
pub fn user(mut self, user: impl Into<String>) -> Self {
self.user = Some(user.into());
self
}
}
impl SlackApiMethod for UsersGetPresenceRequest {
const METHOD: &'static str = "users.getPresence";
type Response = UsersGetPresenceResponse;
}
#[doc(alias = "users.getPresence")]
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UsersGetPresenceResponse {
#[serde(
default,
deserialize_with = "crate::de::opt_string",
skip_serializing_if = "Option::is_none"
)]
pub presence: Option<String>,
#[serde(
default,
deserialize_with = "crate::de::opt_bool",
skip_serializing_if = "Option::is_none"
)]
pub online: Option<bool>,
#[serde(
default,
deserialize_with = "crate::de::opt_bool",
skip_serializing_if = "Option::is_none"
)]
pub auto_away: Option<bool>,
#[serde(
default,
deserialize_with = "crate::de::opt_bool",
skip_serializing_if = "Option::is_none"
)]
pub manual_away: Option<bool>,
#[serde(
default,
deserialize_with = "crate::de::opt_i64",
skip_serializing_if = "Option::is_none"
)]
pub connection_count: Option<i64>,
#[serde(
default,
deserialize_with = "crate::de::opt_i64",
skip_serializing_if = "Option::is_none"
)]
pub last_activity: Option<i64>,
#[serde(
default,
deserialize_with = "crate::de::opt_object",
skip_serializing_if = "Option::is_none"
)]
pub response_metadata: Option<ResponseMetadata>,
#[serde(
default,
deserialize_with = "crate::de::opt_string",
skip_serializing_if = "Option::is_none"
)]
pub warning: Option<String>,
}
#[doc(alias = "users.identity")]
#[derive(Debug, Clone, PartialEq, Serialize, Default)]
#[non_exhaustive]
pub struct UsersIdentityRequest {}
impl UsersIdentityRequest {
pub fn new() -> Self {
Self {}
}
}
impl SlackApiMethod for UsersIdentityRequest {
const METHOD: &'static str = "users.identity";
type Response = UsersIdentityResponse;
}
#[doc(alias = "users.identity")]
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UsersIdentityResponse {
#[serde(
default,
deserialize_with = "crate::de::opt_object",
skip_serializing_if = "Option::is_none"
)]
pub user: Option<UsersIdentityResponseUser>,
#[serde(
default,
deserialize_with = "crate::de::opt_object",
skip_serializing_if = "Option::is_none"
)]
pub team: Option<UsersIdentityResponseTeam>,
#[serde(
default,
deserialize_with = "crate::de::opt_object",
skip_serializing_if = "Option::is_none"
)]
pub response_metadata: Option<ResponseMetadata>,
#[serde(
default,
deserialize_with = "crate::de::opt_string",
skip_serializing_if = "Option::is_none"
)]
pub warning: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UsersIdentityResponseUser {
#[serde(
default,
deserialize_with = "crate::de::opt_string",
skip_serializing_if = "Option::is_none"
)]
pub name: Option<String>,
#[serde(
default,
deserialize_with = "crate::de::opt_string",
skip_serializing_if = "Option::is_none"
)]
pub id: Option<String>,
#[serde(
default,
deserialize_with = "crate::de::opt_string",
skip_serializing_if = "Option::is_none"
)]
pub email: Option<String>,
#[serde(
default,
deserialize_with = "crate::de::opt_string",
skip_serializing_if = "Option::is_none"
)]
pub image_24: Option<String>,
#[serde(
default,
deserialize_with = "crate::de::opt_string",
skip_serializing_if = "Option::is_none"
)]
pub image_32: Option<String>,
#[serde(
default,
deserialize_with = "crate::de::opt_string",
skip_serializing_if = "Option::is_none"
)]
pub image_48: Option<String>,
#[serde(
default,
deserialize_with = "crate::de::opt_string",
skip_serializing_if = "Option::is_none"
)]
pub image_72: Option<String>,
#[serde(
default,
deserialize_with = "crate::de::opt_string",
skip_serializing_if = "Option::is_none"
)]
pub image_192: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UsersIdentityResponseTeam {
#[serde(
default,
deserialize_with = "crate::de::opt_string",
skip_serializing_if = "Option::is_none"
)]
pub id: Option<String>,
#[serde(
default,
deserialize_with = "crate::de::opt_string",
skip_serializing_if = "Option::is_none"
)]
pub name: Option<String>,
}
#[doc(alias = "users.info")]
#[derive(Debug, Clone, PartialEq, Serialize, Default)]
#[non_exhaustive]
pub struct UsersInfoRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub include_locale: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
impl UsersInfoRequest {
pub fn new() -> Self {
Self {
include_locale: None,
user: None,
}
}
pub fn include_locale(mut self, include_locale: bool) -> Self {
self.include_locale = Some(include_locale);
self
}
pub fn user(mut self, user: impl Into<String>) -> Self {
self.user = Some(user.into());
self
}
}
impl SlackApiMethod for UsersInfoRequest {
const METHOD: &'static str = "users.info";
type Response = UsersInfoResponse;
}
#[doc(alias = "users.info")]
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UsersInfoResponse {
#[serde(
default,
deserialize_with = "crate::de::opt_object",
skip_serializing_if = "Option::is_none"
)]
pub user: Option<User>,
#[serde(
default,
deserialize_with = "crate::de::opt_object",
skip_serializing_if = "Option::is_none"
)]
pub response_metadata: Option<ResponseMetadata>,
#[serde(
default,
deserialize_with = "crate::de::opt_string",
skip_serializing_if = "Option::is_none"
)]
pub warning: Option<String>,
}
#[doc(alias = "users.list")]
#[derive(Debug, Clone, PartialEq, Serialize, Default)]
#[non_exhaustive]
pub struct UsersListRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub cursor: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub include_locale: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub limit: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub team_id: Option<String>,
}
impl UsersListRequest {
pub fn new() -> Self {
Self {
cursor: None,
include_locale: None,
limit: None,
team_id: None,
}
}
pub fn cursor(mut self, cursor: impl Into<String>) -> Self {
self.cursor = Some(cursor.into());
self
}
pub fn include_locale(mut self, include_locale: bool) -> Self {
self.include_locale = Some(include_locale);
self
}
pub fn limit(mut self, limit: i64) -> Self {
self.limit = Some(limit);
self
}
pub fn team_id(mut self, team_id: impl Into<String>) -> Self {
self.team_id = Some(team_id.into());
self
}
}
impl SlackApiMethod for UsersListRequest {
const METHOD: &'static str = "users.list";
type Response = UsersListResponse;
}
impl CursorPaginated for UsersListRequest {
fn set_cursor(&mut self, cursor: String) {
self.cursor = Some(cursor);
}
}
impl NextCursor for UsersListResponse {
fn next_cursor(&self) -> Option<&str> {
self.response_metadata.as_ref()?.next_cursor.as_deref()
}
}
#[doc(alias = "users.list")]
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UsersListResponse {
#[serde(
default,
deserialize_with = "crate::de::vec",
skip_serializing_if = "Vec::is_empty"
)]
pub members: Vec<User>,
#[serde(
default,
deserialize_with = "crate::de::opt_i64",
skip_serializing_if = "Option::is_none"
)]
pub cache_ts: Option<i64>,
#[serde(
default,
deserialize_with = "crate::de::opt_object",
skip_serializing_if = "Option::is_none"
)]
pub response_metadata: Option<ResponseMetadata>,
#[serde(
default,
deserialize_with = "crate::de::opt_string",
skip_serializing_if = "Option::is_none"
)]
pub warning: Option<String>,
}
#[doc(alias = "users.lookupByEmail")]
#[derive(Debug, Clone, PartialEq, Serialize)]
#[non_exhaustive]
pub struct UsersLookupByEmailRequest {
pub email: String,
}
impl UsersLookupByEmailRequest {
pub fn new(email: impl Into<String>) -> Self {
Self {
email: email.into(),
}
}
}
impl SlackApiMethod for UsersLookupByEmailRequest {
const METHOD: &'static str = "users.lookupByEmail";
type Response = UsersLookupByEmailResponse;
}
#[doc(alias = "users.lookupByEmail")]
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UsersLookupByEmailResponse {
#[serde(
default,
deserialize_with = "crate::de::opt_object",
skip_serializing_if = "Option::is_none"
)]
pub user: Option<User>,
#[serde(
default,
deserialize_with = "crate::de::opt_object",
skip_serializing_if = "Option::is_none"
)]
pub response_metadata: Option<ResponseMetadata>,
#[serde(
default,
deserialize_with = "crate::de::opt_string",
skip_serializing_if = "Option::is_none"
)]
pub warning: Option<String>,
}
#[doc(alias = "users.profile.get")]
#[derive(Debug, Clone, PartialEq, Serialize, Default)]
#[non_exhaustive]
pub struct UsersProfileGetRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub include_labels: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
impl UsersProfileGetRequest {
pub fn new() -> Self {
Self {
include_labels: None,
user: None,
}
}
pub fn include_labels(mut self, include_labels: bool) -> Self {
self.include_labels = Some(include_labels);
self
}
pub fn user(mut self, user: impl Into<String>) -> Self {
self.user = Some(user.into());
self
}
}
impl SlackApiMethod for UsersProfileGetRequest {
const METHOD: &'static str = "users.profile.get";
type Response = UsersProfileGetResponse;
}
#[doc(alias = "users.profile.get")]
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UsersProfileGetResponse {
#[serde(
default,
deserialize_with = "crate::de::opt_object",
skip_serializing_if = "Option::is_none"
)]
pub profile: Option<UserProfile>,
#[serde(
default,
deserialize_with = "crate::de::opt_object",
skip_serializing_if = "Option::is_none"
)]
pub response_metadata: Option<ResponseMetadata>,
#[serde(
default,
deserialize_with = "crate::de::opt_string",
skip_serializing_if = "Option::is_none"
)]
pub warning: Option<String>,
}
#[doc(alias = "users.profile.set")]
#[derive(Debug, Clone, PartialEq, Serialize, Default)]
#[non_exhaustive]
pub struct UsersProfileSetRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub profile: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
impl UsersProfileSetRequest {
pub fn new() -> Self {
Self {
name: None,
profile: None,
user: None,
value: None,
}
}
pub fn name(mut self, name: impl Into<String>) -> Self {
self.name = Some(name.into());
self
}
pub fn profile(mut self, profile: impl Into<String>) -> Self {
self.profile = Some(profile.into());
self
}
pub fn user(mut self, user: impl Into<String>) -> Self {
self.user = Some(user.into());
self
}
pub fn value(mut self, value: impl Into<String>) -> Self {
self.value = Some(value.into());
self
}
}
impl SlackApiMethod for UsersProfileSetRequest {
const METHOD: &'static str = "users.profile.set";
type Response = UsersProfileSetResponse;
}
#[doc(alias = "users.profile.set")]
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UsersProfileSetResponse {
#[serde(
default,
deserialize_with = "crate::de::opt_object",
skip_serializing_if = "Option::is_none"
)]
pub profile: Option<UserProfile>,
#[serde(
default,
deserialize_with = "crate::de::opt_object",
skip_serializing_if = "Option::is_none"
)]
pub response_metadata: Option<ResponseMetadata>,
#[serde(
default,
deserialize_with = "crate::de::opt_string",
skip_serializing_if = "Option::is_none"
)]
pub warning: Option<String>,
}
#[doc(alias = "users.setActive")]
#[derive(Debug, Clone, PartialEq, Serialize, Default)]
#[non_exhaustive]
pub struct UsersSetActiveRequest {}
impl UsersSetActiveRequest {
pub fn new() -> Self {
Self {}
}
}
impl SlackApiMethod for UsersSetActiveRequest {
const METHOD: &'static str = "users.setActive";
type Response = UsersSetActiveResponse;
}
#[doc(alias = "users.setActive")]
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UsersSetActiveResponse {
#[serde(flatten)]
pub extra: serde_json::Map<String, serde_json::Value>,
#[serde(
default,
deserialize_with = "crate::de::opt_object",
skip_serializing_if = "Option::is_none"
)]
pub response_metadata: Option<ResponseMetadata>,
#[serde(
default,
deserialize_with = "crate::de::opt_string",
skip_serializing_if = "Option::is_none"
)]
pub warning: Option<String>,
}
#[doc(alias = "users.setPhoto")]
#[derive(Debug, Clone, PartialEq, Serialize, Default)]
#[non_exhaustive]
pub struct UsersSetPhotoRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub crop_w: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub crop_x: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub crop_y: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
}
impl UsersSetPhotoRequest {
pub fn new() -> Self {
Self {
crop_w: None,
crop_x: None,
crop_y: None,
image: None,
}
}
pub fn crop_w(mut self, crop_w: impl Into<String>) -> Self {
self.crop_w = Some(crop_w.into());
self
}
pub fn crop_x(mut self, crop_x: impl Into<String>) -> Self {
self.crop_x = Some(crop_x.into());
self
}
pub fn crop_y(mut self, crop_y: impl Into<String>) -> Self {
self.crop_y = Some(crop_y.into());
self
}
pub fn image(mut self, image: impl Into<String>) -> Self {
self.image = Some(image.into());
self
}
}
impl SlackApiMethod for UsersSetPhotoRequest {
const METHOD: &'static str = "users.setPhoto";
type Response = UsersSetPhotoResponse;
}
#[doc(alias = "users.setPhoto")]
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UsersSetPhotoResponse {
#[serde(flatten)]
pub extra: serde_json::Map<String, serde_json::Value>,
#[serde(
default,
deserialize_with = "crate::de::opt_object",
skip_serializing_if = "Option::is_none"
)]
pub response_metadata: Option<ResponseMetadata>,
#[serde(
default,
deserialize_with = "crate::de::opt_string",
skip_serializing_if = "Option::is_none"
)]
pub warning: Option<String>,
}
#[doc(alias = "users.setPresence")]
#[derive(Debug, Clone, PartialEq, Serialize)]
#[non_exhaustive]
pub struct UsersSetPresenceRequest {
pub presence: String,
}
impl UsersSetPresenceRequest {
pub fn new(presence: impl Into<String>) -> Self {
Self {
presence: presence.into(),
}
}
}
impl SlackApiMethod for UsersSetPresenceRequest {
const METHOD: &'static str = "users.setPresence";
type Response = UsersSetPresenceResponse;
}
#[doc(alias = "users.setPresence")]
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UsersSetPresenceResponse {
#[serde(flatten)]
pub extra: serde_json::Map<String, serde_json::Value>,
#[serde(
default,
deserialize_with = "crate::de::opt_object",
skip_serializing_if = "Option::is_none"
)]
pub response_metadata: Option<ResponseMetadata>,
#[serde(
default,
deserialize_with = "crate::de::opt_string",
skip_serializing_if = "Option::is_none"
)]
pub warning: Option<String>,
}
impl SlackClient {
#[doc(alias = "users.conversations")]
pub async fn users_conversations(
&self,
request: &UsersConversationsRequest,
) -> Result<UsersConversationsResponse, SlackError> {
self.call(request).await
}
#[doc(alias = "users.deletePhoto")]
pub async fn users_delete_photo(
&self,
request: &UsersDeletePhotoRequest,
) -> Result<UsersDeletePhotoResponse, SlackError> {
self.call(request).await
}
#[doc(alias = "users.discoverableContacts.lookup")]
pub async fn users_discoverable_contacts_lookup(
&self,
request: &UsersDiscoverableContactsLookupRequest,
) -> Result<UsersDiscoverableContactsLookupResponse, SlackError> {
self.call(request).await
}
#[doc(alias = "users.getPresence")]
pub async fn users_get_presence(
&self,
request: &UsersGetPresenceRequest,
) -> Result<UsersGetPresenceResponse, SlackError> {
self.call(request).await
}
#[doc(alias = "users.identity")]
pub async fn users_identity(
&self,
request: &UsersIdentityRequest,
) -> Result<UsersIdentityResponse, SlackError> {
self.call(request).await
}
#[doc(alias = "users.info")]
pub async fn users_info(
&self,
request: &UsersInfoRequest,
) -> Result<UsersInfoResponse, SlackError> {
self.call(request).await
}
#[doc(alias = "users.list")]
pub async fn users_list(
&self,
request: &UsersListRequest,
) -> Result<UsersListResponse, SlackError> {
self.call(request).await
}
#[doc(alias = "users.lookupByEmail")]
pub async fn users_lookup_by_email(
&self,
request: &UsersLookupByEmailRequest,
) -> Result<UsersLookupByEmailResponse, SlackError> {
self.call(request).await
}
#[doc(alias = "users.profile.get")]
pub async fn users_profile_get(
&self,
request: &UsersProfileGetRequest,
) -> Result<UsersProfileGetResponse, SlackError> {
self.call(request).await
}
#[doc(alias = "users.profile.set")]
pub async fn users_profile_set(
&self,
request: &UsersProfileSetRequest,
) -> Result<UsersProfileSetResponse, SlackError> {
self.call(request).await
}
#[doc(alias = "users.setActive")]
pub async fn users_set_active(
&self,
request: &UsersSetActiveRequest,
) -> Result<UsersSetActiveResponse, SlackError> {
self.call(request).await
}
#[doc(alias = "users.setPhoto")]
pub async fn users_set_photo(
&self,
request: &UsersSetPhotoRequest,
) -> Result<UsersSetPhotoResponse, SlackError> {
self.call(request).await
}
#[doc(alias = "users.setPresence")]
pub async fn users_set_presence(
&self,
request: &UsersSetPresenceRequest,
) -> Result<UsersSetPresenceResponse, SlackError> {
self.call(request).await
}
}