Как сделать так чтобы бот работал всегда Телеграм питон

Бот на Python, использующий ChatGPT для Telegram [Гайд]

Бот на Python, использующий ChatGPT для Telegram [Гайд]

09 февраля 2023
Оценки статьи
Еще никто не оценил статью

В этой статье мы реализуем бота, работающего на базе ChatGPT, с помощью языка Python и библиотеки aiogram. А также проверим его в работе!

Я обращаюсь к вам с просьбой о финансовой поддержке, чтобы помочь мне справиться с непредвиденной ситуацией, связанной с поломкой моей видеокарты. Как вы знаете, создание статей требует надежного оборудования, и видеокарта является важным компонентом для создания высококачественных материалов.

Я с большим энтузиазмом и преданностью занимаюсь написанием статей и созданием контента, который доступен абсолютно бесплатно. Моей целью является поделиться знаниями и помочь другим, но поломка видеокарты создала трудности и затраты, которые я самостоятельно не могу покрыть.

БЕСПЛАТНЫЙ ХОСТИНГ для TELEGRAM БОТА на PYTHON AIOGRAM | REPLIT

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

Все откликнувшиеся на зов помощи будут упомянуты после выполнения целей

Примечание: у вас уже должен быть зарегистрирован аккаунт в ChatGPT — OpenAI, если вы этого ещё не сделали, можете ознакомиться с этой статьёй

Дополнительно (может быть полезно): доступен гайд для запуска данного telegram-бота с ChatGPT на VPS сервере, используя Docker контейнер.

Получаем API токен для ChatGPT

  1. Нам необходимо получить токен для API, переходим на сайт: platform.openai.com

На сайте нажимаем Personal, и выбираем View API keys:

Personal -></p><p> View API keys

Далее нажимаем Create new secret key

Нажимаем Create new secret key

Получаем наш ключ для ChatGPT API.

Сохраняем куда-нибудь в блокнот, потом его вставим в main.py

Опционально: вы можете изучить документацию и другие моменты в управлении ChatGPT.

Получаем токен для бота в телеграмм

Получаем ключ для доступа к API, на скриншоте он закрашен. Сохраняем в удобное место.

Создаем бота на Python

Создание виртуального окружения

КАК СОЗДАТЬ И ЗАЛИТЬ НА СЕРВЕР ТЕЛЕГРАМ-БОТА НА PYTHON ЗА 15 МИНУТ?

  1. Открываем папку, где хотим хранить проект с помощью IDE редактора, например VS CODE, открываем терминал, пишем команду cmd и создаем виртуальное окружение с помощью команды py -m venv venv . На компьютере у вас должен быть установлен Python. Скачать его можно на официальном сайте.

Далее активируем виртуальное окружение следующей командой: cd venv/scripts activate и возвращаемся в корневой каталог с помощью команды cd ../../ , в терминале у нас появится, что вирутальное окружение активировано, в скобках (venv).

Активировали виртуальное окружение

Далее создаем файл рядом с venv под названием main.py.

Файл для запуска бота

Теперь нам необходимо установить два пакета с помощью терминала: pip install openai aiogram

Результат выполнения команды:

