Telegram api token где взять

Данная статья написана по видео-ролику «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 на территории РФ, снято уже очень много видео.

Get Telegram bot token


Далее переходим в раздел 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), и в пустой строке вставляем следующий код:

Еще по теме:  Callstats log Телеграмм что это

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

Как получить токен бота Telegram API / Где найти токен


Узнать свой 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 месяцев назад

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

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 Api Key

Я пытаюсь найти Api Key для Telegram, но я не могу его найти. Где я могу найти его на веб-сайте? Если я использую Api Id, я получаю ошибку » Incorrect Token Format в приложении консоли С#.

спросил(а) 2017-04-08T11:28:00+03:00 6 лет, 5 месяцев назад
добавить комментарий
пожаловаться

В специальном официальном боте: https://telegram.me/BotFather Дополнительная информация на официальной странице часто задаваемых вопросов о телеграмме: https://core.telegram.org/bots/faq#how-do-i-create-a-bot

ответил(а) 2017-04-08T13:53:00+03:00 6 лет, 5 месяцев назад
добавить комментарий
пожаловаться

Вы имеете в виду Telegram API для создания приложения Telegram с использованием С#, а не Telegram Bot API, верно? получить ключ API. Пожалуйста, смотрите шаг за шагом ниже или для получения подробной информации вы можете увидеть эту ссылку Зарегистрируйтесь в Telegram, используя любое приложение. Войдите в свое ядро Telegram: https://my.telegram.org. Перейдите к » Инструменты разработки API и заполните форму.

Вы получите основные адреса, а также параметры api_id и api_hash, необходимые для авторизации пользователя. На данный момент к каждому номеру может быть подключен только один api_id.
Но если вам нужен API для бота Telegram, вы можете проверить API вашего бота с помощью BotFather. для деталей, вы можете проверить по этой ссылке Я надеюсь, что это полезно для вас.

ответил(а) 2019-01-11T14:25:00+03:00 4 года, 8 месяцев назад
добавить комментарий
пожаловаться
ответил(а) 2017-04-10T14:33:00+03:00 6 лет, 5 месяцев назад
добавить комментарий
пожаловаться

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

Как создать бота для оплаты в Телеграме — инструкция по настройке приема платежей

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

Настоящие акулы бизнеса никогда не упустят возможность органичного прироста трафика, из-за чего вскоре появилось огромное количество групп-магазинов, где по сей день продаются товары самой разной степени важности: от люксовых реплик из Турции до квартир в Абу-Даби.

Но ни одна торговая платформа не может существовать без возможности проведения оплаты — для этого можно воспользоваться специальным программным кодом, который вшивается в систему, либо полностью автоматизировать этот процесс благодаря встроенным функциям (получается более «топорно», но схема рабочая) — постараемся понять, что проще и быстрее.

Еще больше полезных инструкций и подборок, а также свежие кейсы по заработку в сети ищите в нашем Telegram.

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

Подготовка плацдарма

На сегодняшний день Телеграм позволяет подключить платежное решение для более чем 200 стран, включая наиболее известные: PayPal, Stripe, Sber, LiqPay, QIWI, PayMaster и тому подобные.

Метод с программированием

Программирование — это идеальный способ знать все и вся о своем боте. Ни один конструктор в мире не даст возможности производить настолько доскональную настройку своих ботов, поэтому стоит начать с более подробного метода. В основе представленного кода лежит Python версии 3.11.1.

Связать бота с приложением

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

Стоит понимать, что бот должен максимально качественно обрабатывать каждый запрос, который исходит от системы и пользователей. Поэтому обязательно нужно поставить значение «False» напротив поля «skip_updates». Можно производить предварительный тест.

С помощью команды «/mybots» можно выбрать необходимый бот, а кнопка «Payments» открывает возможность выбора из сотен платежных шлюзов. Специально для сегодняшнего примера будет использован PayMaster, из-за чего выбирается «PayMaster Test».

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

«TOKEN = «5432877***:AAHEwBEb2mwnZX56oa****o33ZBZwVkvv-s»

PAYMENTS_TOKEN = «1744374***:TEST:f14d9f0d42528b7*****»»

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

Подключение оплаты

Предварительно необходимо создать полный каталог товаров и стоимостей. При этом цена указывается как целочисленное значение, представленное в условных платежных единицах. То есть, для рублей — копейки, для долларов — центы. Если товар стоит 10 долларов, то его стоимость в боте будет равняться 10 * 100 = 1 000 центов, если 11,6 рублей, то 11,6 * 100 = 1 160 копеек. Другие валюты работают аналогичным образом при подключении currencies.json от Telegram API.

Подобная практика позволяет максимально точно обрабатывать платежи со стороны банковских систем. Именно поэтому следующим шагом будет создана команда «/buy», позволяющая в тестовом варианте приобретать месячную подписку на тестовый продукт.

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

Настройки платежей

Стоит дополнительно обратить внимание на аргумент «is_flexible». Он может принимать значение «True» только в том случае, если дополнительно стоимость складывается из выбора метода доставки, например, если физический товар нужно переслать покупателю.

Дополнительно для работы необходимо изучить два типа обработчиков: Pre Checkout Query и Successful Payment.

Pre Checkout Query – оценка наличия товара на складе, готовности отправки (указывается отдельно и зависит от количества товара) еще перед тем, как пользователь произведет оплату. При этом, если Telegram не получит ответ за 10 секунд, то платеж автоматически отклонится.

Successful Payment – обработка платежа после успешной оплаты.

Оба обработчика вносятся как дополнительные куски кода:

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