51 lines
1.5 KiB
Python
51 lines
1.5 KiB
Python
# SPDX-License-Identifier: MIT
|
|
"""GusVoice Bot API for Python — a thin client on the standard library only.
|
|
|
|
from gusvoice_bot import Client
|
|
bot = Client(os.environ["BOT_TOKEN"], "https://voice.example.com")
|
|
bot.send_message(chat_id, "Hello")
|
|
|
|
Long polling (`run_polling`), webhook deliveries with signature check (`verify_signature`, `webhook_handler`), inline
|
|
buttons (`InlineKeyboard`), retry on 429. No WebSocket and no voice: for those use the TypeScript SDK `@gusvoice/bot`.
|
|
"""
|
|
from ._generated import API_VERSION, METHODS, SCHEMA_VERSION, UPDATE_TYPES
|
|
from .client import AsyncClient, Client, InputFile, normalize_base
|
|
from .errors import GusVoiceApiError, GusVoiceError
|
|
from .keyboard import (
|
|
CALLBACK_DATA_MAX_BYTES,
|
|
KEYBOARD_BUTTON_TEXT_MAX,
|
|
KEYBOARD_BUTTONS_MAX,
|
|
KEYBOARD_ROW_BUTTONS_MAX,
|
|
InlineKeyboard,
|
|
)
|
|
from .polling import run_polling
|
|
from .webhook import DEFAULT_TOLERANCE_S, SIGNATURE_HEADER, parse_signature_header, sign, verify_signature, webhook_handler
|
|
|
|
__version__ = "0.1.0"
|
|
|
|
__all__ = [
|
|
"API_VERSION",
|
|
"METHODS",
|
|
"SCHEMA_VERSION",
|
|
"UPDATE_TYPES",
|
|
"AsyncClient",
|
|
"Client",
|
|
"InputFile",
|
|
"normalize_base",
|
|
"GusVoiceApiError",
|
|
"GusVoiceError",
|
|
"CALLBACK_DATA_MAX_BYTES",
|
|
"KEYBOARD_BUTTON_TEXT_MAX",
|
|
"KEYBOARD_BUTTONS_MAX",
|
|
"KEYBOARD_ROW_BUTTONS_MAX",
|
|
"InlineKeyboard",
|
|
"run_polling",
|
|
"DEFAULT_TOLERANCE_S",
|
|
"SIGNATURE_HEADER",
|
|
"parse_signature_header",
|
|
"sign",
|
|
"verify_signature",
|
|
"webhook_handler",
|
|
"__version__",
|
|
]
|