Что такое api токен в Телеграмм

Данная статья написана по видео-ролику «ChatGPT OpenAI в Telegram на Python / Пишем Telegram-бота ChatGPT на Питоне» c небольшим дополнением — добавил в код проверку по id в телеграме.
Как ограничить доступ к боту телеграм (aiogram) — об этом читайте в конце данной статьи.

Если вы не сталкивались с питоном, то необходимо установить его. О том, как это сделать, подробно описано здесь.

Теперь приступим к созданию бота ChatGPT в Telegram.

Установка библиотек для телеграм-бота:

Первое, что нам нужно сделать — это установить библиотеки aiogram и OpenAI:

  • Чтобы установить aiogram, введите в терминале:

pip install aiogram

  • Чтобы установить OpenAI, введите в терминале:

pip install openai

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

Чтобы добавить функционал ChatGPT в Telegram, для начала, необходимо зарегистрироваться здесь — https://platform.openai.com, о том как зарегистрировать аккаунт в ChatGPT на территории РФ, снято уже очень много видео.

СОЗДАНИЕ ЧАТ БОТА В ТЕЛЕГРАМ 2021 БЕСПЛАТНО | API TOKEN TELEGRAM


Далее переходим в раздел API Keys и нажимаем кнопку «Create new secret key», копируем получившийся ключ.

Как создать бота в телеграм:

  • Переходим по ссылке выше и запускаем бота, нажимаем кнопку «Меню»
  • Вводим любое имя для нашего бота, отправляем сообщение
  • Вводим логин нашего бота, по которому мы сможем его найти. Важно: login должен оканчиваться на bot (Пример правильного логина: illarion_bot), а так же логин должен быть уникальным
  • Копируем токен API нашего бота (начинается после слов — «Use this token to access the HTTP API:»)

Пишем код телеграм-бота на Python:

Создаем любой файл с расширением .py , а в сам файл вставляем следующий код:

Замените токены Телеграм и OpenAI в коде на те, что мы получили выше.
Прописываются они здесь (строки кода номер 7 и 8):

token = ‘TELEGRAM_BOT_TOKEN’ openai.api_key = ‘OPENAI_KEY’

В данном коде используется языковая модель text-davinci-003, т.е. — Чат. Чтобы использовать другие модули — перейдите в раздел «Examples«, выберите необходимый модуль и замените фрагмент кода:

response = openai.Completion.create( model=»text-davinci-003″, prompt=message.text, temperature=0.9, max_tokens=4000, top_p=1.0, frequency_penalty=0.0, presence_penalty=0.6, stop=[» Human:», » AI:»] )

Замените данный фрагмент на аналогичный код из описания нужного модуля (начинается с «response =» и заканчивается «)»

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

Если вы запускаете код на GNU/Linux дистрибутивах, то на вторую строчку, после фрагмента import openai вставьте следующую строку:

import os

Как ограничить доступ к боту телеграм (aiogram)?

Находим строку 12, (пустая строка после dp = Dispatcher(bot), и в пустой строке вставляем следующий код:

users = — в фигурных скобках, через запятую, перечисляется id пользователей телеграма (вводить только числа), которые допущены к данному боту.

How To Create Telegram Bot Step by Step | Part1:bot token


Узнать свой id в телеграме можно тут. Подставляем свои id, заменяем текст в скобках после message.answer (если это необходимо, так же не забывайте обернуть свой текст в кавычки «»)

Как сделать проверку по количеству введенных символов пользователя в aiogram?

Если количество введенных символов превышает 2000 — выводится ошибка с пояснением. Код следующий:

Если вы не делали проверку по id телеграм, то код вставляем на строку номер 12, (пустая строка после dp = Dispatcher(bot), и в пустой строке вставляем данный код.
Если вы сделали проверку по id, то вставляем после через строку после кода ограничения

Число 2000 в проверке — приблизительное. Читать подробнее об ограничениях OpenAI API >

Готово! ChatGPT в Telegram работает. Смотрите так же другие статьи, правда они в основном касаются веб-разработки.

Дата создания статьи: 09.02.2023

Понравилась статья? Поддержи автора!

Все донаты пойдут на развитие (курсы, подписки на разные сервисы, обслуживание сайта и т.д.) — чем большими знаниями и инструментами владею, чем больше времени у меня освобождается, тем большее количеством статей и видео я делюсь! Благодарю!

Тинькофф: 2200700867913161
Ozon Bank: 2204240107102131
ETH: 0xdeFA7b5ce6119de4B980e415fDE870419c76C590
Boosty: https://boosty.to/woronokin/donate

Комментарии

Оставьте Ваше сообщение

Подписаться
26 Комментарий
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

7 месяцев назад

все токены вставил и не получается нифига. можете у себя запустить готовый код с моими токенами ?

Еще по теме:  Как установить 2 Telegram на один телефон

7 месяцев назад
Ответить на Виталий

Добрый день, есть несколько уточнений:
1. Что выдает консоль при запуске скрипта?
2. Пайтон и все библиотеки стоят?
3. Запускаете скрипт на сервере или локально?

Если все стоит, включая библиотеки OpenAI и aiogram, и все равно не работает — пишите мне в телегу, попробую запустить.

7 месяцев назад

Очень круто, спасибо! Получилось. Вопрос — чтобы ограничить пользователей, как надо вставлять их айди в скобках? (tg_4534345345) или просто цифры без tg? Или как-то еще? Пробовал и так и так — все-равно люди с чужих айди могут пользоваться.

7 месяцев назад
Ответить на Иван

Доброй ночи, спасибо за комментарий!
Просто цифры, без tg. Примерно так: users = (111111111,2222222222)

7 месяцев назад
Ответить на Иван

если айди лишь 1, то вместо обычных скобок используйте фигурные
пример: users =

переписал данный момент в статье

7 месяцев назад

Спасибо тебе, все сделал по инструкции, оно работает!)))

