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

Deef — бесплатный GPT; Uncensored_Ai - бесплатный Deepseek

from ekogram import Uncensored_Ai, Deef

gpt = Uncensored_Ai()
gpt2 = Deef()

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

print(gpt.reply_ai(messages, True))
print("\n\n"+gpt2.toolchat("hi"))

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

from ekogram import FreeImg

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

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

from ekogram import Deef

tr = Deef()
print(tr.translate("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"}]))

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

from ekogram import Deef

gpt = Deef()
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: OnlySQ, Uncensored_Ai, FreeImg, Deef, 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-2.1.5.tar.gz (31.7 kB view details)

Uploaded Source

Built Distribution

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

ekogram-2.1.5-py3-none-any.whl (30.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ekogram-2.1.5.tar.gz
  • Upload date:
  • Size: 31.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for ekogram-2.1.5.tar.gz
Algorithm Hash digest
SHA256 05f72910472954d2daf8dbcfcfc912d82f41bfe5e63484fb1ac6455aca359d9d
MD5 4f42376dda807a11f04a35b8d6d99267
BLAKE2b-256 2b950567be6b7f9c252cc8626780d8c849de60142039a9b11d00661e54b01e20

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ekogram-2.1.5-py3-none-any.whl
  • Upload date:
  • Size: 30.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for ekogram-2.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 1c0c14304656bf3bd68372375c40da77d97c352195d88f44e8b6978d404b5171
MD5 09aaa30a6a776d21adec9da27db05f55
BLAKE2b-256 eed8290683c4f794f4dde7b1627d0242a0233669b96fe3e1f8f694a439d14a4a

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