botik

Botik core package


Keywords
api, framework, bot, messenger, async, botik
License
MIT
Install
pip install botik==0.0.2

Documentation

Botik

Botik позволяСт Π²Π°ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ для Π±ΠΎΡ‚ΠΎΠ², ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ исполняСмый Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… мСссСндТСрах. Π’Π°ΠΊ ΠΆΠ΅ Π²Π°ΠΌ прСдлагаСтся ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΎΡ‚ Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠ³ΠΎ написания Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ-Ρ…Π΅Π½Π΄Π»Π΅Ρ€ΠΎΠ² Π½Π° Π½ΠΎΠ²ΡƒΡŽ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ†ΠΈΡŽ страниц.

ВСхничСская докумСнтация

Установка

# Telegram
pip install botik-telebot
# VK
pip install botik-vkbottle

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° страницы

Π’Π°ΡˆΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Botik Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой Π½Π°Π±ΠΎΡ€ страниц. Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°.

class ExamplePage(Page):
    async def make_page_content(self, user):
        text = "ΠŸΡ€ΠΈΠΌΠ΅Ρ€ страницы"
        
        # ButtonCallback ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ асинхронный ΠΌΠ΅Ρ‚ΠΎΠ΄ с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ user,
        # ΠΈ всСми ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ с явным ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΡ… ΠΈΠΌΠ΅Π½
        self.markup.add_row([
            ButtonData("НаТми мСня!", ButtonCallback(self.send, message="ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€!"))
        ])
        self.markup.add_row([
            ButtonData("Back", ButtonCallback(navigator.get_back)),
            ButtonData("Home", ButtonCallback(navigator.change_page, path=f"~/"))
        ])
        
        await self.send(user, text, markup=True)

Запуск Π±ΠΎΡ‚Π°

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π΄Π²Π° модуля-Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ для нашСго прилоТСния.

Π‘ΠΏΠ΅Ρ€Π²Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ Backbone Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с мСссСндТСром ΠΈ ΠΏΡ€ΠΎΠΊΠΈΠ΄Ρ‹Π²Π°Π΅ΠΌ Π΅Π³ΠΎ Π² конструктор ядра прилоТСния.

# Telegram
from telebot.async_telebot import AsyncTeleBot
from botik_telebot.app import TgApp

token = "Ρ‚ΠΎΠΊΠ΅Π½ Π±ΠΎΡ‚Π°"
bot = AsyncTeleBot(token)

app = TgApp(bot)
# VK
from vkbottle import API
from vkbottle.bot import Bot
from botik_vkbottle.app import VkApp

token = "Ρ‚ΠΎΠΊΠ΅Π½ Π±ΠΎΡ‚Π°"

# ВСкущая рСализация Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ссылки Π½Π° High ΠΈ Low Level API
bot = Bot(token=token)
low_api = API(token)

app = VkApp(bot, low_api)

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ экзСмпляры, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ наши Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠ΅ страницы

# ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ Ρ‚ΠΈΠΏ страницы, Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ адрСс, Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΠΌ адрСс ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ страницы
main_data = PageData(MainPage, '/', '', inline=True, one_time=True)
page1 = PageData(FirstPage, '/page1', main_data, inline=False, one_time=False)
# ...

# Π‘ΠΎΠ±ΠΈΡ€Π°Π΅ΠΌ ΠΈΡ… Π² список
pages = [main_data, page1]

УстанавливаСм странички ΠΈ запускаСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅!

app.set_pages(pages)

app.start()
Основан на pyTelegramBotAPI и VKBottle