1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
from slack_api.slack_conversations_history import (
SlackMessage,
SlackMessageStandardCommon,
SlackMessageSubtypeBotAdd,
SlackMessageSubtypeBotMessage,
SlackMessageSubtypeBotRemove,
SlackMessageSubtypeChannelJoin,
SlackMessageSubtypeChannelLeave,
SlackMessageThreadParentNotSubscribed,
SlackMessageThreadParentSubscribed,
SlackMessageWithFiles,
)
from typing_extensions import Literal, NotRequired, TypedDict, final
class SlackRtmHello(TypedDict):
type: Literal["hello"]
fast_reconnect: bool
region: str
start: bool
host_id: str
@final
class SlackMessageStandardRtm(SlackMessageStandardCommon):
channel: str
@final
class SlackMessageThreadParentNotSubscribedRtm(SlackMessageThreadParentNotSubscribed):
channel: str
@final
class SlackMessageThreadParentSubscribedRtm(SlackMessageThreadParentSubscribed):
channel: str
@final
class SlackMessageWithFilesRtm(SlackMessageWithFiles):
channel: str
@final
class SlackMessageSubtypeBotMessageRtm(SlackMessageSubtypeBotMessage):
channel: str
@final
class SlackMessageSubtypeBotRemoveRtm(SlackMessageSubtypeBotRemove):
channel: str
@final
class SlackMessageSubtypeBotAddRtm(SlackMessageSubtypeBotAdd):
channel: str
@final
class SlackMessageSubtypeChannelJoinRtm(SlackMessageSubtypeChannelJoin):
channel: str
@final
class SlackMessageSubtypeChannelLeaveRtm(SlackMessageSubtypeChannelLeave):
channel: str
@final
class SlackMessageChanged(TypedDict):
type: Literal["message"]
subtype: Literal["message_changed"]
message: SlackMessage
previous_message: SlackMessage
channel: str
hidden: bool
ts: str
event_ts: str
@final
class SlackMessageDeleted(TypedDict):
type: Literal["message"]
subtype: Literal["message_deleted"]
previous_message: SlackMessage
channel: str
hidden: bool
ts: str
deleted_ts: str
event_ts: str
@final
class SlackMessageReplied(TypedDict):
type: Literal["message"]
subtype: Literal["message_replied"]
message: SlackMessage
channel: str
hidden: bool
ts: str
event_ts: str
@final
class SlackUserTyping(TypedDict):
type: Literal["user_typing"]
channel: str
thread_ts: NotRequired[str]
id: int
user: str
SlackMessageRtm = (
SlackMessageStandardRtm
| SlackMessageThreadParentNotSubscribedRtm
| SlackMessageThreadParentSubscribedRtm
| SlackMessageWithFilesRtm
| SlackMessageSubtypeBotMessageRtm
| SlackMessageSubtypeBotRemoveRtm
| SlackMessageSubtypeBotAddRtm
| SlackMessageSubtypeChannelJoinRtm
| SlackMessageSubtypeChannelLeaveRtm
)
SlackRtmMessage = (
SlackRtmHello
| SlackMessageRtm
| SlackMessageChanged
| SlackMessageDeleted
| SlackMessageReplied
| SlackUserTyping
)
|