diff options
Diffstat (limited to 'typings/slack_api/slack_profile.pyi')
-rw-r--r-- | typings/slack_api/slack_profile.pyi | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/typings/slack_api/slack_profile.pyi b/typings/slack_api/slack_profile.pyi new file mode 100644 index 0000000..e02d44e --- /dev/null +++ b/typings/slack_api/slack_profile.pyi @@ -0,0 +1,84 @@ +from __future__ import annotations + +from typing import Dict, List, Optional + +from slack_api.slack_common import SlackErrorResponse +from typing_extensions import Literal, NotRequired, TypedDict, final + +@final +class SlackProfileField(TypedDict): + value: str + alt: str + +@final +class SlackProfileStatusEmojiDisplayInfo(TypedDict): + emoji_name: str + display_url: str + unicode: str + +class SlackProfileCommon(TypedDict): + title: NotRequired[Optional[str]] + phone: NotRequired[Optional[str]] + skype: NotRequired[Optional[str]] + first_name: NotRequired[Optional[str]] + last_name: NotRequired[Optional[str]] + real_name: NotRequired[Optional[str]] + real_name_normalized: NotRequired[Optional[str]] + display_name: NotRequired[Optional[str]] + display_name_normalized: NotRequired[Optional[str]] + fields: NotRequired[Optional[Dict[str, SlackProfileField]]] + status_text: NotRequired[Optional[str]] + status_emoji: NotRequired[Optional[str]] + status_emoji_display_info: NotRequired[ + Optional[List[SlackProfileStatusEmojiDisplayInfo]] + ] + status_expiration: NotRequired[Optional[int]] + avatar_hash: NotRequired[Optional[str]] + image_original: NotRequired[str] + is_custom_image: NotRequired[Optional[bool]] + huddle_state: NotRequired[Optional[str]] + huddle_state_expiration_ts: NotRequired[Optional[int]] + image_24: NotRequired[str] + image_32: NotRequired[str] + image_48: NotRequired[str] + image_72: NotRequired[str] + image_192: NotRequired[str] + image_512: NotRequired[str] + image_1024: NotRequired[str] + status_text_canonical: NotRequired[Optional[str]] + team: str + +@final +class SlackProfilePerson(SlackProfileCommon): + email: NotRequired[Optional[str]] + +@final +class SlackProfileBot(SlackProfileCommon): + api_app_id: NotRequired[Optional[str]] + always_active: NotRequired[Optional[bool]] + bot_id: NotRequired[Optional[str]] + image_1024: str + +SlackProfile = SlackProfilePerson | SlackProfileBot + +@final +class SlackSetProfile(TypedDict): + display_name: NotRequired[Optional[str]] + email: NotRequired[Optional[str]] + first_name: NotRequired[Optional[str]] + last_name: NotRequired[Optional[str]] + phone: NotRequired[Optional[str]] + pronouns: NotRequired[Optional[str]] + real_name: NotRequired[Optional[str]] + start_date: NotRequired[Optional[str]] + title: NotRequired[Optional[str]] + status_emoji: NotRequired[Optional[str]] + status_expiration: NotRequired[Optional[int]] + status_text: NotRequired[Optional[str]] + +@final +class SlackUsersProfileSetSuccessResponse(TypedDict): + ok: Literal[True] + profile: SlackProfilePerson + +SlackUsersProfileSetResponse = SlackUsersProfileSetSuccessResponse | SlackErrorResponse |