7 месяцев назад
Ответить на Киря

Доброй ночи, благодарю за комментарий! Рад, что все получилось)

7 месяцев назад

Добрый день, попытался стартануть бота на replit.com, стартует нормально, но при запуске бота из телеги ошибка на сервере
Task exception was never retrieved
future: exception=TypeError(«argument of type ‘int’ is not iterable»)>
Traceback (most recent call last):
File «/home/runner/DiscreteOvercookedValue/venv/lib/python3.10/site-packages/aiogram/dispatcher/dispatcher.py», line 415, in _process_polling_updates
for responses in itertools.chain.from_iterable(await self.process_updates(updates, fast)):
File «/home/runner/DiscreteOvercookedValue/venv/lib/python3.10/site-packages/aiogram/dispatcher/dispatcher.py», line 235, in process_updates
return await asyncio.gather(*tasks)
File «/home/runner/DiscreteOvercookedValue/venv/lib/python3.10/site-packages/aiogram/dispatcher/handler.py», line 117, in notify
response = await handler_obj.handler(*args, **partial_data)
File «/home/runner/DiscreteOvercookedValue/venv/lib/python3.10/site-packages/aiogram/dispatcher/dispatcher.py», line 256, in process_update
return await self.message_handlers.notify(update.message)
File «/home/runner/DiscreteOvercookedValue/venv/lib/python3.10/site-packages/aiogram/dispatcher/handler.py», line 108, in notify
data.update(await check_filters(handler_obj.filters, args))
File «/home/runner/DiscreteOvercookedValue/venv/lib/python3.10/site-packages/aiogram/dispatcher/filters/filters.py», line 77, in check_filters
f = await execute_filter(filter_, args)
File «/home/runner/DiscreteOvercookedValue/venv/lib/python3.10/site-packages/aiogram/dispatcher/filters/filters.py», line 63, in execute_filter
return filter_.filter(*args, **filter_.kwargs)
File «main.py», line 17, in
accepted_users = lambda message: message.from_user.id not in users
TypeError: argument of type ‘int’ is not iterable

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

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

Как создать чат-бота в Телеграм самостоятельно

Система объединяет в одном окне все мессенджеры, социальные сети и чаты. Обращение клиента нельзя пропустить, ответ будет мгновенным.

Попробовать бесплатно

Аудитория Telegram прошла рубеж в 27 млн активных пользователей в России еще в 2020 году и остается самой быстрорастущей для мессенджеров. По понятным причинам бизнес переходит в Telegram, используя боты для продаж и коммуникации с клиентами. Их можно научить отправлять сообщения-автоответы, добавлять переменные, отправлять веб-хуки, сохранять данные про пользователей, сегментировать аудиторию и делать много другого полезного по работе с клиентами.

Нужно помнить, что бот для Телеграм — это все еще приложение, программа. Создать бота может кто угодно, но вот чтобы обучить, нужно уметь программировать. Если вам незнакомы понятия Python, JavaScript или Flask, API, cgi и HTTP-интерфейс, вряд ли получится написать бота вручную. Но есть решение — конструкторы. В этой статье мы расскажем, как создать бота для телеграмма с нуля, если вы не программист.

