Создание Telegram-бота с использованием API ChatGPT

Создание Telegram-бота с использованием API ChatGPT

В данной статье рассказывается о том, как создать собственного Telegram-бота, интегрированного с API сервиса ChatGPT от OpenAI, который позволит пользователям получать помощь и советы от искусственного интеллекта в режиме реального времени прямо в мессенджере. Приведены инструкции по регистрации на OpenAI, получению API-ключа, созданию нового Telegram-бота и настройке вебхука для обработки запросов. Также представлен код на Python, который необходимо использовать для интеграции API ChatGPT с Telegram-ботом. В завершение предлагается протестировать созданного бота, чтобы убедиться в его работоспособности.

Сегодня мы создадим Telegram-бота, который будет работать с API ChatGPT. Этот бот позволит пользователям задавать вопросы и получать на них ответы от ChatGPT прямо внутри своего Telegram-аккаунта.

Регистрация на OpenAI

Для начала нам нужно зарегистрироваться на OpenAI, чтобы получить доступ к API ChatGPT. Для этого перейдите на сайт разработчиков OpenAI и создайте новый аккаунт.

Получение API-ключа

После регистрации на OpenAI нам нужно получить API-ключ. Для этого зайдите в свой аккаунт и перейдите в раздел “API”. Здесь нажмите на кнопку “Create API Token” и создайте новый API-ключ, который мы будем использовать для работы нашего Telegram-бота.

Создание Telegram-бота

Теперь создадим нового Telegram-бота для нашего проекта. Для этого откройте Telegram и перейдите в @BotFather. Отправьте ему команду /newbot, чтобы создать нового бота. Введите имя бота и юзернейм (например, OpenAIBot). После создания бота скопируйте его токен, который понадобится нам для работы.

Настройка вебхука

Следующим шагом будет настройка вебхука. Вебхук позволит нам получать уведомления от Telegram о новых сообщениях и запросах, которые поступают в чат с нашим ботом. Чтобы настроить вебхук, перейдите в Telegram Bot API (@Botfather > 3 > 1) и выберите своего бота. Установите вебхук на своем сервере или используйте бесплатный хостинг, такой как Heroku.

Интеграция с API ChatGPTТеперь мы можем начать интегрировать API ChatGPT в нашего Telegram-бота. Для этого нам понадобится создать новый файл на нашем сервере или хостинге и добавить следующий код:

import os from dotenv import load_dotenv from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext from openai import OpenAIApi load_dotenv() openai = OpenAIApi(os.getenv("OPENAI_API_KEY")) def start(update, context): update.message.reply_text("Привет! Я - OpenAI-бот для Telegram. Задай мне вопрос!") def chatgpt(update, context): query = update.message.text response = openai. chat(“ChatGPT”, query) update.message.reply_html(response[‘choices’][0][‘text’]) updater = Updater(token=os.getenv(‘TELEGRAM_BOT_TOKEN’), use_context=True) dispatcher = updater.dispatcher

Добавить команды /start и /stop

start_handler = CommandHandler(‘start’, start) stop_handler = CommandHandler(‘stop’, updater.stop)

Обрабатывать сообщения

message_handler = MessageHandler(Filters.text & ~Filters.command, chatgpt) dispatcher.add_handler(start_handler) dispatcher.add_handler(message_handler) updater.start_polling() updater.idle()

Тестирование бота

Теперь наш Telegram-бот готов к использованию. Чтобы протестировать его, отправьте сообщение боту, и он должен ответить вам с помощью API ChatGPT. Если все работает правильно, то вы получите ответ на свой вопрос.

Заключение

Итак, мы создали собственного Telegram-бота на основе API ChatGPT, который позволяет пользователям задавать вопросы и получать ответы от искусственного интеллекта прямо в своем Telegram-аккаунте. Надеемся, что этот бот окажется полезным для вас и ваших друзей!

1212
10 комментариев

Heroku давно не бесплатен.

Ответить

Увы но да, мой недосмотр. Как альтернатива, можно пользоваться этим: https://replit.com/

Ответить

У меня вопрос к автору статьи, где он нашёл такие интересные библиотеки как telegram.ext и и метод OpenAIApi в openai, буду признателен если он поделится

Ответить

telegram.ext, это модуль, он есть в python-telegram-bot. Установить можно: ( pip install python-telegram-bot )

Ответить

Как базовая иллюстрация работы API наверное и прокатит, но бот должен поддерживать историю общения, как собственно это реализовано в ChatGPT, но только на поправку самого API Telegram. Для этого надо БД какую никакую прикрутить.

Ответить

О боже, такое делали года два назад. Щас уже не прокатит

Ответить