Если Телеграмм бот не имеет доступ к сообщениям в ТГ

Когда я получаю доступ к своему телеграмм-боту, через некоторое время он требует аутентификации пользователя с текстом:

«Подождите . Привет! Прежде чем мы сможем продолжить, нам нужно убедиться, что вы НАСТОЯЩИЙ пользователь»

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

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

Sahu 12 Мар 2021 в 01:46

ВНИМАНИЕ: чтобы прояснить ситуацию для людей, оказавшихся здесь: это мошенничество с фишингом, при котором кто-то угнал бота и пытается украсть учетные записи пользователя. Это может произойти после утечки токена бота (например, через исходный код в github или где-либо еще).

1 Апр 2021 в 23:12

6 ответов

Лучший ответ

Ваш токен бота мог быть выставлен на git.

Вам нужно поменять токен.

Вместо того, чтобы жестко кодировать его в коде, передайте его как переменную среды.

Как создать и подключить бота в Телеграм (полная инструкция)


Samir Kape 10 Авг 2021 в 13:59
Я думаю это имеет смысл
22 Июн 2021 в 12:45

Была такая же проблема!

Я предполагаю, что кто-то извлек мой бот-токен из общедоступного хранилища и попытался украсть мою учетную запись. НИКОГДА не оставляйте свой бот-токен публично .

Подробное описание, чтобы другие могли найти эту ветку:

  1. Бот отправил, что он был запрограммирован, а затем «Всем привет! Прежде чем мы сможем продолжить, нам нужно убедиться, что вы НАСТОЯЩИЙ пользователь »
  2. Telegram прислал мне код для входа -> я его ввел (да, я тупой)
  3. Бот напечатан «Ответьте, указав свой код 2FA (двухфакторной аутентификации / двухэтапной аутентификации)» тогда «Истекло время ожидания, пожалуйста, попробуйте еще раз».

(Мне нравится часть прошения, где вы понимаете, что это было полностью фальшивкой)

Telegram сказал, что это было

Device: Android Location: Bulgaria (IP = 185.95.157.122)
DisappointedByUnaccountableMod 18 Мар 2021 в 02:15
К вашему сведению, это соскоблено, а не утилизировано
DisappointedByUnaccountableMod
18 Мар 2021 в 02:15

Как сделать свой личный ChatGPT в Telegram за 5 минут

Как сделать свой личный ChatGPT в Telegram за 5 минутКак сделать свой личный ChatGPT в Telegram за 5 минут

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

Однако официально бот доступен только на сайте компании OpenAI и не имеет собственного приложения, что далеко не всегда удобно, особенно для пользователей из России, где доступ к сайту ограничен.

Но выход есть, в начале этого месяца OpenAI выпустила своё API в публичный доступ и теперь ChatGPT можно вывести за пределы своего сайта. В Telegram появилась уже целая куча ботов ChatGPT, однако все они так или иначе требуют свою плату с пользователей.

Еще по теме:  Названия для канала в ТГ любовные

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

Подготовка

  • Для начала вам потребуется аккаунт на сайте OpenAI. Если у вас его до сих пор нет, то в самом конце этой статьи инструкция по его созданию. Для регистрации аккаунта потребуется виртуальный номер, минимальная стоимость которого на текущий момент составляет около 20 рублей.
  • Далее включите VPN и перейдите в раздел для разработчиков здесь:

  • Создайте API ключ, нажав на копку «Create new secret key». Запишите его, он понадобится позже.
  • Затем создайте бота в Telegram. Для этого откройте BotFather и введите команду /newbot.

  • Назовите его. Затем пропишите боту ссылку, которая обязательно заканчивается на bot. И сохраните API ключ от бота Telegram. Он также понадобится позже.
  • Итого у вас должно быть 2 ключа: OpenAI и Telegram.

Установка

Далее установите Python на свой компьютер. В начале установки обязательно поставьте галочку «Add python.exe to PATH», иначе в консоли не будут работать команды.

  • Скачайте готовый код бота на GitHub от пользователя n3d1117. Для этого нажмите на зелёную кнопку Code –> Download ZIP. Распакуйте папку из архива в любое удобное место, но желательно без кириллицы в пути.
  • Откройте файл под названием .env.example через любой текстовый редактор (блокнот, notepad++, EmEditor).

  • В поле OPENAI_API_KEY=»XXX» вместо XXX вставьте ваш ключ OpenAI
  • В поле TELEGRAM_BOT_TOKEN=»XXX» вместо XXX вставьте ваш ключ Telegram-бота.
  • В поле ALLOWED_TELEGRAM_USER_IDS=»USER_ID_1,USER_ID_2″ вместо USER_ID_1,USER_ID_2 вставьте символ * – тогда бот будет доступен для всех пользователей. Если вы желаете сделать его доступным только для себя, то введите свой Telegram ID. Узнать его можно здесь.
  • После этого переименуйте «.env.example» в «.env».
  • Далее кликните на путь папки сверху и введите в нём слово powershell и нажмите Enter. Откроется PowerShell сразу с учётом расположения папки вашего бота.

В открытой консоли пропишите следующие команды по порядку:

python -m pip install —upgrade pip
Установка и/или обновление pip

pip install python-telegram-bot
Установка библиотеки Telegram

pip install openai
Установка библиотеки OpenAI

pip install pydub
Установка аудиобиблиотеки

Также можете скачать FFmpeg для работы с аудио и видео, но это необязательно. Текстовый бот будет работать и без этого дополнения. (Из архива нужно вытащить ffmpeg.exe и поместить в корневую папку).

python -m venv venv
Подготовка к запуску виртуального окружения

