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

Это моя первая статья но надеюсь вам понравится! Почему я решил создать эту статью, когда скорее всего есть уже много других подобных? Дело в том что официальное API компании OpenAI(компании которая создала ChatGPT) — платное(пробный период быстро заканчивается), но недавно я нашел метод, которым сам пользуюсь, через который можно создавать приложения с использованием ChatGPT — бесплатно, покажу на примере просто Telegram-чатбота

Подготовка

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

  1. Python — рекомендуемая версия 3.10 и выше Чтобы проверить установлен ли Python в коммандной строке введите: python -V Если коммандная строка вывела версию Python — все в порядке, можем продолжать, в другом случаи установите Python с официального сайта и при установке обязательно убедитесь что поставлена галочка на «Add to PATH», продолжаем
  2. Библиотека для взаимодействия с Telegram API Чтобы ее установить необходимо использовать команду: pip install python-telegram-bot
  3. Библиотека взаимодействия с ChatGPT Мы не будем использовать официальную библиотеку openai , вместо нее будет использована revChatGPT , ссылка на гитхаб автора — клик, чтобы ее установить необходимо использовать команду: pip install —upgrade revChatGPT
  4. Токен телеграм-бота Получить его можно создав новго или использовав уже существующего бота у BotFather https://t.me/BotFather
  5. Токен ЧатГПТ Если вы зарегестрированы в Openai и можете взаимодействовать с ChatGPT на официальном сайте то чтобы его получить надо перейти по ссылке https://chat.openai.com/api/auth/session и скопировать значение «accessToken»

Использования бибилиотеки revChatGPT

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

Разработка Telegram Bot на Python. (1. Создание эхо-бота)


from revChatGPT.V1 import Chatbot #импортируем библиотеку accesstoken=»здесь вместо текста вставьте ваш accessToken» #задаем переменную токена chatbot = Chatbot(config=) #инициализируем чатбота while True: message = input(«Вы:») #создаем ввод текста output = chatbot.ask(message) #даем запрос ChatGPT с набранным текстом print(f»ChatGPT:») #выводим ответ ChatGPT

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

Создание Telegram бота

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

1.Импорт библиотек telegram и ChatGPT:

from telegram.ext import Updater, CommandHandler, MessageHandler, filters from revChatGPT.V1 import Chatbot

2. Инициализируем бота и ChatGPT

# здесь нужно вставить свои токены TOKENTG = «TELEGRAM_TOKEN» TOKENGPT = «CHATGPT_TOKEN» updater = Updater(TOKENTG) chatbot = Chatbot(config=)

3. Создаем функцию ответа на сообщения пользователя

def chatgpt_reply(update, context): context.bot.send_chat_action(chat_id=update.effective_chat.id, action=ChatAction.TYPING) text = update.message.text reply = chatbot.ask(text) update.message.reply_text(reply)

4. Создаем обработчик сообщений

Telegram бот на python — курс по созданию бота по документации aiogram и Telegram API


