v.0.0.29 API and Webhook updates
Добавил класс 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. Теперь все пакеты библиотеки добавляются автоматически, исключая пакет тестов.