venvScriptsactivate
Запуск

pip install -r requirements.txt
Установка подходящих параметров

python bot/main.py
Запуск самого бота

После этого бот должен начать работать. И им уже можно пользоваться. Для отключения бота просто закройте консоль.

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

Пример успешной работы бота:

Бот будет работать пока запущена консоль. Соответственно, чтобы его выключить, достаточно её закрыть. Чтобы запустить бота повторно, все перечисленные выше команды снова вводить не нужно, достаточно лишь так же открыть PowerShell в папке и прописать всего две команды.

venvScriptsactivate
python bot/main.py

Особенности и ограничения:

  • API-версия генерирует текст гораздо быстрее своей бесплатной браузерной версии, примерно на уровне Plus версии.
  • API-версия работает всегда, даже в период нагрузок, также вам не требуется VPN для её использования.
  • Используйте /help, чтобы получить список доступных команд
  • Подобно браузерному ChatGPT, API-версия запоминает информацию в диалоге.
  • Чтобы стереть боту память о беседе, используйте команду /reset. Также после этой команды можно ввести уточнение для бота, чтобы направить его в нужное русло. Например, с помощью «/reset Говори только на русском» можно заставить использовать русский язык по умолчанию.
  • С помощью команды /image можно генерировать картинки с помощью DALL-E по описанию.
  • Через команду /stats можно проверить затраты на использование бота.
  • Также вы можете добавить бота в беседу и общаться с ним вместе с друзьями. (для этого нужно разрешить добавление в беседу в настройках BotFather).

А теперь к ограничениям:

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

Количество бонусных долларов зависит от даты регистрации вашего аккаунта. На моём аккаунте, который был зарегистрирован в первые дни запуска ChatGPT, было предоставлено бонусов в размере $18. Это очень много, если вы используете бота в одиночку, то вам более чем хватит этого на месяц или два активного использования.

Однако в последнее время новым аккаунтам стали давать более скромный бонус – $5, которого хватит где-то на пару недель активного использования. Статистку использования вы можете отследить на сайте OpenAI или в самом боте по команде /stats.

Также следует отметить ещё пару важных фактов:

  • Подключить версию GPT-4 на данный момент нельзя, даже если у вас есть Plus. API GPT-4 на текущий момент находится в закрытом доступе.
  • Запущенная через API версия фактически незначительно отличается от браузерной ChatGPT. Браузерная версия была доработана, чтобы быть ассистентом, а также содержит больше уточняющей информации о себе, в то время как API-версия «более обезличенная» и даже не называет себя ChatGPT.
  • В этом плане API версия сильно напоминает декабрьский ChatGPT, который даже не мог назвать актуальную дату. Однако всё же знания у ботов общие, поэтому беспокоиться за качество ответов не стоит.
  • Для тех кому интересно, по умолчанию в боте используется модель gpt-3.5-turbo. Какие ещё существуют модели можете посмотреть здесь.
Еще по теме:  Как в Телеграмме посмотреть кто прочитал твое сообщение

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

Если телеграмм бот не имеет доступ к сообщениям в тг

Гугл скрипт: как читать и отправлять сообщения в телеграм бот

  • Ігор Білецький
  • 28.08.2021
  • 4 комментария

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

Как было описано в предыдущей статье, мы после срабатывания нашего веб-хука (если что-то написать боту) получили некий объект, где содержится информация, что написано, когда и прочее. Предположим, что объект находится в переменной content

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

Также следует понимать, что если кто-то что-то пишет нашему боту — он с ним «чатится» (создает отдельный чат).

Следовательно, чтобы ответить на сообщение, нужно прежде всего знать идентификатор этого чата.

Чтобы получить идентификатор, используем следующую команду:

let chatID = content.message.chat.id;

В результате у нас в переменной chatID находится идентификатор чата.

Аналогичным образом получаем текст сообщения:

let receiveMsg = content.message.text;

Приведу весь код функции (начало):

function readInputMsg(content) < //функция обработки сообщения let chatID = content.message.chat.id; let receiveMsg = content.message.text;

Расшифровка: на входе мы получили объект (content) и из него получили идентификатор чата (chatID) и текст самого сообщения (receiveMsg).

Теперь мы можем прочитать сообщение (в данной статье не будем углубляться в анализ текстовых строк) и ответить на него:

function sendMsg(chatID, textMsg) < //отправляем простое сообщение let data = < method: «post», payload: < method: «sendMessage», chat_id: String(chatID), text: textMsg, parse_mode: «HTML» >>; return UrlFetchApp.fetch(botUrl + ‘/’, data); >

Данная функция на входе получает идентификатор чата и сообщение, которое нам необходимо отправить в чат с помощью нашего бота (по сути отправка сообщения боту).

Внутри функции создается объект (data), который содержит информацию, которую мы отправляем нашему боту с помощью директивы UrlFetchApp.

В следующей статье мы научимся создавать клавиатуру и обрабатывать ее.

Если есть вопросы, задавайте в комментариях.

P.S. Мы создали бесплатный телеграм бот для кэшбэков по разным банковским картам, который удобно использовать. Информацию по нему смотрите ЗДЕСЬ.

Кстати, если наш сайт принес вам пользу и вы хотите сказать нам «Спасибо» и поддержать нас , то это можно сделать ЗДЕСЬ.

Рекомендую почитать:

  • «10 бирж фриланса и удаленной работы для новичков и профи: список и рекомендации по заработку»
  • «Доход на партнерских/реферальных программах: примеры и полезные советы»
  • «Учет заказов по работе с клиентами в Гугл Таблице: бесплатное готовое решение»

Источник: forbiz-online.org

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