echo_handler = MessageHandler(Filters.text TELEGRAM_TOKEN» TOKENGPT = «CHATGPT_TOKEN» updater = Updater(TOKENTG) chatbot = Chatbot(config=) def chatgpt_reply(update, context): context.bot.send_chat_action(chat_id=update.effective_chat.id, action=ChatAction.TYPING) text = update.message.text reply = chatbot.ask(text) update.message.reply_text(reply) echo_handler = MessageHandler(Filters.text https://temofeev.ru/info/articles/sozdanie-besplatnogo-chatgpt-telegram-bota-na-python/» target=»_blank»]temofeev.ru[/mask_link]

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

Как создать бота Telegram с помощью Python менее чем за 10 минут!

В этой статье в простых шагах объясняется, как создать собственного бота Telegram.

Все, что вам нужно, это следующее:

  • Учетная запись Telegram: если у вас ее еще нет, все, что вам нужно сделать, это загрузить Telegram на свой телефон и выполнить шаги по созданию учетной записи. Это не должно занимать более 2 минут.
  • Среда для Python: вам понадобится интегрированная среда разработки (IDE), поддерживающая Python. Если вы студент, вы можете бесплатно использовать PyCharm со своей студенческой электронной почтой. Если вы не студент и не хотите тратить деньги, то вам стоит скачать Visual Studio Code. Его очень легко установить и использовать. Ваша версия python должна быть не ниже 3.6.8+, чтобы поддерживать используемые модули. Если вы устанавливаете его в первый раз, то я бы рекомендовал установить последнюю стабильную версию.

После того, как вы завершили предыдущие два шага, вы готовы приступить к созданию своего самого первого бота Telegram.

Шаги для создания бота:

  • Откройте Telegram и введите в строке поиска вверху «BotFather».

  • Нажмите на первый результат (с синей галочкой) и нажмите «Старт».
  • Вы можете либо щелкнуть /newbot, либо ввести его и нажать «Отправить».

  • После этого вас попросят назвать бота. Вы можете выбрать что угодно.

  • Затем вам необходимо выбрать имя пользователя. Имя пользователя — это уникальный идентификатор пользователя в Telegram. Единственное, о чем вы должны быть осторожны, это то, что имя пользователя должно заканчиваться на «bot», как показано на рисунке ниже.

  • После того, как вы выберете незанятое имя пользователя, вы получите то, что называется HTTP API. Это используется сценариями Python для связи с вашим ботом.

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

Шаги настройки бота:

  • Откройте IDE и в терминале внизу введите

pip install python-telegram-bot

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

from telegram.ext.updater import Updater from telegram.update import Update from telegram.ext.callbackcontext import CallbackContext from telegram.ext.commandhandler import CommandHandler from telegram.ext.messagehandler import MessageHandler from telegram.ext.filters import Filters

Если вас не интересует объяснение, просто перейдите к следующему шагу.
Средство обновления: содержит ключ API, полученный от BotFather, чтобы указать, какой бот мы используем и для которого хотим добавить функции.
Обновление: вызывается каждый раз время, когда бот получает обновление: т.е. сообщение или команду и отправляет сообщение пользователю.
CallbackContext: в этом примере требуется при добавлении диспетчера и работает внутри
CommandHandler: используется для обработки любой отправленной команды пользователем к боту. Команда всегда начинается с «/», то есть «/start».
MessageHandler: используется для обработки любого обычного сообщения, отправляемого пользователем боту
Filters: отфильтровывает обычный текст, команды, изображения и т. д. из отправленное сообщение.

updater: здесь вы должны ввести ключ API, полученный от BotFather.

функция запуска: отображает первое сообщение, отправленное ботом, когда пользователь нажимает «старт».

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

updater = Updater(«your_own_API_Token got from BotFather», use_context=True) def start(update: Update, context: CallbackContext): update.message.reply_text(«Enter the text you want to show to the user whenever they start the bot»)

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

def help(update: Update, context: CallbackContext): update.message.reply_text(«Your Message»)

  • Добавление дополнительных функций в бот

def gmail_url(update: Update, context: CallbackContext): update.message.reply_text(«gmail link here») def youtube_url(update: Update, context: CallbackContext): update.message.reply_text(«youtube link») def linkedIn_url(update: Update, context: CallbackContext): update.message.reply_text(«Your linkedin profile url») def unknown_text(update: Update, context: CallbackContext): update.message.reply_text(«Sorry I can’t recognize you , you said ‘%s'» % update.message.text) def unknown(update: Update, context: CallbackContext): update.message.reply_text(«Sorry ‘%s’ is not a valid command» % update.message.text)

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

  • Добавление обработчиков для обработки наших сообщений и команд

updater.dispatcher.add_handler(CommandHandler(‘start’, start)) updater.dispatcher.add_handler(CommandHandler(‘youtube’, youtube_url)) updater.dispatcher.add_handler(CommandHandler(‘help’, help)) updater.dispatcher.add_handler(CommandHandler(‘linkedin’, linkedIn_url)) updater.dispatcher.add_handler(CommandHandler(‘gmail’, gmail_url)) updater.dispatcher.add_handler(MessageHandler(Filters.text, unknown)) # Filters out unknown commands updater.dispatcher.add_handler(MessageHandler(Filters.command, unknown)) # Filters out unknown messages. updater.dispatcher.add_handler(MessageHandler(Filters.text, unknown_text))

Всякий раз, когда пользователь пишет команду (первый параметр CommandHandler), бот будет отвечать ответным сообщением, написанным внутри функций, которые мы написали ранее (второй параметр CommandHandler).

updater.start_polling()

Эта команда запустит бота, и вы сможете использовать его в Telegram. Бот работает только до тех пор, пока вы оставляете скрипт включенным. Если вы хотите, чтобы бот работал все время, вы можете либо оставить скрипт включенным все время, либо лучше арендовать сервер, на котором ваш бот будет размещаться круглосуточно и без выходных.

Если вы просто хотите скопировать и вставить весь код, чтобы увидеть, как он работает, не понимая его сначала, вот полная реализация:

from telegram.ext.updater import Updater from telegram.update import Update from telegram.ext.callbackcontext import CallbackContext from telegram.ext.commandhandler import CommandHandler from telegram.ext.messagehandler import MessageHandler from telegram.ext.filters import Filters updater = Updater(«your_own_API_Token got from BotFather», use_context=True) def start(update: Update, context: CallbackContext): update.message.reply_text( «Hello sir, Welcome to the Bot. Please write /help to see the commands available.») def help(update: Update, context: CallbackContext): update.message.reply_text(«»»Available Commands :- /youtube — To get the youtube URL /linkedin — To get the LinkedIn profile URL /gmail — To get gmail URL»»») def gmail_url(update: Update, context: CallbackContext): update.message.reply_text( «Your gmail link here (I am not giving mine one for security reasons)») def youtube_url(update: Update, context: CallbackContext): update.message.reply_text(«Youtube Link => www.youtube.com/») def linkedIn_url(update: Update, context: CallbackContext): update.message.reply_text( «LinkedIn URL => www.linkedin.com/in/denizshabani/») def unknown(update: Update, context: CallbackContext): update.message.reply_text( «Sorry ‘%s’ is not a valid command» % update.message.text) def unknown_text(update: Update, context: CallbackContext): update.message.reply_text( «Sorry I can’t recognize you , you said ‘%s'» % update.message.text) updater.dispatcher.add_handler(CommandHandler(‘start’, start)) updater.dispatcher.add_handler(CommandHandler(‘youtube’, youtube_url)) updater.dispatcher.add_handler(CommandHandler(‘help’, help)) updater.dispatcher.add_handler(CommandHandler(‘linkedin’, linkedIn_url)) updater.dispatcher.add_handler(CommandHandler(‘gmail’, gmail_url)) updater.dispatcher.add_handler(MessageHandler(Filters.text, unknown)) # Filters out unknown commands updater.dispatcher.add_handler(MessageHandler(Filters.command, unknown)) # Filters out unknown messages. updater.dispatcher.add_handler(MessageHandler(Filters.text, unknown_text)) updater.start_polling()

Если вам понравился этот пост и вы хотите видеть больше, то купите мне кофе 😀

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

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

Telegram Bot с Python для Todoist

В этом посте я объясню, как создать бота Telegram на Python. Todoist — отличный инструмент для управления списками дел. Хотя этот пост может быть просто общим руководством по созданию бота Telegram, я расскажу о подключении к Todoist API и внедрении его возможностей в Telegram, чтобы вы могли узнать больше о работе с реальным API и взаимодействии с пользователями в ботах Telegram.

Предполагается, что вы знакомы с основами Python. Вы узнаете:

  • Создание бота Telegram с отцом бота Telegram
  • Работа с API в Python
  • Написание скрипта бота Telegram на Python
  • Взаимодействие с пользователями в боте Telegram (отображение кнопок, ответ на сообщение и т. Д.)

Создание бота Telegram

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

Получите имя пользователя бота (дескриптор Telegram) и токен доступа

После этого вы получите сообщение с данными вашего бота, включая токен доступа вашего бота для HTTP API. Мы будем использовать это в следующих шагах.

Взаимодействие с API в Python

Чтобы создать полезного бота для Telegram, вам необходимо хорошо разбираться в работе с API.

Я прочитал много руководств по созданию ботов Telegram, но я хотел написать бота, который работает с реальным API, а не бота, чтобы показывать картинки с кошками (что, кстати, тоже очень круто).

Todoist — отличный инструмент для управления делами. Несмотря на то, что у него отличное мобильное приложение, оно может помочь вам или вашей команде выполнять ваши задачи в Telegram.

Также, используя Todoist API, вы узнаете, как взаимодействовать с реальными API.

APIHandler Класс

У Todoist есть официальная библиотека Python API. С его помощью вы можете легко взаимодействовать с Todoist API. Сначала мы собираемся изучить эту официальную библиотеку. Затем с помощью пакета запросов Python мы взаимодействуем с Todoist REST API. Поскольку многие сторонние API не поддерживают такие библиотеки Python, важно научиться использовать пакет запросов Python для выполнения HTTP-запросов для RESTful API.

Получение токена доступа к Todoist

Прежде чем мы начнем, вам нужно получить токен доступа для Todoist API. Просто зайдите в Консоль приложения Todoist и создайте новое приложение. После создания приложения вы увидите client id и client secret , которые необходимо использовать в приложении производственного уровня для аутентификации пользователей.

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

Официальная библиотека Python Todoist

Теперь установите пакет TodoistAPI с помощью программы Python, выполнив эту команду: pip install todoist-python

Используя библиотеку API Todoist, получить проекты очень просто.

Не забудьте указать свой токен доступа в api_token переменную.

Взаимодействие с RESTful API с использованием запросов Python

Для вызова API вам необходимо использовать пакет запросов Python. Установите его с помощью pip: pip install requests

Пакет запросов имеет две основные функции, которые мы можем использовать для выполнения get или post запросов.

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