Helper library for aiogram bots to analyze Telegram photos (format, size, EXIF, sender info).
Project description
jojogram
Небольшая библиотека‑надстройка над aiogram для Telegram‑ботов, которая помогает анализировать фотографии:
- Кто отправил фото — id, username, полное имя.
- Технические параметры — формат, размер в пикселях, примерный размер файла, MIME‑тип.
- Путь к файлу в Telegram —
file_path,file_id,file_unique_id. - EXIF‑данные (если есть) — например, автор, камера и т.п.
Основная функция — analyze_photo_message(message), которая принимает aiogram.types.Message с фотографией и возвращает объект PhotoAnalysisResult.
Установка
После публикации на PyPI:
pip install jojogram
Локально из исходников (из корня проекта, где лежит pyproject.toml):
pip install .
Зависимости, которые подтянутся автоматически:
aiogram>=3.4.0,<4.0.0Pillow>=10.0.0,<11.0.0exifread>=3.0.0,<4.0.0
Быстрый старт
Импорт библиотеки
Основные объекты, которые экспортирует пакет:
from jojogram import analyze_photo_message, PhotoAnalysisResult, JojogramConfig
Простой бот, который отвечает информацией о присланном фото
from aiogram import Bot, Dispatcher, F
from aiogram.types import Message
from aiogram.enums import ParseMode
from aiogram.filters import CommandStart
from aiogram.types import ContentType
from jojogram import analyze_photo_message
API_TOKEN = "PUT_YOUR_BOT_TOKEN_HERE"
async def on_start(message: Message) -> None:
await message.answer(
"Привет! Отправь мне фото, и я расскажу о нём информацию."
)
async def on_photo(message: Message) -> None:
result = await analyze_photo_message(message)
await message.answer(result.human_readable)
Полностью рабочий пример есть в файле example_bot.py (или можете посмотреть main.py).
Возвращаемая структура
Класс PhotoAnalysisResult содержит:
from_user_id,from_user_username,from_user_full_namefile_id,file_unique_id,file_size_byteswidth,height,mime_type,file_pathimage_format,modeexif— словарь с EXIF‑тегамиhuman_readable— готовая строка для отправки пользователю
Использование вместе с aiogram
Библиотека не вмешивается в архитектуру бота: вы просто вызываете analyze_photo_message(message) в своём хэндлере и используете результат так, как вам нужно.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jojogram-1.1.0-py3-none-any.whl.
File metadata
- Download URL: jojogram-1.1.0-py3-none-any.whl
- Upload date:
- Size: 6.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31dae538eee340bfa6aef6792097f08f62dbe71a0d4663265e12a95948bb074e
|
|
| MD5 |
9813e6bb014e13da717d662de19dd623
|
|
| BLAKE2b-256 |
ed9b7060e35d407f7a2d43b977ae417c24c97a53e1d85f15a1a9b5329917f4c2
|