Asynchronous Python API for building Viber bots.
Project description
aioviber
Asynchronous Python API for building Viber bots.
Example
import logging
from aioviber.bot import Bot
from aioviber.chat import Chat
from viberbot.api.viber_requests import ViberSubscribedRequest
logger = logging.getLogger(__name__)
bot = Bot(
name='ViberBot',
avatar='http://avatar.example.com/avatar.jpg',
auth_token="**************-**************-**************", # Public account auth token
host="my.host.com", # should be available from wide area network
port=80,
webhook="https://my.host.com", # Webhook url
)
@bot.command('ping')
async def ping(chat: Chat, matched):
await chat.send_text('pong')
@bot.event_handler('subscribed')
async def user_subscribed(chat: Chat, request: ViberSubscribedRequest):
await chat.send_text('Welcome')
@bot.message_handler('sticker')
async def sticker(chat: Chat):
await chat.send_sticker(5900)
if __name__ == '__main__': # pragma: no branch
bot.run() # pragma: no cover
API designed similar to aiotg
Getting Started
In order to implement the API you will need the following: 1. An Active Viber account on a platform which supports PA (iOS/Android). 2. Active Public Account; 3. Public Account authentication token; 4. Write your bot with aioviber.
Read more: Public Account Documentation — Viber REST API
There is no way to run viber bot in polling mode like Telegram.
Install
pip install aioviber
Viber API
Messaging flow
Events types
Documentation about events types https://developers.viber.com/docs/api/rest-bot-api/#callbacks
Callbacks can be proceeded with @bot.event_handler('subscribed') decorator
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.