Skip to main content

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() клавиатура удаляется, кнопки нужно создавать заново


Metadata

Release files for fastgramm 1.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fastgramm 1.0.3
File Size Uploaded
fastgramm-1.0.3.tar.gz 6.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fastgramm 1.0.3
File Interpreter ABI Platform
fastgramm-1.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 13.5 kB

Release files / fastgramm-1.0.3.tar.gz

Download URL fastgramm-1.0.3.tar.gz
Size 6.8 kB
Tags Source
SHA-256 checksum
How to use checksums
5a3063e59439e72168b0c2092762c0eabab5b9540a2dfd19321ef7b571be7792
BLAKE2b-256 checksum
How to use checksums
c526fed23f9d23c64f8ddcc0cad76f69b9367ffb9bd63f0b7a732ecfdc63047f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / fastgramm-1.0.3-py3-none-any.whl

Download URL fastgramm-1.0.3-py3-none-any.whl
Size 6.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3029948415c92bc6e40d6963016830eb33234e0a5c90d65c4afbef7b09db5cc7
BLAKE2b-256 checksum
How to use checksums
f3febff65f86b95f0088f6b88c9184e4101852f18629d8fea0845ca4b42fe0a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release history Release notifications | RSS feed

This release

1.0.3 This release

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page