Skip to main content

Lightweight library for working with Telegram Bot Api + Generate Images, Audio and Text

Project description

Ekogram

Ekogram — лёгкий Python-модуль для Telegram Bot API и работы с нейросетями.
Он объединяет простую работу с Telegram и мощные функции: генерация текста и изображений, перевод и озвучка.

Установка

pip install ekogram

или для macOS:

pip3 install ekogram

Возможности

  • Telegram Bot API: отправка сообщений, медиа, inline, reply клавиатуры и т.п.
  • Мощные AI-инструменты: GPT, генерация картинок, перевод, озвучка.
  • Поддержка классов Telegram: Message, User, Chat, Audio, Photo, Voice и т.д.
  • Работа с callback_query, inline_query, handlers

🤖 Быстрый старт бота

from ekogram import Bot

bot = Bot("ВАШ_ТОКЕН")

@bot.message_handler(commands=["start"])
def start_handler(message):
    bot.reply_message(chat_id=message.chat.id, text="Привет! Я бот Ekogram!")

bot.polling()

🧠 Использование AI

FreeGpt — бесплатный GPT

from ekogram import FreeGpt

gpt = FreeGpt()

messages = [
    {"role": "system", "content": "Отвечай кратко и по делу"},
    {"role": "user", "content": "Расскажи, кто такой Эйнштейн?"}
]

print(gpt.deepchat(messages))

FreeImg — генерация картинок

from ekogram import FreeImg

img = FreeImg()
print(img.flux("cyberpunk robot with fire"))

Translate — перевод текста

from ekogram import Translate

tr = Translate()
print(tr.deepl("Hello, how are you?", target="ru"))

ChatGPT — сессия с GPT

from ekogram import ChatGPT

chat = ChatGPT(url='https://chatgpt.com', headers={})
print(chat.generate_chat_completion(model="gpt-4o-mini", messages=[{"role": 'user', "content": "Hi"}]))

🎤 Озвучка текста

gpt.speech(text="Привет, как дела?", filename="voice", voice="nova")    #filename -> voice.mp3

📎 Пример кнопок

from ekogram import Bot, Markup

bot = Bot("TOKEN")

@bot.message_handler(commands=["menu"])
def menu(message):
    buttons = [{"text": "Кнопка 1"}, {"text": "Кнопка 2"}]
    markup = Markup.create_reply_keyboard(buttons)
    bot.reply_message(chat_id=message.chat.id, text="Выберите вариант:", reply_markup=markup)

📌 Поддерживаемые классы

  • Telegram: User, Chat, Message, File, Photo, Voice, Video, Sticker, Document, Location, Dice и др.
  • InputMedia: InputMediaPhoto, InputMediaVideo, InputMediaAudio, InputMediaDocument, InputMediaAnimation
  • Inline: InlineQuery, InlineQueryResultArticle, InlineQueryResultPhoto, InlineQueryResultVideo
  • Markup: Markup.create_inline_keyboard(), Markup.create_reply_keyboard(), Markup.remove_reply_keyboard()
  • AI: FreeGpt, FreeImg, Translate, ChatGPT

🔒 Лицензия

MIT License

📫 Обратная связь

Email: siriteamrs@gmail.com

Если возникнут идеи, баги, предложения — пишите 🙌

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 Distribution

ekogram-0.27.5.tar.gz (30.6 kB view details)

Uploaded Source

Built Distribution

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

ekogram-0.27.5-py3-none-any.whl (29.1 kB view details)

Uploaded Python 3

File details

Details for the file ekogram-0.27.5.tar.gz.

File metadata

  • Download URL: ekogram-0.27.5.tar.gz
  • Upload date:
  • Size: 30.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for ekogram-0.27.5.tar.gz
Algorithm Hash digest
SHA256 728b60426281ad6e8f1db664cdafa9c0b0ea2c6f3674e3f6eed92a2768413249
MD5 bd53b898b9e897c75dac892f1a174588
BLAKE2b-256 066aef1084bdf35654fd460a0cc430d29e34b0941d619061cac1ab95e7d97dd8

See more details on using hashes here.

File details

Details for the file ekogram-0.27.5-py3-none-any.whl.

File metadata

  • Download URL: ekogram-0.27.5-py3-none-any.whl
  • Upload date:
  • Size: 29.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for ekogram-0.27.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a0b2f0b7aa2b1e95ee3e43f655d41969c2b7e82a8afb765563825521b206ac08
MD5 8dd4c240ecac7c4f99d3f46954cc4d35
BLAKE2b-256 11695fb1b291333411fae76be7669148cbd9fc5db0fc1fc9fd412dae7991258c

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