Skip to main content

Easiest and most variable module for creating telegram bots

Project description

Botmom

Простая и многофункциональная библиотека для создания своих ботов для телеграмм

Установка

Введите в терминал:

pip install botmom --upgrade --user

или запустите этот код:

import os, sys

python = sys.executable
user = '--user' if 'venv' not in python and 'envs' not in python else ''
cmd = f'"{python}" -m pip install botmom --upgrade {user}'
os.system(cmd)

Примеры

Простой echo-бот:

from botmom import *

async def on_message(msg):
    await msg.answer("Твоё сообщение: " + msg.text)

run_bot("TOKEN_FROM_BOTFATHER")

Простой работа с командами:

from botmom import *

async def on_command_start(cmd):
    await cmd.answer("Привет! \nДля помощи - напиши /help")


async def on_command_help(cmd):
    await cmd.answer("Пока ничем не могу помочь :(")


run_bot("TOKEN_FROM_BOTFATHER")

Создание Inline-кнопок

from botmom import *

async def on_command_start(cmd):
    buttons = InlineButtons({"Да": "help_yes", "Нет": "help_no"})

    await cmd.answer("Привет! Тебе помочь?", buttons)


async def on_button(callback):
    if callback.data == "help_yes":
        await callback.answer("Тогда слушай внимательно!")

    elif callback.data == "help_no":
        msg = await callback.answer("Ну и ладно")
        
        await asyncio.sleep(3) # Вместо time.sleep(), время в секундах
        await msg.delete() # Удалит сообщение "Ну и ладно"
       

run_bot("TOKEN_FROM_BOTFATHER")

Создание Reply-кнопок

from botmom import *

states = dict()

async def on_command_start(cmd):
    buttons = ReplyButtons(["Да", "Нет"])

    await cmd.answer("Привет! Тебе помочь?", buttons)
    states[cmd.chat_id] = "waiting"


async def on_message(msg):
    if states[cmd.chat_id] == "waiting" and msg.text == "Да":
        buttons = ReplyButtons(["Окей"])

        await msg.answer("Тогда слушай внимательно!", buttons)

    if states[cmd.chat_id] == "waiting" and msg.text == "Да":
        buttons = ReplyButtons() # Удалить все кнопки

        ok_msg = await msg.answer("Ну и ладно", buttons)

        await asyncio.sleep(3) # Вместо time.sleep(), время в секундах
        await ok_msg.delete() # Удалит сообщение "Ну и ладно"
        

run_bot("TOKEN_FROM_BOTFATHER")

Project details


Release history Release notifications | RSS feed

This version

1.0

Download files

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

Source Distribution

botmom-1.0.tar.gz (4.4 kB view hashes)

Uploaded Source

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