Skip to main content

OpenAI GPT, driven by Telegram

Project description

TeLLMgramBot

The basic goal of this project is to create a bridge between a Telegram Bot and a Large Langage Model (LLM), like ChatGPT.

Telegram Bot + LLM Encapsulation

  • The Telegram interface handles special commands, especially on some basic "chatty" prompts and responses that don't require LLM, like "Hello".
  • The more dynamic conversation gets handed off to the LLM to manage prompts and responses, and Telegram acts as the interaction broker.
  • The bot can also interpret URLs. Pass the URL [in brackets] and mention what you want the bot to do with it.
    • Example: "What do you think of this article? [https://some_site/article]"

Why Telegram?

Using Telegram as the interface not only solves "exposing" the interface, but gives you boadloads of interactivity over a standard Command Line interface, or trying to create a website with input boxes and submit buttons to try to handle everything:

  1. Telegram already lets you paste in verbose, multiline messages.
  2. Telegram already lets you paste in pictures, videos, links, etc.
  3. Telegram already lets you react with emojis, stickers, etc.

API Keys

To function, the bot requires three API keys:

  • OpenAI - Drives the actual GPT AI.
  • BotFather - Helps create a new Telegram bot and provide its API.
  • VirusTotal - Performs safety checks on URLs.

Bot Setup

  1. To initialize the bot, install via PIP (pip install TeLLMgramBot) and then import into your project.
  2. Instantiate the bot by passing in various configuration pieces needed. Use OpenAI Playground to test more your prompt.
    telegram_bot = TeLLMgramBot.TelegramBot(
        bot_username   = <Bot username like 'friendly_bot'>,
        bot_nickname   = <Bot nickname like 'Botty'>,
        bot_initials   = <Bot initials like 'FB'>,
        bot_owner      = <Bot owner's Telegram username>,
        chatmodel      = <ChatGPT model like 'gpt-3.5-turbo'>,
        persona_name   = <Bot name like 'Friendly Bot'>,
        persona_prompt = <System prompt summarizing bot personality>,
        persona_temp   = <LLM value [0-2] being factual vs. creative>
    )
    
  3. Run by calling:
    telegram_bot.start_polling()
    
  4. Once you see TeLLMgramBot polling..., the bot is online in Telegram. Initiate a conversation there by passing the /start command.
    • NOTE: The bot will only respond to the /start command coming from the bot_owner username.

Project details


Download files

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

Source Distribution

TeLLMgramBot-1.1.4.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

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

TeLLMgramBot-1.1.4-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

Details for the file TeLLMgramBot-1.1.4.tar.gz.

File metadata

  • Download URL: TeLLMgramBot-1.1.4.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for TeLLMgramBot-1.1.4.tar.gz
Algorithm Hash digest
SHA256 6754a7cf1adda710b5da164dbbc61ead3afe9c9a6518855073f2520005a7c3e3
MD5 ca10228debfcf8f7296f12a6d7afe50f
BLAKE2b-256 958448415335a98deadad0338f020ddc31ca7be22492ce47233291d1ffd4aeeb

See more details on using hashes here.

File details

Details for the file TeLLMgramBot-1.1.4-py3-none-any.whl.

File metadata

  • Download URL: TeLLMgramBot-1.1.4-py3-none-any.whl
  • Upload date:
  • Size: 15.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for TeLLMgramBot-1.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 7c58c57e56270f9b7a0d52589e3543d88e62cf427e84ee8b8fbd58a9ceda158e
MD5 9178514ff6771c2e9cd9176ad5e47034
BLAKE2b-256 a697bb0f0c9e5ee185624efc72f9c7c221b7f430e81288c135a341746a5eaf34

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