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()