Skip to main content

Helper library for aiogram bots to analyze Telegram photos (format, size, EXIF, sender info).

Project description

jojogram

Небольшая библиотека‑надстройка над aiogram для Telegram‑ботов, которая помогает анализировать фотографии:

  • Кто отправил фото — id, username, полное имя.
  • Технические параметры — формат, размер в пикселях, примерный размер файла, MIME‑тип.
  • Путь к файлу в Telegramfile_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.0
  • Pillow>=10.0.0,<11.0.0
  • exifread>=3.0.0,<4.0.0

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

Простой бот, который отвечает информацией о присланном фото:

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.

Возвращаемая структура

Класс PhotoAnalysisResult содержит:

  • from_user_id, from_user_username, from_user_full_name
  • file_id, file_unique_id, file_size_bytes
  • width, height, mime_type, file_path
  • image_format, mode
  • exif — словарь с EXIF‑тегами
  • human_readable — готовая строка для отправки пользователю

Использование вместе с aiogram

Библиотека не вмешивается в архитектуру бота: вы просто вызываете analyze_photo_message(message) в своём хэндлере и используете результат так, как вам нужно.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

jojogram-0.1.0-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file jojogram-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: jojogram-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for jojogram-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8dd9c67059970c0cc4a7ef1470a3c5df92659afed37457c741c2bb279d307904
MD5 92138c0eb90e1a56d7ec976e468e1201
BLAKE2b-256 55fefcef2e3ea4918f61b7201f26be1609d2be3e0219c22e10f38ce3c5f199e4

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