Skip to main content

Inline menu builder for yatbaf

Project description

yatbaf-menu

Inline menu builder for yatbaf.

Installation

$ pip install yatbaf-menu

Usage

from typing import TYPE_CHECKING

from yatbaf import Bot
from yatbaf import on_message
from yatbaf.filters import Command

from yatbaf_menu import Action
from yatbaf_menu import Menu
from yatbaf_menu import build_router

if TYPE_CHECKING:
    from yatbaf.types import CallbackQuery
    from yatbaf.types import Message



async def button1(q: CallbackQuery) -> None:
    await q.answer()
    await q.message.answer("click1")


async def button2(q: CallbackQuery) -> None:
    await q.answer()
    await q.message.answer("click2")


menu = Menu(
    title="Menu title",
    buttons=[
        [
            Action(title="Click 1", action=button1),
            Action(title="Click 2", action=button2),
        ],
    ],
)


@on_message(filters=[Command("menu")])
async def open_menu(message: Message) -> None:
    await message.answer(**(await menu.get_message_params(message)))


Bot(
    "<replace-with-your-token>",
    handlers=[open_menu],
    routers=[build_router(menu)],
).run()

Examples

Click

Click action

click gif

code

URL

URL button

url pic

code

Submenu

Submenu button

submenu gif

code

Choice

choice gif

code

Pagination

paging gif

code

Dynamic titles and visibility

dynamic gif

code

License

MIT

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

yatbaf_menu-0.3.2.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

yatbaf_menu-0.3.2-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

Details for the file yatbaf_menu-0.3.2.tar.gz.

File metadata

  • Download URL: yatbaf_menu-0.3.2.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for yatbaf_menu-0.3.2.tar.gz
Algorithm Hash digest
SHA256 7e3775a0d1fb3f1adc22e0b079c9eb95018f52d6c3f5aa8cb91ff7802c797f69
MD5 dccd71ac212a0c04e41938a9656f0e8b
BLAKE2b-256 35bcb649a926eb9ccfd0185c65266009f2ce85de2e655f3230f90f5c559ee5dc

See more details on using hashes here.

File details

Details for the file yatbaf_menu-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: yatbaf_menu-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 14.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for yatbaf_menu-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 696015fd85fe7737a91e83a211db21339cad50bd753ea6a1a8c74863d26c42c7
MD5 f5450f4a63584a9fdbab7f5f64eab1cf
BLAKE2b-256 64c87f77c3955b0a93fd79a70c0b2d215dbd1211e5e186c634752be68917a52e

See more details on using hashes here.

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