Skip to main content

Bots Library for Switch

Project description

Logo

SwiBots

Python library for switch app

Please check the documentation for more information.

Getting Started

You can start building your first app with SwiBots in less than 5 minutes.

  1. Install swibots library
pip install swibots

OR build from source

pip install git+https://github.com/switchcollab/Switch-Bots-Python-Library.git
  1. Open the editor of your choice and create a python file echobot.py (or whatever name you want!), and paste the following code:
from swibots import (
    BotApp,
    BotContext,
    MessageEvent
)

TOKEN = "MY SUPER SECRET TOKEN"

# initialize the app and register commands
app = BotApp(
    TOKEN, "A cool bot with annotations and everything you could possibly want :)"
)


@app.on_message()
async def message_handler(ctx: BotContext[MessageEvent]):
    # easy way to prepare a mesage that is a response of an incomming message
    message = ctx.event.message
    response_text = f"Thank you! I received your message: {message.message}"
    # send the message back to the user
    await message.respond(response_text)


app.run()
  1. Open your switch app and send a message to the bot Hello world!

  2. You will receive a reply from your bot saying Thank you! I received your message: Hello world!

Checkout Bot samples

Examples

Sending Buttons

from swibots import InlineMarkup, InlineKeyboardButton

await bot.send_message(
    Message(receiver_id=50,
      inline_markup=InlineMarkup([[
        InlineKeyboardButton("text", url="https://url.com")
   ]])
  )
)

Sending media

from swibots import MediaUploadRequest

await bot.send_message(
    Message(...),
    media=MediaUploadRequest(path="file.png",
       description="file_name.png",
       thumbnail="file.png"
    )
)

Sending embedded message

from swibots import EmbeddedMedia, EmbedInlineField

await bot.send_message(
    Message(...),
    media=EmbeddedMedia(
        thumbnail="thumb_path.png",
        title="Embedded message.",
        header_name="message from swibots!",
        header_icon="https://header.png",
        footer_title="Hello from bot.",
        footer_icon="https://footer.png",
        inline_fields=[
            [
                EmbedInlineField("https://icon.png", "Nice Meeting you", "Hello 👋")
            ]
        ]
    )
)

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.

Source Distribution

swibots-1.3.19.tar.gz (64.5 kB view hashes)

Uploaded Source

Built Distribution

swibots-1.3.19-py3-none-any.whl (141.5 kB view hashes)

Uploaded Python 3

Supported by

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