Skip to content

v.0.0.29 API and Webhook updates

Compare
Choose a tag to compare
@ripreal ripreal released this 14 Dec 16:02
· 158 commits to master since this release
b5ac6f4

Добавил класс GreenAPIError. Он вызывается, когда происходит ошибка (status_code != 200). Его можно обработать таким образом:

try:
    greenAPI.request("GetSettings")
except GreenAPIError as error:
    print(error.error_message)

Добавил GET HTTP метод, как метод по умолчанию.
Мелкие исправления и улучшения

Обновил Webhook класс. Теперь он называется Bot. И хранится этот класс в директории bot. Его можно импортировать вместе с GreenAPI классом:

from whatsapp_api_client_python import GreenAPI, Bot

Теперь можно использовать функции-декораторы. При получении нового уведомления данные отправятся в ту функцию, которая декорируется.
При использовании декоратора handler, нужно указать type_webhook. Пример:

@bot.handler("stateInstanceChanged")
def handler(body: dict):
    print(body["instanceData"])
    print("stateInstanceChanged")

При использовании декоратора message, можно указать текст сообщения в чате WhatsApp, на который нужно ответить (если не указывать, функция будет получать все входящие сообщения). Если функция возвращает строку, то она автоматически будет отправлена в тот же чат. Пример:

@bot.message("Привет")
def message(body: dict) -> str:
    print(body["senderData"])
    print("incomingMessageReceived")

    return f"""Привет, {body["senderData"]["senderName"]}"""

Если в чате написать сообщение Привет, то бот отправит это сообщение: Привет, <имя пользователя WhatsApp>.

Обновил setup.py. Теперь все пакеты библиотеки добавляются автоматически, исключая пакет тестов.