Skip to content

Commit cd3907c

Browse files
committed
feat: add system events for conferences
1 parent 11dfda6 commit cd3907c

16 files changed

+641
-7
lines changed

poetry.lock

Lines changed: 110 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pybotx/__init__.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,9 @@
135135
from pybotx.models.system_events.added_to_chat import AddedToChatEvent
136136
from pybotx.models.system_events.chat_created import ChatCreatedEvent, ChatCreatedMember
137137
from pybotx.models.system_events.chat_deleted_by_user import ChatDeletedByUserEvent
138+
from pybotx.models.system_events.conference_changed import ConferenceChangedEvent
139+
from pybotx.models.system_events.conference_created import ConferenceCreatedEvent
140+
from pybotx.models.system_events.conference_deleted import ConferenceDeletedEvent
138141
from pybotx.models.system_events.cts_login import CTSLoginEvent
139142
from pybotx.models.system_events.cts_logout import CTSLogoutEvent
140143
from pybotx.models.system_events.deleted_from_chat import DeletedFromChatEvent
@@ -193,6 +196,9 @@
193196
"ChatNotFoundError",
194197
"ChatTypes",
195198
"ClientPlatforms",
199+
"ConferenceChangedEvent",
200+
"ConferenceCreatedEvent",
201+
"ConferenceDeletedEvent",
196202
"DeletedFromChatEvent",
197203
"Document",
198204
"EditMessage",

pybotx/bot/handler.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
from pybotx.models.system_events.added_to_chat import AddedToChatEvent
1010
from pybotx.models.system_events.chat_created import ChatCreatedEvent
1111
from pybotx.models.system_events.chat_deleted_by_user import ChatDeletedByUserEvent
12+
from pybotx.models.system_events.conference_changed import ConferenceChangedEvent
13+
from pybotx.models.system_events.conference_created import ConferenceCreatedEvent
14+
from pybotx.models.system_events.conference_deleted import ConferenceDeletedEvent
1215
from pybotx.models.system_events.cts_login import CTSLoginEvent
1316
from pybotx.models.system_events.cts_logout import CTSLogoutEvent
1417
from pybotx.models.system_events.deleted_from_chat import DeletedFromChatEvent
@@ -42,6 +45,9 @@
4245
HandlerFunc[InternalBotNotificationEvent],
4346
HandlerFunc[SmartAppEvent],
4447
HandlerFunc[EventEdit],
48+
HandlerFunc[ConferenceChangedEvent],
49+
HandlerFunc[ConferenceCreatedEvent],
50+
HandlerFunc[ConferenceDeletedEvent],
4551
]
4652

4753
VisibleFunc = Callable[[StatusRecipient, "Bot"], Awaitable[bool]]

pybotx/bot/handler_collector.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@
4242
from pybotx.models.system_events.added_to_chat import AddedToChatEvent
4343
from pybotx.models.system_events.chat_created import ChatCreatedEvent
4444
from pybotx.models.system_events.chat_deleted_by_user import ChatDeletedByUserEvent
45+
from pybotx.models.system_events.conference_changed import ConferenceChangedEvent
46+
from pybotx.models.system_events.conference_created import ConferenceCreatedEvent
47+
from pybotx.models.system_events.conference_deleted import ConferenceDeletedEvent
4548
from pybotx.models.system_events.cts_login import CTSLoginEvent
4649
from pybotx.models.system_events.cts_logout import CTSLogoutEvent
4750
from pybotx.models.system_events.deleted_from_chat import DeletedFromChatEvent
@@ -301,6 +304,30 @@ def event_edit(
301304
self._system_event(EventEdit, handler_func)
302305
return handler_func
303306

307+
def conference_changed(
308+
self,
309+
handler_func: HandlerFunc[ConferenceChangedEvent],
310+
) -> HandlerFunc[ConferenceChangedEvent]:
311+
"""Decorate `conference changed` event handler."""
312+
self._system_event(ConferenceChangedEvent, handler_func)
313+
return handler_func
314+
315+
def conference_created(
316+
self,
317+
handler_func: HandlerFunc[ConferenceCreatedEvent],
318+
) -> HandlerFunc[ConferenceCreatedEvent]:
319+
"""Decorate `conference created` event handler."""
320+
self._system_event(ConferenceCreatedEvent, handler_func)
321+
return handler_func
322+
323+
def conference_deleted(
324+
self,
325+
handler_func: HandlerFunc[ConferenceDeletedEvent],
326+
) -> HandlerFunc[ConferenceDeletedEvent]:
327+
"""Decorate `conference deleted` event handler."""
328+
self._system_event(ConferenceDeletedEvent, handler_func)
329+
return handler_func
330+
304331
def smartapp_event(
305332
self,
306333
handler_func: HandlerFunc[SmartAppEvent],

pybotx/models/commands.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,18 @@
1313
BotAPIChatDeletedByUser,
1414
ChatDeletedByUserEvent,
1515
)
16+
from pybotx.models.system_events.conference_changed import (
17+
BotAPIConferenceChanged,
18+
ConferenceChangedEvent,
19+
)
20+
from pybotx.models.system_events.conference_created import (
21+
BotAPIConferenceCreated,
22+
ConferenceCreatedEvent,
23+
)
24+
from pybotx.models.system_events.conference_deleted import (
25+
BotAPIConferenceDeleted,
26+
ConferenceDeletedEvent,
27+
)
1628
from pybotx.models.system_events.cts_login import BotAPICTSLogin, CTSLoginEvent
1729
from pybotx.models.system_events.cts_logout import BotAPICTSLogout, CTSLogoutEvent
1830
from pybotx.models.system_events.deleted_from_chat import (
@@ -45,6 +57,9 @@
4557
BotAPICTSLogin,
4658
BotAPICTSLogout,
4759
BotAPIEventEdit,
60+
BotAPIConferenceChanged,
61+
BotAPIConferenceCreated,
62+
BotAPIConferenceDeleted,
4863
]
4964
BotAPICommand = Union[BotAPIIncomingMessage, BotAPISystemEvent]
5065

@@ -60,5 +75,8 @@
6075
CTSLoginEvent,
6176
CTSLogoutEvent,
6277
EventEdit,
78+
ConferenceChangedEvent,
79+
ConferenceCreatedEvent,
80+
ConferenceDeletedEvent,
6381
]
6482
BotCommand = Union[IncomingMessage, SystemEvent]

pybotx/models/enums.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,9 @@ class BotAPISystemEventTypes(StrEnum):
103103
LEFT_FROM_CHAT = "system:left_from_chat"
104104
SMARTAPP_EVENT = "system:smartapp_event"
105105
EVENT_EDIT = "system:event_edit"
106+
CONFERENCE_CHANGED = "system:conference_changed"
107+
CONFERENCE_CREATED = "system:conference_created"
108+
CONFERENCE_DELETED = "system:conference_deleted"
106109

107110

108111
class BotAPIClientPlatforms(Enum):
@@ -127,6 +130,13 @@ class BotAPIMentionTypes(StrEnum):
127130
ALL = "all"
128131

129132

133+
class BotAPIConferenceLinkTypes(StrEnum):
134+
PUBLIC = "public"
135+
TRUSTS = "trusts"
136+
CORPORATE = "corporate"
137+
SERVER = "server"
138+
139+
130140
class APIUserKinds(Enum):
131141
USER = "user"
132142
CTS_USER = "cts_user"

0 commit comments

Comments
 (0)