You are currently viewing Build an Amazing ChatGPT Powered Telegram Bot in Python

Build an Amazing ChatGPT Powered Telegram Bot in Python

In this tutorial you will learn how to build a ChatGPT Powered Telegram Bot in Python. This step-by-step guide will show you how to get the most out of ChatGPT, which is an advanced learning AI model made by OpenAI. With the power of ChatGPT and the ease of VS Code, you’ll discover how to create a chatbot that interacts seamlessly with Telegram users.

Requirement specifications for building ChatGPT Powered Telegram Bot in Python

To build a ChatGPT-powered Telegram bot using VS Code, you’ll need the following requirements:

  • VS Code: Install Visual Studio Code, a code editor that works on Windows, macOS, and Linux and is both light and strong.
  • Python: Make sure Python is set up on your computer. The latest version can be found on the official Python website, where it can be downloaded.
  • OpenAI API Key: To use the ChatGPT API, get an API key from OpenAI. Go to the OpenAI page to learn more about how to get an API key.
  • Telegram Bot Token: Make a Telegram bot and ask the BotFather bot on Telegram for a bot token. For your bot to talk to Telegram’s API, it needs this code.
  • Python Libraries: Install the appropriate Python libraries, such as python-telegram-bot for dealing with the Telegram Bot API and openai for integrating with the ChatGPT API.
  • Internet Connection: Make sure you have a secure internet connection so you can get to the APIs and materials you need.

If you meet these requirements, you’ll have everything you need to make your own Telegram bot using ChatGPT and VS Code. Let’s get started!

How to Access telegram Bot API

How to get API in Telegram

Python code for making Telegram Bot using ChatGPT

You have to install two libraries such as OpenAI, and Aiogram to run this code.

  • OpenAI library help us to create custom chatbot for your applications
  • Aiogram is a Python library specifically designed for building Telegram bots
import os
import openai
from aiogram import Bot, Dispatcher, types
from aiogram.contrib.fsm_storage.memory import MemoryStorage
from aiogram.dispatcher import FSMContext
from aiogram.dispatcher.filters import Command
from aiogram.dispatcher.middlewares import BaseMiddleware


bot = Bot(token = 'Your bot token')
dp = Dispatcher(bot)

openai.api_key ="Your open ai token "



@dp.message_handler(commands=['start', 'help'])
async def welcome(message: types.Message):
    await message.reply("Hello! I'm a GPT chat bot. Ask me something")


@dp.message_handler()
async def gpt(message: types.Message, state: FSMContext):
    response = await openai.Completion.create(
        model="text-davinci-003",
        prompt=message.text,
        temperature=0.5,
        max_tokens=1024,
        top_p=1,
        frequency_penalty=0.0,
        presence_penalty=0.0
    )
    await message.reply(response.choices[0].text)


if __name__ == "__main__":
    from aiogram import executor
    executor.start_polling(dp, skip_updates=True)

Here is the explanation of the above code

  • Import the necessary modules: os, openai, Bot, Dispatcher, types, MemoryStorage, FSMContext, Command, and BaseMiddleware.
  • With a Telegram bot key, you can make an instance of the Bot class.
  • Create an instance of the Dispatcher class and pass the Bot instance as an option.
  • Use openai.api_key to set the OpenAI API key.
  • Set up a message manager code called “welcome” that sends a greeting message in response to “/start” and “/help.”
  • Set up a function called gpt that handles new messages by sending them to the OpenAI API so that a reaction can be made.
  • In the gpt handling function, make an API call to OpenAI’s Completion API with the following parameters: model, prompt (message text), temperature, max_tokens, top_p, frequency_penalty, and presence_penalty.
  • Send the user the answer that was made (the first choice from OpenAI’s API return).
  • Make sure that the code is running as the main module.
  • If it is the main module, import the executor module from aiogram and use the start_polling method with the Dispatcher instance and skip_updates set to True to start polling for changes.

Conclusion

In conclusion, this blog provides a comprehensive explanation of a code snippet that demonstrates how to create a Telegram bot using the aiogram library and integrate it with the OpenAI GPT API. The code showcases message handling, API calls, and response generation. To stay informed about future blog posts, tutorials, and updates, we encourage you to subscribe to our newsletter. Don’t miss out on valuable insights and helpful resources – subscribe today!

If you like the article and would like to support me, make sure to: