Найти в Дзене
ИИ может

Заставляем ChatGPT писать за нас Telegram бота

Оглавление

Если в прошлый раз при попытке заставить ChatGPT написать код для нейросети распознающую эмоции мы потерпели не удачу, то в этот раз я попробовал запросить у ChatGPT код и объяснения для создания Телеграм бота

Запрос был простым

Обложка
Обложка

Хоть формулировка запроса написана с ошибками, нейросеть все же смогла дать интересующий нас результат
Хоть формулировка запроса написана с ошибками, нейросеть все же смогла дать интересующий нас результат

ChatGPT смог выдать довольно-таки интересный ответ

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

Весь выданный код будет в конце публикации.

Шаг 1: Создать бота в Telegram

  1. Откройте приложение Telegram и найдите бота "BotFather".
  2. Напишите команду "/start" и следуйте инструкциям для создания нового бота. Назовите бота и получите токен.

Шаг 2: Настройка окружения

  1. Установите необходимые библиотеки: python-telegram-bot, requests, и beautifulsoup4. Это можно сделать с помощью следующих команд:
-3

Импортируйте библиотеки:

-4

Шаг 3: Получить текущий курс

  1. Отправьте GET запрос на сайт, содержащий информацию о текущем курсе.
  2. Используйте библиотеку BeautifulSoup для парсинга HTML-страницы и получения информации о курсе.
-5

3. Найдите информацию о курсе в HTML-коде страницы.

-6

Шаг 4: Написание кода бота

  1. Создайте объект бота и используйте токен, полученный от BotFather.
-7

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

-8

3. Вызовите функцию send_message, передав в нее текущий курс.

-9

4. Запустите бота.

-10

Шаг 5: Получение chat_id

  1. Отправьте сообщение боту в Telegram.
  2. Используйте метод getUpdates() для получения chat_id.
-11

Шаг 6: Запуск бота

  1. Определите функцию main, в которой будет выполняться опрос курса каждые 10 минут.
  2. Используйте метод time.sleep() для ожидания 10 минут между запросами курса.
-12

После просмотра результата я решил переформулировать запрос

-13

В конечном результате мы имеем нормальный код который можно спокойно использовать

import requests
import telegram
from telegram.ext import Updater, CommandHandler

# Токен бота, полученный от BotFather
TOKEN = 'ТОКЕН_ВАШЕГО_ТЕЛЕГРАМ КОДА'

# ID пользователя, который будет получать уведомления от бота
USER_ID = 'YOUR_TELEGRAM_USER_ID'

# Адрес API банковского ресурса для получения информации о курсе валют
BANKI_API_URL = 'https://www.banki.ru/api/currency/cash'

# Коды валют для получения курса (USD и RUB)
CURRENCY_CODES = 'USD/RUB'

# Функция, которая будет вызываться при выполнении команды /start
def start(update, context):
context.bot.send_message(chat_id=update.effective_chat.id, text="Привет! Я буду уведомлять тебя об изменении курса доллара по отношению к рублю.")

# Функция, которая будет вызываться периодически для проверки изменения курса доллара
def check_dollar_rate(context):
response = requests.get(BANKI_API_URL, params={'currency': CURRENCY_CODES})
response_json = response.json()

# Получаем текущий курс доллара
dollar_rate = response_json['rates'][0]['sell']

# Отправляем уведомление пользователю, если курс доллара изменился
if dollar_rate != context.job.context:
context.bot.send_message(chat_id=USER_ID, text=f"Курс доллара изменился и теперь составляет {dollar_rate} рублей.")

# Обновляем значение текущего курса доллара
context.job.context = dollar_rate

def main():
# Создаем объект updater и dispatcher для бота
updater = Updater(TOKEN, use_context=True)
dispatcher = updater.dispatcher

# Добавляем обработчик команды /start
start_handler = CommandHandler('start', start)
dispatcher.add_handler(start_handler)

# Запускаем периодическую проверку изменения курса доллара
j = updater.job_queue
j.run_repeating(check_dollar_rate, interval=300, first=0, context=0)

# Запускаем бота
updater.start_polling()
updater.idle()

if __name__ == '__main__':
main()

Краткое описание работы кода:

  1. Импортируем необходимые модули: requests для запроса информации от API банковского ресурса, telegram для работы с Telegram API, и Updater и CommandHandler для создания бота и обработки команд.
  2. Указываем токен Telegram бота и ID пользователя, который будет получать уведомления.
  3. Указываем адрес API банковского ресурса и коды валют

НА ЭТО ВСЕ, СПАСИБО ЗА ТО ЧТО УДЕЛИЛИ ПАРУ МИНУТ СВОЕГО ВРЕМЕНИ !