Как работают события чата?#

Для правильного написания программ с использованием FunPayAPI необходимо понимать как именно обнаруживаются изменения в чатах. Из-за того что FunPay не имеет официального API, этот процесс в некоторых моментах работает контринтуитивно.

Первый запрос#

Метод слушателя событий FunPayAPI.updater.runner.Runner.listen() при первом запуске сканирует всех существующие чаты на аккаунте (не более 50) со страницы https://funpay.com/chat/ и генерирует события FunPayAPI.updater.events.InitialChatEvent для каждого чата.

Сохраняются текст и дата отправки последнего сообщения каждого чата в словарь FunPayAPI.updater.runner.Runner.last_messages в следующем формате:

{
    ID чата (int): [текст последнего сообщения (str) (не более 250 символов), время отправки последнего сообщения (str)],
    ID чата (int): [текст последнего сообщения (str) (не более 250 символов), время отправки последнего сообщения (str)],
    ID чата (int): [текст последнего сообщения (str) (не более 250 символов), время отправки последнего сообщения (str)],
    ...
}

А так же в отдельный словарь FunPayAPI.updater.runner.Runner.init_messages сохраняются текста последних сообщений каждого чата:

{
    ID чата (int): текст последнего сообщения (str) (не более 250 символов)
    ID чата (int): текст последнего сообщения (str) (не более 250 символов)
    ID чата (int): текст последнего сообщения (str) (не более 250 символов)
    ...
}

Позже вы поймете для чего используется отдельный словарь с текстами последних сообщений.

# todo добавить фото

Обнаружение изменений#