Pre-loader

/ K2 Cloud ERP for Python / Модулі системи. / CRM. / Реєстрація та використання viber bot

Реєстрація та використання viber bot

Реєстрація та Запуск Вайбер Бота за допомогою Python

У цій статті розглянуто процес реєстрації та запуску Viber-бота з використанням мови програмування Python.

Створення та запуск вайбер бота частково відрізняється від телеграм бота.

Крок 1

          Спочатку необхідно перейти на сторінку адмін-панелі Viber (https://partners.viber.com/login)

Авторизуємось за допомогою свого облікового запису.

Переходимо до розділу Create Bot Account в якому необхідно вказати:

- Назва бота

- завантажити аватар 

- опис бота

- вибрати категорію бота ( для яких цілей його створено)

Після цього ви отримаєте Token для вашого бота.

Крок 2

          Необхідно налаштувати середовище для розробки. В даному прикладі будемоо розглядати створення бота за допомогою мови програмування python,  

фреймворку Flask та бібліотеки viber-bot ( також можна використовувати бібліотеку NLTK).

Viber - боти працюють на основі вебхуків. Коли користувач надсилає повідомлення боту , Viber API надсилає НТТР- запит до сервера, а Flask обробляє ці запити та дозволяє реагувати на   них.  Також за допомогою Flask можна задати маршрути, які відповідають за різні дії ( обробка текстових повідомлень, відправка відповідей, реакція на підписку та інше)

          Ngrok - це інструмент, який створює тимчасовий публічний доступ до вашого локального сервера через інтернет.

Для Viber - ботів це важливо тим, що:

- Ngrok генерує тимчасовий URL-адресу dble https://randomstring.ngrok.io, яка перенаправляє запити з інтернету на ваш локальний сервер. Також Ngrok працює через HTTPS, що відповідає вимогам безпеки Viber API. Без HTTPS вебхук не буде працювати.

Щоб встановити фреймворк та бібліотеки необхідно виконати код у консолі дерикторії проекту в якому ви створюєте Viber-бота

pip install flask
pip install viber-bot

Крок 3

Приклад простого Viber-бота з використанням бібліотеки viberbot та фреймворку Flask

from flask import Flask, request, Response
from viberbot import Api
from viberbot.api.bot_configuration import BotConfiguration
from viberbot.api.messages.text_message import TextMessage
from viberbot.api.viber_requests import ViberMessageRequest, ViberSubscribedRequest

app = Flask(__name__)

# Ініціалізація бота
viber = Api(BotConfiguration(
    name=’Ваш_Бот’,
    avatar=’https://link_to_avatar_image’,  # Посилання на зображення для аватара
    auth_token=’ВАШ_ТОКЕН’  # Ваш токен
))

@app.route(’/’, methods=[’POST’])
def incoming():
    viber_request = viber.parse_request(request.get_data())

    if isinstance(viber_request, ViberMessageRequest):
        message = viber_request.message
        user_name = viber_request.sender.name or "користувач"

        if message.text.lower() == "привіт":
            viber.send_messages(viber_request.sender.id, [
                TextMessage(text=f"Привіт, {user_name}!")
            ])
    
    return Response(status=200)

if __name__ == "__main__":
    app.run(port=5000)

Крок 4

Локальний запус бота. Для запуску спочатку необхідно запустити Ngrok для створення публічної URL- адреси

ngrok http 5000

Копіюємо згенерований HTTPS URL-адрес.

Налаштовуємо вебхуки 

import requests

webhook_url = "https://ваш_ngrok_url/"
auth_token = "ВАШ_ТОКЕН"

response = requests.post(
    url="https://chatapi.viber.com/pa/set_webhook",
    json={"url": webhook_url},
    headers={"X-Viber-Auth-Token": auth_token}
)
print(response.json())

Цей код створить бота з обробником повідомлення від юзера "Привіт". У відповідь ви будете отримувати відповідь "Привіт, (ім'я)", де "ім'я" буде вашим іменем чи іменем юзера у Viber. 


    Runtime Site: 4.092236 s.