Но сначала общие сведения.

Общие сведения

Бот — это интерактивное приложение, программа, если хотите — интерфейс к вашему серверу. Бот умеет запускать разные варианты предустановленных сценариев в ответ на нажатие кнопки или какое-то слово. По сути, бот имитирует живое общение.

Зачем нужны боты

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

Еще по теме:  Как создать видеочат в Телеграмме в беседе

Это можно использовать в бизнесе:

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

Любые из этих действий можно упаковать в бота и не делать это вручную. Главное — грамотно продумать логику его поведения. Для примера: вот как выглядит бот для продажи курсов и консультаций от семейного психолога.

Что могут делать боты

Боту можно поручить любую функцию, которую в мессенджере может выполнить человек. Он не просто выполнит ее лучше, но и во много раз быстрее.

  • Настроить для коммуникации с клиентами. Бот будет отвечать на сообщения, подбирать продукты, собирать контакты и заявки, давать инструкции, ссылки на оплату, распределять между менеджерами
  • Интегрировать с любыми другими сервисами. Например, его можно научить управлять умным домом в приложении, подбирать картинки или gif-анимации в Яндексе под ключевые слова или отвечать на комментарии пользователей в вашем канале
  • Использовать как утилиту. Например, бот может отображать юзерам погоду по запросу в конкретном городе, делать автоматический перевод текста, проводить опросы или сообщать о каком-то событии, например, появлении нового товара
  • Использовать как интерактив. Бот может играть в шахматы, проводить викторины, тестировать знания пользователей, присылать анекдоты или подбирать вид кофе по вашему знаку зодиака
  • Применять для социальной коммуникации. Например, учитывать интересы и предпочтения людей при поиске собеседника, подбирать музыкальные проигрыватели для меломанов

В самом Telegram говорят, что бота можно научить делать что угодно, если это не мытье посуды.

BotFather

С его помощью можно настраивать ранее созданных ботов или создавать новых. Напишите ему, следуйте инструкциям и он поможет вам сделать бота самостоятельно, добавить его и активировать. Правда, все инструкции на английском языке. Ниже — наш пошаговый алгоритм для создания бота на русском.

Как создать бота в Телеграм

2. Придумать название. Можно вписать любое имя, какое хочется. оно будет отображаться в контактах и чатах.

3. Придумать логин. Пишем боту придуманное название и он предлагает нам выбрать для бота логин. Программа предупредит, что логин должен заканчиваться на «bot». Логин должен быть уникальным, программа не пропустит имя пользователя, если оно уже занято.

А еще он должен быть написан на латинице (с цифрами и нижним подчеркиванием), содержать от 5 до 32 символов.

3. Сохранить токен. Бот-отец пришлет вам токен вашего бота. Сохраните его в текстовом файле, например, в блокноте. Это ключ для доступа к HTTP API, с помощью которого вы будете программировать робота, получать и отправлять сообщения. Запомнить получится вряд ли, выглядит он примерно вот так:

4. Добавить аватар, описание, приветственное сообщение. Жмем /help и получаем перечень базовых команд. Тут будут в том числе команды для изменения описания (/setdescription), информации о боте (/setabouttext), для загрузки аватара (/setuserpic) и другие. Мы их продублировали в разделе про настройки.

Теперь бот создан, сохранен и активирован. Но чтобы научить его выполнять какие-то функции и отвечать на команды, бот нужно обучить. Для этого нужно работать с языками программирования, уметь писать код и использовать Bot API — HTTP-интерфейс для работы с ботами в Telegram. Или воспользоваться одним из сервисов-конструкторов.

Они помогают создавать логику работы ботов без особых проблем и навыков программирования. О них ниже.

Создание токена

Настройки бота

/setname — коррекция имени робота

/setdescription — коррекция описания. Это краткая характеристика создаваемого бота, что он умеет. Это описание будет видно другим пользователям

/setabouttext — коррекция информации. Это описание профиля, еще короче, чем дескрипшн. Если человек даст кому-то ссылку на вашего бота, то второй человек получит это короткое описание вместе со ссылкой

/setuserpic — коррекция аватарки. Иллюстрация — это всегда хорошо, люди смогут идентифицировать вашего бота в списке контактов по картинке

/setcommands — коррекция перечня команд робота. Это команды в формате «/команда». Их увидят пользователи при использовании вашего бота

/setprivacy — настройка приватности. Нужна на случай, если вы хотите подключить бота в группу включить или ограничить его возможность видеть групповые сообщения

/deletebot — удаляет вашего бота

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

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