Найти в Дзене
Simple Prog

Telegram bot с ChatGpt на Python

Оглавление

Это руководство по созданию ChatGPT бота Telegram всего несколькими строками кода на ЯП Python. Независимо от того, являетесь ли вы профессионалом в области программирования или только начинаете, мы подготовили для вас пошаговое руководство. Приготовьтесь произвести революцию в ваших чатах и хорошенько повеселиться!

Telegram bot с ChatGpt  на Python
Telegram bot с ChatGpt на Python

1. Для начала убедитесь, что на вашем компьютере установлен Python.

Для этого зайдите на сайт python.org и установите Python.

2. Затем получите учетные данные для аутентификации Telegram API.

В начале вам нужно будет создать нового бота и получить его API token. Не волнуйтесь, это очень просто! Просто пообщайтесь с ботом BotFather в Telegram, и он поможет вам с реализацией этого процесса. Следуйте этим шагам:

BotFather Telegram
BotFather Telegram

Откройте диалог с ботом BotFather в Telegram, выполнив поиск “@BotFather” в строке поиска. Введите команду “/newbot”, чтобы создать нового бота. Следуйте инструкциям, чтобы выбрать имя и логин для вашего бота. Имя пользователя должно заканчиваться на “bot” (например, ”my_new_bot”).

BotFather Telegram
BotFather Telegram

Как только бот будет создан, BotFather предоставит вам токен. Этот токен используется для аутентификации вашего бота и предоставления ему доступа к Telegram API. Скопируйте токен и используйте его в коде вашего бота для аутентификации и доступа к API. Не делитесь токеном вашего бота ни с кем.

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

Own Bot
Own Bot

Используйте эту (https://api.telegram.org/bot<BOT_TOKEN>/sendMessage?chat_id=<CHAT_ID>&text=<MESSAGE_TEXT>) ссылку чтобы отправить запрос через API бота, используя своё имя канала и токен доступа.

Ответ от API бота
Ответ от API бота

Вы найдёте идентификатор канала в разделе chat/id.

Telegram chat
Telegram chat

Важно предоставить вашему боту права администратора, чтобы он мог выполнять все необходимые задачи.
Внимание всем программистам! Эти ID токенов доступа могут выглядеть красиво, но они просто для галочки. Далее вам понадобится свой собственный для вашего приложения.

3. Пришло время получить свой API-ключ и подключиться к движку OpenAI.

Если в вашем регионе ChatGpt недоступен, вот инструкция по получению API ключа.

Чтобы получить API-ключ от OpenAI, вам нужно будет создать учётную запись на веб-сайте OpenAI . Как только у вас появится учётная запись, вы сможете получить доступ к своим API-ключам, перейдя на вкладку “API Keys” на панели управления пользователя.

OpenAI
OpenAI

Оттуда вы можете сгенерировать новый ключ и использовать его для аутентификации ваших запросов API. Важно хранить этот API-ключ в секрете и в безопасности, чтобы защитить вашу учётную запись.

OpenAI
OpenAI

Имейте в виду, что OpenAI может ограничить количество вызовов API, которые вы можете выполнять. С личной учётной записью вам предоставляется грант в размере 18 долларов США для использования в запросах API. Обязательно ознакомьтесь с условиями предоставления услуг и информацией о ценах на веб-сайте OpenAI перед использованием API.

Подключение к Text-davinci-003

OpenAI
OpenAI

Text-davinci-003 – это большая языковая модель, разработанная OpenAI. Она считается одной из наиболее эффективных языковых моделей, доступных в настоящее время, благодаря своей способности генерировать текст, похожий на человеческий, и выполнять широкий спектр языковых задач. Она был обучена на наборе данных из миллиардов слов и может генерировать связный текст, который читается так, как будто он был написан человеком.

С помощью нескольких простых шагов и немного магии Python вы сможете подключить и развернуть своего бота ChatGPT в своей группе в кратчайшие сроки. Давайте приступим к написанию кода!

4. Начните писать код на Python.

Для начала мы импортируем необходимые библиотеки и установим параметр аутентификации ключа.

Фрагмент кода автора
Фрагмент кода автора

Вводим параметр BOT_PERSONALITY — задайте стиль ответов ChatGpt в телеграме! Используйте эту удобную константу, чтобы придать вашему боту определённый тон или манеру разговора, например, дружелюбный, профессиональный или с чувством юмора.

Установив параметр BOT_PERSONALITY, вы можете настроить способ общения ChatGPT с вашими пользователями и создать более персонализированный и привлекательный объект:

Вот 15 видов персоналий, которые можно выбрать of ChatGPT:

  1. Friendly
  2. Professional
  3. Humorous
  4. Sarcastic
  5. Witty
  6. Sassy
  7. Charming
  8. Cheeky
  9. Quirky
  10. Laid-back
  11. Elegant
  12. Playful
  13. Soothing
  14. Intense
  15. Passionate

Затем создайте функцию, которая получает ответ от чат-бота OpenAI.

Фрагмент кода автора
Фрагмент кода автора

-12

Первая функция отправит POST-запрос в OpenAI API с заданными входными данными (например, “Что такое энтропия?”) для анализа API. Параметр temperature определяет, насколько случайным будет сгенерированный ответ — более низкие значения означают более предсказуемый текст. Параметр max_tokens устанавливает ограничение на количество слов и знаков препинания в ответе. И вуаля! Функция вернёт сгенерированный ответ из указанной модели OpenAI.

Далее, пришло время создать функцию, которая отправляет сообщение определённой группе в Telegram:

Фрагмент кода автора
Фрагмент кода автора

Приведённая выше функция (первая) отправляет сообщение определённой группе Telegram с помощью Telegram API. Функция принимает три аргумента: bot_message, который является сообщением, подлежащим отправке, chat_id, который является уникальным идентификатором чата, в который будет отправлено сообщение, и msg_id, который задаёт уникальный идентификатор сообщения, на которое вы хотите ответить. Функция использует библиотеку запросов для отправки запроса GET в Telegram API с необходимыми параметрами, включая ключ API, идентификатор чата и сообщение для отправки.

Теперь пришло время перейти к самому интересному— созданию функции, которая извлекает последние запросы от пользователей в группе Telegram, генерирует умный ответ с помощью OpenAI и отправляет его обратно в группу. Давайте сделаем это!

Фрагмент кода автора
Фрагмент кода автора

Но подождите, это ещё не все! Мы также убедимся, что они от реального пользователя (а не от надоедливого бота), и отправим их в OpenAI API для анализа, если в них упоминается имя пользователя бота и они являются ответом боту. Убедитесь, что вы переименовали своего бота в скрипте, заменив “@ask_chatgptbot” на желаемое имя.

Итак, последний шаг! Пришло время добавить компонент планирования в ваш бот, чтобы он мог регулярно проверять наличие новых сообщений в группе и отправлять ответы по мере необходимости. Потоковая библиотека Python может помочь вам в этом:

Фрагмент кода автора
Фрагмент кода автора

Та-да! Представляем плоды вашего труда: окончательный код на Python для вашего нового весёлого чат-бота. Просто скопируйте и вставьте этого “парня” в свой любимый редактор кода, подключите свои API-ключи и идентификатор группы чата, и вы в мгновение ока будете общаться с ChatGPT.

С помощью нескольких простых шагов и небольшого количества магии Python вы успешно создали чат-бота для своей группы Telegram с помощью OpenAI. Поздравляю! Время откинуться на спинку стула и понаблюдать за поступающими весёлыми ответами. Или, знаете ли, проведите некоторую тонкую настройку, чтобы сделать вашего чат-бота действительно уникальным.