Skip to main content

A synchronous Python library for interacting with the YoPhone API.

Project description

YoPhonePy - Python Client for YoPhone Bot API

YoPhonePy is a Python client library for interacting with the YoPhone Bot API. It provides easy-to-use methods for polling messages, handling commands, sending messages with media or buttons, and configuring webhooks.

Features

  • Poll for new messages and events
  • Register command and message handlers
  • Send messages, media, and buttons
  • Configure webhooks
  • Get bot and webhook information

Installation

Install the library from PyPI:

pip install yophonepy

Getting Started

1. Obtain an API Key

Register on the YoPhone platform to get your API key.

2. Set API Key

You can set your API key as an environment variable:

export YOPHONE_API_KEY="your_api_key_here"

Or pass it directly to the YoPhonePy class:

from yophonepy import YoPhonePy

bot = YoPhonePy(api_key="your_api_key_here")

3. Write Your Bot

from yophonepy import YoPhonePy, Message

bot = YoPhonePy(api_key="your_api_key_here")

@bot.command_handler("start")
def start_handler(msg: Message):
    bot.send_message(msg.chat_id, "Hello! How can I assist you today?")

@bot.message_handler
def echo_handler(raw_data):
    msg = Message.from_dict(raw_data)
    bot.send_message(msg.chat_id, f"You said: {msg.text}")

if __name__ == "__main__":
    bot.start_polling(interval=2)

Alternative Usage Example

You can also register handlers and initialize the bot programmatically:

from yophonepy import YoPhonePy

def start_command(message: Message):
    start_text = f"""
    Welcome to YoPhonePy Bot, {message.sender.first_name}! \n
    """
    bot.send_message(message.chat_id, start_text)


def help_command(message: Message):
    help_text = f"""
    Welcome to YoPhonePy Bot, {message.sender.first_name}! \n
    """
    bot.send_message(message.chat_id, help_text)


if __name__ == "__main__":
    bot = YoPhonePy(
        api_key=your_api_key_here
    )

    bot.command_handler("start")(start_command)
    bot.command_handler("help")(help_command)

    # Start polling for updates
    bot.start_polling(interval=3)

Sending Media and Buttons

Send Files:

bot.send_files(chat_id="123456", file_paths=["/path/to/file1.png"], caption="Here is your file!")

Send Buttons:

bot.send_message_with_buttons(
    chat_id="123456",
    text="Choose an option:",
    options=[{"text": "Option 1", "value": "opt1"}, {"text": "Option 2", "value": "opt2"}]
)

Webhooks

Set a Webhook:

bot.set_webhook("https://yourdomain.com/webhook")

Get Webhook Info:

bot.get_webhook_info()

Remove Webhook:

bot.remove_webhook()

Utilities

  • configure_commands(commands: List[Dict[str, str]]) — Set available slash commands
  • get_bot_info() — Fetch bot metadata
  • get_channel_user_status(channel_id, user_id) — Get user's status in a channel

License

This project is licensed under the MIT License. See the LICENSE file for details.


For more information, refer to the official YoPhone API Documentation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yophonepy-0.1.4.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yophonepy-0.1.4-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file yophonepy-0.1.4.tar.gz.

File metadata

  • Download URL: yophonepy-0.1.4.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for yophonepy-0.1.4.tar.gz
Algorithm Hash digest
SHA256 91ca0b5c62d51386da37d12438a03328d12d6a8f1d887681cfc8337566e394a9
MD5 5b79374cbfe18bbfa486ba83dfd27e1a
BLAKE2b-256 38c8dd0d97fa19ce2cc93847de998a39ac8884b78c188dac2319faf62e31c281

See more details on using hashes here.

File details

Details for the file yophonepy-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: yophonepy-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 7.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for yophonepy-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 11f011e1a84786f0cf6623389b1504048b32341562403207239d98efef92b386
MD5 10137c831533d017308a755ef92e6c91
BLAKE2b-256 a8b1c60972cfa381809f1e40fb25b1cfe860af2af5282a048353827ea4eac78b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page