(venv) C:UsersRazilatorDesktopProjectsProgHunterBot>pip install openai aiogram Collecting openai Downloading openai-0.26.5.tar.gz (55 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 55.5/55.5 kB 481.5 kB/s eta 0:00:00 Installing build dependencies done Getting requirements to build wheel

done Installing backend dependencies done Preparing metadata (pyproject.toml) done Collecting aiogram Using cached aiogram-2.25.1-py3-none-any.whl (203 kB) Collecting requests>=2.20 Using cached requests-2.28.2-py3-none-any.whl (62 kB) Collecting tqdm Using cached tqdm-4.64.1-py2.py3-none-any.whl (78 kB) Collecting aiohttp Using cached aiohttp-3.8.3-cp311-cp311-win_amd64.whl (317 kB) Collecting Babel2.10.0,>=2.9.1 Using cached Babel-2.9.1-py2.py3-none-any.whl (8.8 MB) Collecting certifi>=2021.10.8 Using cached certifi-2022.12.7-py3-none-any.whl (155 kB) Collecting magic-filter>=1.0.9 Using cached magic_filter-1.0.9-py3-none-any.whl (9.3 kB) Collecting attrs>=17.3.0 Using cached attrs-22.2.0-py3-none-any.whl (60 kB) Collecting charset-normalizer3.0,>=2.0 Using cached charset_normalizer-2.1.1-py3-none-any.whl (39 kB) Collecting multidict7.0,>=4.5 Using cached multidict-6.0.4-cp311-cp311-win_amd64.whl (28 kB) Collecting async-timeout5.0,>=4.0.0a3 Using cached async_timeout-4.0.2-py3-none-any.whl (5.8 kB) Collecting yarl2.0,>=1.0 Using cached yarl-1.8.2-cp311-cp311-win_amd64.whl (55 kB) Collecting frozenlist>=1.1.1 Using cached frozenlist-1.3.3-cp311-cp311-win_amd64.whl (32 kB) Collecting aiosignal>=1.1.2 Using cached aiosignal-1.3.1-py3-none-any.whl (7.6 kB) Collecting pytz>=2015.7 Using cached pytz-2022.7.1-py2.py3-none-any.whl (499 kB) Collecting idna4,>=2.5 Using cached idna-3.4-py3-none-any.whl (61 kB) Collecting urllib31.27,>=1.21.1 Using cached urllib3-1.26.14-py2.py3-none-any.whl (140 kB) Collecting colorama Using cached colorama-0.4.6-py2.py3-none-any.whl (25 kB) Building wheels for collected packages: openai Building wheel for openai (pyproject.toml) done Created wheel for openai: filename=openai-0.26.5-py3-none-any.whl size=67643 sha256=37dc116c709234495442341b7ee6aa3dd3bc4106aaff6db62e06b270896d5d7e Stored in directory: c:usersrazilatorappdatalocalpipcachewheelsea6cec84e3e339332a539336f4b1c6990779c508ee73a760b2697e6 Successfully built openai Installing collected packages: pytz, urllib3, multidict, magic-filter, idna, frozenlist, colorama, charset-normalizer, certifi, Babel, attrs, async-timeout, yarl, tqdm, requests, aiosignal, aiohttp, openai, aiogram Successfully installed Babel-2.9.1 aiogram-2.25.1 aiohttp-3.8.3 aiosignal-1.3.1 async-timeout-4.0.2 attrs-22.2.0 certifi-2022.12.7 charset-normalizer-2.1.1 colorama-0.4.6 frozenlist-1.3.3 idna-3.4 magic-filter-1.0.9 multidict-6.0.4 openai-0.26.5 pytz-2022.7.1 requests-2.28.2 tqdm-4.64.1 urllib3-1.26.14 yarl-1.8.2 [notice] A new release of pip available: 22.3 -> 23.0 [notice] To update, run: python.exe -m pip install —upgrade pip

Еще по теме:  Секретные фишки в ТГ на Андроид стикеры

Теперь в наш файл main.py добавляем следующий фрагмент кода:

В примере выше вы должны вставить токены, которые сохранили соответственно для телеграмм бота и для OpenAI ChatGPT.

Это самые стандартные настройки для запуска и работы бота и стандартные настройки для нейросети, чтоб он вам отвечал непосредственно от нейросети ChatGPT в телеграмме. В коде я передаю ответ от нейросети в виде пришедшего ответа по API.

Запускам бота, проверяем работу

Теперь нам необходимо запустить бота, для этого в терминале напишите py main.py и если все сделали правильно, результат будет следующим:

(venv) C:UsersRazilatorDesktopProjectsProgHunterBot>py main.py Updates were skipped successfully.

Теперь напишем нашему боту

Пример работы нашего бота с ChatGPT

Отлично. Надеюсь у вас все получилось! Иногда может случится такое, что сервер будет выдавать ошибку, к сожалению, это просто нагружен сам сервер нейросети.

Плюсы способа с телеграм-ботом:

  • Вы можете обойтись без VPN.
  • Всегда в легкой доступности. Минусы:
  • Ограниченное кол-во на использование, OpenAI выдает вам 30$ как проверка. На самом деле вы можете долго им пользоваться. Тарификация маленькая и если будет желание, можете купить подписку. Это касается только использования ChatGPT через API.
  • Общение не в рамках контекста. Нейросеть просто не запоминает ваши предудыщие сообщения через API, как это реализовано на самом сайте с нейросетью.

Меню категорий

    Загрузка категорий.

Добро пожаловать в Блог Разработчика Владислава Александровича.

Ведется медленная, но уверенная разработка функционала сайта.

Django Core: 0.3.4 / Next.js 1.0 / UPD: 05.06.2023

Источник: proghunter.ru

Создание бота на Python для Telegram и его упаковка в Docker Compose

В настоящее время многие компании и сообщества используют мессенджеры для общения и предоставления информации своим пользователям. Один из самых популярных мессенджеров — Telegram. Создание бота на Python для Telegram является эффективным способом автоматизировать задачи и взаимодействовать с пользователями. В этой статье мы рассмотрим, как создать бота на Python для Telegram и упаковать его в Docker Compose для удобного развертывания и масштабирования.

Часть 1: Создание бота на Python для Telegram

Шаг 1: Регистрация бота в Telegram

Первым шагом для создания бота на Python для Telegram является регистрация бота и получение токена доступа. Для этого следуйте инструкциям Telegram и создайте нового бота, получив уникальный токен доступа.

Шаг 2: Установка необходимых библиотек

Далее необходимо установить библиотеку python-telegram-bot, которая предоставляет удобный интерфейс для взаимодействия с Telegram API. Вы можете установить ее с помощью pip, выполнив команду:

pip install python-telegram-bot

Шаг 3: Написание кода бота

Теперь, когда у вас есть токен доступа и установлены необходимые библиотеки, можно приступить к написанию кода бота на Python. Вот простой пример кода, который реагирует на приветствие пользователя и отправляет ответное сообщение:

from telegram.ext import Updater, MessageHandler, Filters def handle_message(update, context): message = update.message.text if message.lower() == ‘привет’: context.bot.send_message(chat_id=update.effective_chat.id, text=’Привет, как дела?’) updater = Updater(token=’YOUR_TOKEN_HERE’, use_context=True) dispatcher = updater.dispatcher dispatcher.add_handler(MessageHandler(Filters.text, handle_message)) updater.start_polling()

Вышеуказанный код создает экземпляр Updater , который устанавливает соединение с Telegram API с использованием вашего токена доступа. Затем мы создаем обработчик сообщений MessageHandler , который реагирует на текстовые сообщения. В нашем примере он проверяет, содержит ли сообщение текст «привет» и отправляет ответное сообщение.

Часть 2: Упаковка бота в Docker Compose

Шаг 1: Установка Docker и Docker Compose

Прежде чем упаковывать бота в Docker Compose, убедитесь, что у вас установлены Docker и Docker Compose на вашей системе. Вы можете найти инструкции по установке на официальном сайте Docker.

Еще по теме:  Сохранить файл из Телеграмма

Шаг 2: Создание Dockerfile

Dockerfile — это файл, который содержит инструкции для создания Docker-образа. Создайте файл с именем «Dockerfile» в корневой папке вашего проекта и добавьте следующий код:

FROM python:3.9 WORKDIR /app COPY requirements.txt . RUN pip install —no-cache-dir -r requirements.txt COPY . . CMD python bot.py

Этот Dockerfile использует базовый образ Python 3.9, устанавливает необходимые зависимости, копирует файлы проекта и запускает скрипт bot.py .

Шаг 3: Создание docker-compose.yml

Теперь создайте файл docker-compose.yml в корневой папке вашего проекта и добавьте следующий код:

version: ‘3’ services: bot: build: . environment: — YOUR_TOKEN=YOUR_TOKEN_HERE

Этот файл определяет службу bot , которая будет построена на основе текущего каталога ( . ). Он также устанавливает переменную окружения YOUR_TOKEN со значением вашего токена доступа.

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

Теперь вы можете запустить вашего бота в Docker Compose. Откройте терминал, перейдите в папку с файлами проекта и выполните следующую команду:

docker-compose up

Docker Compose автоматически соберет Docker-образ и запустит контейнер с вашим ботом. Вы увидите вывод логов бота в терминале.

Заключение

В этой статье мы рассмотрели, как создать бота на Python для Telegram и упаковать его в Docker Compose. Docker позволяет легко развертывать и масштабировать ботов, обеспечивая удобную изоляцию и управление зависимостями. Docker Compose предоставляет простой способ описания и запуска множества связанных контейнеров. Теперь у вас есть все необходимое для создания и развертывания своего собственного бота на Python для Telegram. Удачи в вашем проекте!

Источник: infozone.pro

Telegram bot с ChatGpt на Python.

Telegram bot с ChatGpt на Python.

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

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

Если python не установлен, инструкция тут:

Telegram bot с ChatGpt на Python.

Telegram bot с ChatGpt на Python.

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

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

Telegram bot с ChatGpt на Python.

Отправьте сообщение на этот канал через API бота, используя своё имя канала и токен доступа.

, «chat»:< «id»:-1001527664788, «title»:»», «username»:»TestChannel»,»type»:»channel» >, «date»:1670434355, «text»:»123″ > >

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

Telegram bot с ChatGpt на Python.

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

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

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

Telegram bot с ChatGpt на Python.

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

Telegram bot с ChatGpt на Python.

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

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

Telegram bot с ChatGpt на Python.

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

Еще по теме:  В статистике ТГ написано поделились видео

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

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

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

# 1. импорт стандартных библиотек import json import os import threading # серктный ключ чатджипити, полученный ранее API_KEY = ‘xxxxxxxxxxxsecretAPIxxxxxxxxxx’ # Models: text-davinci-003,text-curie-001,text-babbage-001,text-ada-001 MODEL = ‘text-davinci-003’ #токен, полученный от телеграм бота ботфазер BOT_TOKEN = ‘xxxxxxbotapikeyxxxxx’ # определяем личность бота, мы сделали бота-шутника для примера BOT_PERSONALITY = ‘Answer in a funny tone, ‘

Вводим параметр 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.

# 2a. ответ от openAi def openAI(prompt): # делаем запрос на сервер с ключами response = requests.post( ‘https://api.openai.com/v1/completions’, headers=’>, json= ) result = response.json() final_result = ».join(choice[‘text’] for choice in result[‘choices’]) return final_result # 2b. функция обработки изображений def openAImage(prompt): # запрос на OpenAI API resp = requests.post( ‘https://api.openai.com/v1/images/generations’, headers=’>, json= ) response_text = json.loads(resp.text) return response_text[‘data’][0][‘url’]

Telegram bot с ChatGpt на Python.

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

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

# 3a. функция отправки в заданную телеграм группу def telegram_bot_sendtext(bot_message,chat_id,msg_id): data = < ‘chat_id’: chat_id, ‘text’: bot_message, ‘reply_to_message_id’: msg_id >response = requests.post( ‘https://api.telegram.org/bot’ + BOT_TOKEN + ‘/sendMessage’, json=data ) return response.json() # 3b. Функция, которая отправляет изображение в определенную группу телеграмм def telegram_bot_sendimage(image_url, group_id, msg_id): data = < ‘chat_id’: group_id, ‘photo’: image_url, ‘reply_to_message_id’: msg_id >url = ‘https://api.telegram.org/bot’ + BOT_TOKEN + ‘/sendPhoto’ response = requests.post(url, data=data) return response.json()

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

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

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

# 5 Запускаем проверку каждые 5 секунд на наличие новых сообщений def main(): timertime=5 Chatbot() # 5 секунд таймер threading.Timer(timertime, main).start() # запускаем функцию main if __name__ == «__main__»: main()

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

Полная версия кода (github link here):

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

Источник: uproger.com

Рейтинг
( Пока оценок нет )
Загрузка ...