Skip to main content

Максимально простая библиотека для создания Telegram ботов

Project description

Fastgramm

Максимально простая библиотека для Telegram ботов на Python**


📦 Установка

pip install fastgramm

Скопируйте файл fastgramm.py в ваш проект.

from fastgramm import *

🚀 Быстрый старт

from fastgramm import FastGrammBot, snd, btn, ifm

bot = FastGrammBot("YOUR_BOT_TOKEN")

# Создаём кнопку
btn("Привет", snd("Здравствуй!"))

# Реакция на текст
ifm("Как дела?", snd("Хорошо!"))

bot.run()

📚 Полное описание функций

🔧 Основные функции

Функция Описание Пример
FastGrammBot(token) Создание бота bot = FastGrammBot("TOKEN")
run() Запуск бота bot.run()

📨 Отправка сообщений

Функция Описание Пример
snd(text) Отправить текст snd("Привет")
snd(lambda: ...) Отправить результат функции snd(lambda: f"Время {time.time()}")
last() Получить последний текст от пользователя snd(last())

⌨️ Клавиатуры

Функция Описание Пример
btn(name, action) Создать одну reply-кнопку btn("Старт", snd("Начинаем"))
btns(names, action) Создать несколько кнопок с одним действием btns(["Да","Нет"], snd("Выбрано"))
clr() Убрать reply-клавиатуру clr()
inb(msg, btn_text, action) Inline-кнопка inb("Выбери","Нажми",snd("Ок"))
inbs(msg, *args) Несколько inline-кнопок inbs("Меню","К1 ",snd("1"),"К2",snd("2"))

🎯 Условные обработчики

Функция Описание Пример
ifm(cond, *actions) Выполнить действия при условии ifm("Привет", snd("И тебе"))
any Любое сообщение ifm(any, snd("Эхо: "+last()))

🖼️ Медиа

Функция Описание Пример
pic(url) Отправить фото pic("https://example.com/photo.jpg")
pic("file.jpg") Фото из локального файла pic("cat.jpg")
vid(url) Отправить видео vid("video.mp4")
sticker(file_id) Отправить стикер sticker("CAACAgIAAxkB...")
location(lat, lon) Геолокация location(55.75, 37.62)
album(photos) Альбом фотографий album(["1.jpg","2.jpg"])

✏️ Редактирование и удаление

Функция Описание Пример
edit(new_text) Редактировать последнее сообщение бота edit("Новый текст")
edit_delay(seconds, new_text) Редактировать с задержкой edit_delay(3, "Через 3 сек")
edit_to_last(seconds=0) Редактировать в текст пользователя edit_to_last(2)
dlt() Удалить последнее сообщение бота dlt()
dlt_delay(seconds) Удалить с задержкой dlt_delay(5)

⏰ Таймеры и периодические действия

Функция Описание Пример
wait(seconds, action) Задержка (блокирующая) wait(3, snd("Готово"))
after(seconds, action) Асинхронная задержка after(5, snd("Прошло 5 сек"))
every(seconds, action) Повторять каждые N секунд every(60, snd("Прошла минута"))
every_at(time_str, action) Повторять в определённое время every_at("09:00", snd("Доброе утро!"))

🎮 Примеры использования

Пример 1: Эхо-бот с клавиатурой

from fastgramm import FastGrammBot, snd, btn, ifm, any, last

bot = FastGrammBot("TOKEN")

btn("Помощь", snd("Я эхо-бот. Просто напиши что-нибудь"))
ifm(any, snd(lambda: f"Ты написал: {last()}"))

bot.run()

Пример 2: Бот с инлайн-меню

from fastgramm import FastGrammBot, snd, btn, inbs, clr

bot = FastGrammBot("TOKEN")

def main_menu():
    inbs("Главное меню",
        "Профиль", snd("Имя: Пользователь"),
        "Настройки", snd("Настройки пока не готовы"),
        "Выход", clr()
    )

btn("Меню", main_menu)
btn("Назад", main_menu)

bot.run()

Пример 3: Отложенные действия

from fastgramm import FastGrammBot, snd, btn, after, edit, dlt

bot = FastGrammBot("TOKEN")

btn("Временное сообщение", 
    snd("Это сообщение исчезнет через 3 секунды"),
    dlt_delay(3)
)

btn("Отложенный ответ",
    after(5, snd("Привет через 5 секунд!"))
)

btn("Редактор",
    snd("Старый текст"),
    after(3, edit("Новый текст!"))
)

bot.run()

Пример 4: Медиа бот

from fastgramm import FastGrammBot, snd, btn, pic, album

bot = FastGrammBot("TOKEN")

btn("Котик", pic("https://cataas.com/cat"))
btn("Альбом", album(["photo1.jpg", "photo2.jpg", "photo3.jpg"]))
btn("Моя геолокация", location(55.751244, 37.618423))

bot.run()

Пример 5: Полноценный бот-помощник

from fastgramm import (
    FastGrammBot, snd, btn, ifm, any, 
    last, clr, inb, after
)

bot = FastGrammBot("TOKEN")

# Приветствие
ifm("/start",
    snd("👋 Привет! Я бот-помощник.\nИспользуй /help для списка команд"),
    btn("Помощь", snd("/help - справка\n/about - о боте"))
)

# Справка
ifm("/help", snd("📋 Команды:\n/start - начать\n/about - о боте\n/clear - очистить"))

# О боте
ifm("/about", snd("🤖 Бот создан на Fastgram v1.0.2\nПростая библиотека для Telegram ботов"))

# Очистка клавиатуры
ifm("/clear", clr())

# Подтверждение действия
def confirm():
    inb("Вы уверены?", "Да", snd("Действие выполнено"))
    inb("Вы уверены?", "Нет", clr())

btn("Важное действие", confirm)

# Эхо (для всего остального)
ifm(any, snd(lambda: f"📝 Эхо: {last()}"))

bot.run()

⚠️ Важные замечания

  1. Порядок инициализации — сначала определите все ifm и кнопки, затем вызовите bot.run()

  2. Функция last() — работает только внутри обработчиков ifm и действий кнопок

  3. edit() и dlt() — работают только с последним сообщением, отправленным ботом

  4. after() и every() — работают асинхронно, не блокируют основной поток

  5. wait() — блокирует выполнение, используйте after() для неблокирующих задержек

  6. Кнопки — после вызова clr() клавиатура удаляется, кнопки нужно создавать заново


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

fastgramm-1.0.3.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fastgramm-1.0.3-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file fastgramm-1.0.3.tar.gz.

File metadata

  • Download URL: fastgramm-1.0.3.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.3

File hashes

Hashes for fastgramm-1.0.3.tar.gz
Algorithm Hash digest
SHA256 5a3063e59439e72168b0c2092762c0eabab5b9540a2dfd19321ef7b571be7792
MD5 7861a2cee3eb6e21d4d802ea427bf894
BLAKE2b-256 c526fed23f9d23c64f8ddcc0cad76f69b9367ffb9bd63f0b7a732ecfdc63047f

See more details on using hashes here.

File details

Details for the file fastgramm-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: fastgramm-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.3

File hashes

Hashes for fastgramm-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3029948415c92bc6e40d6963016830eb33234e0a5c90d65c4afbef7b09db5cc7
MD5 109c42a3f487f05151fe804c0bc24f0c
BLAKE2b-256 f3febff65f86b95f0088f6b88c9184e4101852f18629d8fea0845ca4b42fe0a2

See more details on using hashes here.

Supported by

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