Перейти к содержанию

Основные компоненты#

Конфигурация бота#

Бот наследует все параметры конфигурации от базового класса GreenAPIBot, включая возможность настраивать параметры экземпляра GREEN-API.

Полные параметры конфигурации для WhatsappGptBot:

bot = WhatsappGptBot(
    # Обязательные параметры
    id_instance="ваш-id-экземпляра",
    api_token_instance="ваш-api-токен",
    openai_api_key="ваш-openai-api-ключ",

    # Опциональные GPT-специфические параметры
    model="gpt-4o",  # Модель по умолчанию
    max_history_length=10,  # Максимальное количество сообщений в истории разговора
    system_message="Вы - полезный ассистент.",  # Системное сообщение для установки поведения
    temperature=0.5,  # Температура для генерации ответов
    error_message="Извините, я не смог обработать ваш запрос. Пожалуйста, попробуйте снова.",
    session_timeout=1800,  # Таймаут сессии в секундах (30 минут)

    # Опциональные параметры из базового бота
    bot_debug_mode=False,  # Включить отладочные логи
    debug_mode=False,  # Включить режим отладки API
    raise_errors=True,  # Генерировать ли исключения при ошибках API
    settings={  # Настройки экземпляра GREEN-API
        "webhookUrl": "",  # Пользовательский URL для вебхука
        "webhookUrlToken": "",  # Токен безопасности для вебхука
        "delaySendMessagesMilliseconds": 500,  # Задержка между сообщениями
        "markIncomingMessagesReaded": "yes",  # Отмечать сообщения как прочитанные
        "incomingWebhook": "yes",  # Включить входящие вебхуки
        "keepOnlineStatus": "yes",  # Поддерживать статус онлайн в WhatsApp
        "pollMessageWebhook": "yes",  # Включить вебхуки для опросов
    }
)

WhatsappGptBot#

Основной класс для создания и управления вашим WhatsApp-ботом на базе OpenAI:

from whatsapp_chatgpt_python import WhatsappGptBot

bot = WhatsappGptBot(
    id_instance="ваш-id-экземпляра",
    api_token_instance="ваш-api-токен",
    openai_api_key="ваш-openai-api-ключ",
    model="gpt-4o",
    system_message="Вы - полезный ассистент, специализирующийся на поддержке клиентов.",
    max_history_length=15,
    temperature=0.7,
    settings={
        "webhookUrl": "",
        "markIncomingMessagesReaded": "yes",
        "keepOnlineStatus": "yes",
        "delaySendMessagesMilliseconds": 500,
    }
)

# Запуск бота
bot.run_forever()