Получение событий FunPay#
- class FunPayAPI.updater.runner.Runner(account: Account, disable_message_requests: bool = False, disabled_order_requests: bool = False)#
Класс для получения новых событий FunPay.
- Параметры:
account (
FunPayAPI.account.Account
) – экземпляр аккаунта (должен быть инициализирован с помощью методаFunPayAPI.account.Account.get()
).disable_message_requests (
bool
, опционально) –отключить ли запросы для получения истории чатов?
Если True,
FunPayAPI.updater.runner.Runner.listen()
не будет возвращать событияFunPayAPI.updater.events.NewMessageEvent
.Из событий, связанных с чатами, будут возвращаться только:
disabled_order_requests (
bool
, опционально) –отключить ли запросы для получения списка заказов?
Если True,
FunPayAPI.updater.runner.Runner.listen()
не будет возвращать событияFunPayAPI.updater.events.InitialOrderEvent
,FunPayAPI.updater.events.NewOrderEvent
,FunPayAPI.updater.events.OrderStatusChangedEvent
.Из событий, связанных с заказами, будет возвращаться только
FunPayAPI.updater.events.OrdersListChangedEvent
.
- make_msg_requests: bool#
Делать ли доп. запросы для получения всех новых сообщений изменившихся чатов?
- saved_orders: dict[str, types.OrderShortcut]#
экземпляр types.OrderShortcut}).
- Type:
Сохраненные состояния заказов ({ID заказа
- last_messages: dict[int, list[str, str | None]]#
(текст сообщения (до 250 символов), время сообщения)}).
- Type:
ID последний сообщений ({ID чата
- by_bot_ids: dict[int, list[int]]#
[ID сообщения, …]}).
- Type:
ID сообщений, отправленных с помощью self.account.send_message ({ID чата
- last_messages_ids: dict[int, int]#
ID последнего сообщения}).
- Type:
ID последних сообщений в чатах ({ID чата
- parse_updates(updates: dict) list[FunPayAPI.updater.events.InitialChatEvent | FunPayAPI.updater.events.ChatsListChangedEvent | FunPayAPI.updater.events.LastChatMessageChangedEvent | FunPayAPI.updater.events.NewMessageEvent | FunPayAPI.updater.events.InitialOrderEvent | FunPayAPI.updater.events.OrdersListChangedEvent | FunPayAPI.updater.events.NewOrderEvent | FunPayAPI.updater.events.OrderStatusChangedEvent] #
Парсит ответ FunPay и создает события.
- Параметры:
updates (
dict
) – результат выполненияFunPayAPI.updater.runner.Runner.get_updates()
- Результат:
список событий.
- Тип результата:
list
ofFunPayAPI.updater.events.InitialChatEvent
,FunPayAPI.updater.events.ChatsListChangedEvent
,FunPayAPI.updater.events.LastChatMessageChangedEvent
,FunPayAPI.updater.events.NewMessageEvent
,FunPayAPI.updater.events.InitialOrderEvent
,FunPayAPI.updater.events.OrdersListChangedEvent
,FunPayAPI.updater.events.NewOrderEvent
,FunPayAPI.updater.events.OrderStatusChangedEvent
- parse_chat_updates(obj) list[FunPayAPI.updater.events.InitialChatEvent | FunPayAPI.updater.events.ChatsListChangedEvent | FunPayAPI.updater.events.LastChatMessageChangedEvent | FunPayAPI.updater.events.NewMessageEvent] #
Парсит события, связанные с чатами.
- Параметры:
obj (
dict
) – словарь из результата выполненияFunPayAPI.updater.runner.Runner.get_updates()
, где «type» == «chat_bookmarks».- Результат:
список событий, связанных с чатами.
- Тип результата:
:obj:list of
FunPayAPI.updater.events.InitialChatEvent
,FunPayAPI.updater.events.ChatsListChangedEvent
,FunPayAPI.updater.events.LastChatMessageChangedEvent
,FunPayAPI.updater.events.NewMessageEvent
- generate_new_message_events(chats_data: dict[int, str]) dict[int, list[FunPayAPI.updater.events.NewMessageEvent]] #
Получает историю переданных чатов и генерирует события новых сообщений.
- Параметры:
chats_data (
dict
{int
:str
orNone
}) – ID чатов и никнеймы собеседников (None, если никнейм неизвестен) Например: {48392847: «SLLMK», 58392098: «Amongus», 38948728: None}- Результат:
словарь с событиями новых сообщений в формате {ID чата: [список событий]}
- Тип результата:
dict
{int
:list
ofFunPayAPI.updater.events.NewMessageEvent
}
- parse_order_updates(obj) list[FunPayAPI.updater.events.InitialOrderEvent | FunPayAPI.updater.events.OrdersListChangedEvent | FunPayAPI.updater.events.NewOrderEvent | FunPayAPI.updater.events.OrderStatusChangedEvent] #
Парсит события, связанные с продажами.
- Параметры:
obj (
dict
) – словарь из результата выполненияFunPayAPI.updater.runner.Runner.get_updates()
, где «type» == «orders_counters».- Результат:
список событий, связанных с продажами.
- Тип результата:
list
ofFunPayAPI.updater.events.InitialOrderEvent
,FunPayAPI.updater.events.OrdersListChangedEvent
,FunPayAPI.updater.events.NewOrderEvent
,FunPayAPI.updater.events.OrderStatusChangedEvent
- update_last_message(chat_id: int, message_text: str | None, message_time: str | None = None)#
Обновляет сохраненный текст последнего сообщения чата.
- update_order(order: OrderShortcut)#
Обновляет сохраненное состояние переданного заказа.
- Параметры:
order (
FunPayAPI.types.OrderShortcut
) – экземпляр заказа, который нужно обновить.
- mark_as_by_bot(chat_id: int, message_id: int)#
Помечает сообщение с переданным ID, как отправленный с помощью
FunPayAPI.account.Account.send_message()
.
- listen(requests_delay: int | float = 6.0, ignore_exceptions: bool = True) Generator[InitialChatEvent | ChatsListChangedEvent | LastChatMessageChangedEvent | NewMessageEvent | InitialOrderEvent | OrdersListChangedEvent | NewOrderEvent | OrderStatusChangedEvent] #
Бесконечно отправляет запросы для получения новых событий.
- Параметры:
- Результат:
генератор событий FunPay.
- Тип результата:
Generator
ofFunPayAPI.updater.events.InitialChatEvent
,FunPayAPI.updater.events.ChatsListChangedEvent
,FunPayAPI.updater.events.LastChatMessageChangedEvent
,FunPayAPI.updater.events.NewMessageEvent
,FunPayAPI.updater.events.InitialOrderEvent
,FunPayAPI.updater.events.OrdersListChangedEvent
,FunPayAPI.updater.events.NewOrderEvent
,FunPayAPI.updater.events.OrderStatusChangedEvent