Интеграция ChatGPT в Telegram-ботов: пошаговое руководство

Зачем это нужно?

Боты с искусственным интеллектом могут:

  • Автоматизировать поддержку клиентов
  • Давать быстрые и осмысленные ответы
  • Развлекать и обучать пользователей
  • Создавать персонализированные рекомендации

С ChatGPT Telegram-бот становится не просто командным исполнителем, а полноценным собеседником.

Что понадобится?

Прежде чем начать, подготовьте:

  • Аккаунт Telegram (очевидно)
  • Токен от BotFather (создадим нового бота)
  • API-ключ OpenAI для доступа к ChatGPT
  • Сервер/VPS или локальный компьютер для запуска кода
  • Python и библиотека aiogram или pyTelegramBotAPI

Шаг 1: Создание бота в Telegram

  • Открываем Telegram, ищем BotFather и пишем /newbot
  • Даем боту имя и уникальное @username
  • Получаем API-токен — запоминаем, он нам пригодится!

Шаг 2: Регистрация в OpenAI

  • Заходим на OpenAI
  • Регистрируемся и создаем API-ключ в разделе API Keys
  • Сохраняем ключ для дальнейшего использования

Шаг 3: Установка и настройка кода

Устанавливаем зависимости:

pip install aiogram openai python-dotenv

Создаем файл .env для хранения токенов:

TELEGRAM_BOT_TOKEN=твой_токен_бота OPENAI_API_KEY=твой_api_ключ

Пишем код бота

import openai import os from aiogram import Bot, Dispatcher, types from aiogram.utils import executor from dotenv import load_dotenv load_dotenv() TELEGRAM_BOT_TOKEN = os.getenv("TELEGRAM_BOT_TOKEN") OPENAI_API_KEY = os.getenv("OPENAI_API_KEY") bot = Bot(token=TELEGRAM_BOT_TOKEN) dp = Dispatcher(bot) openai.api_key = OPENAI_API_KEY @dp.message_handler() async def chat_with_gpt(message: types.Message): response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": message.text}] ) await message.reply(response["choices"][0]["message"]["content"]) if __name__ == "__main__": executor.start_polling(dp, skip_updates=True)

Шаг 4: Запуск бота

  • Сохраняем код в файл bot.py
  • Запускаем командой:
python bot.py

Пишем боту в Telegram — он должен отвечать на сообщения!

Шаг 5: Улучшаем функциональность

Добавляем поддержку команд

@dp.message_handler(commands=['start', 'help']) async def send_welcome(message: types.Message): await message.reply("Привет! Я бот на базе ChatGPT. Задавай вопросы!")

Ограничиваем длину сообщений

if len(message.text) > 500: await message.reply("Сообщение слишком длинное, попробуй короче!") return

Добавляем память (контекст диалога)

user_messages = {} @dp.message_handler() async def chat_with_gpt(message: types.Message): chat_id = message.chat.id if chat_id not in user_messages: user_messages[chat_id] = [] user_messages[chat_id].append({"role": "user", "content": message.text}) response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=user_messages[chat_id] ) bot_reply = response["choices"][0]["message"]["content"] user_messages[chat_id].append({"role": "assistant", "content": bot_reply}) await message.reply(bot_reply)

Итог

Поздравляю! Теперь у вас есть Telegram-бот с искусственным интеллектом. Можно добавить кнопки, голосовые сообщения и даже интеграцию с базами данных.

🔹 Хотите еще больше крутых гайдов? Подписывайтесь на наш Telegram-канал — там самые свежие лайфхаки и фишки по AI и ботоводству!

8
1
3 комментария