Грамотно напиши Телеграм бот напиши Телеграмм

Простой Telegram бот на Python, метод getUpdates

Из этой статьи вы узнаете, как с помощью Python можно создать Telegram бота используя для этого библиотеку requests. Этот урок будет полезен для начинающих разработчиков, для тех кто только начал познавать работу протокола HTTP в Python.

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

Создаем бота

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

Создаем бота

Шаг 3. В ответ мы получили сообщение, где указан токен и ссылка на нашего бота, переходим по ссылке и пишем боту любое сообщение.

Создаем бота

Бот готов, сейчас можно переходить к самому интересному.

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

Telegram API входящие сообщения

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

https://api.telegram.org/bot/getUpdates

В ответ мы должны получить массив объектов, где можно увидеть отправленные нами ранее сообщением боту, в моем случае это «/start» и «Hello» (если ответ пустой, отправьте своему боту еще одно сообщение, и обновите страницу с ссылкой).

Создаем бота

Теперь осталось повторить все на Python. Напишем код, где будем отправлять GET запрос, и с помощью полученных данных в ответ (массива данных) научим программу понимать, что боту написали новое сообщение.

Для проверки выведем в консоль уникальный идентификатор пользователя, и его сообщение

import requests import time TOKEN = ‘токен’ URL = ‘https://api.telegram.org/bot’ def get_updates(offset=0): result = requests.get(f’/getUpdates?offset=’).json() return result[‘result’] def run(): update_id = get_updates()[-1][‘update_id’] # Присваиваем ID последнего отправленного сообщения боту while True: time.sleep(2) messages = get_updates(update_id) # Получаем обновления for message in messages: # Если в обновлении есть ID больше чем ID последнего сообщения, значит пришло новое сообщение if update_id < message[‘update_id’]: update_id = message[‘update_id’] # Присваиваем ID последнего отправленного сообщения боту print(f»ID пользователя: , Сообщение: «) if __name__ == ‘__main__’: run()

Создаем бота

Создаем бота

Telegram API отправить сообщение

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

Откроем в новой вкладке браузера ссылку используя свой токен, и в параметрах укажем:

  • chat_id : уникальный id пользователя, что бы бот понял кому именно ответить (в моем случае это 792035400).
  • text : Текст самого сообщения

https://api.telegram.org/bot/sendMessage?chat_id=792035400text=’) if __name__ == ‘__main__’: send_message(792035400, ‘Привет, хорошо, а ты как?’)

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

После каждого запуска программы мы увидим что наш бот отправляет сообщение Привет, хорошо, а ты как? .

Создаем простого телеграм бота

С методами getUpdates, и sendMessage API Telegram мы разобрались, используя свои знания напишем программу которая научит нашего бота отвечать на сообщение.

import requests import time TOKEN = ‘токен’ URL = ‘https://api.telegram.org/bot’ def get_updates(offset=0): result = requests.get(f’/getUpdates?offset=’).json() return result[‘result’] def send_message(chat_id, text): requests.get(f’/sendMessage?chat_id= message[‘update_id’]: update_id = message[‘update_id’] # Присваиваем ID последнего отправленного сообщения боту # Отвечаем тому кто прислал сообщение боту check_message(message[‘message’][‘chat’][‘id’], message[‘message’][‘text’]) if __name__ == ‘__main__’: run()

Создаем бота

Теперь наш бот может поприветствовать, и ответить, как у него дела). Скоро я выпушу вторую часть, где покажу как отправлять файлы и выводить настраиваемую клавиатуру (вторая часть).

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

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

Боты для модерации чата в Телеграме

Rabbit verh

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

Получи скидку 10% по промокоду

Получи скидку 10% по промокоду «Protraffic»
Содержание скрыть

Что такое бот-модератор в Телеграме

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

Как сделать свой личный 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

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