Отправка сообщений из Flask в телеграм-бот

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

Шаг 1: Создание телеграм-бота

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

Далее отправьте боту любое сообщение, и введите в адресной строке браузера (без фигурных скобок{}):


https://api.telegram.org/bot{bot_token}/getUpdates

В ответ должен прийти json ответ с chat_id или просто id.

Шаг 2: Установка Flask и requests

Далее убедитесь что Python на вашем компьютере, и установите Flask и requests с помощью pip:

pip install Flask requests

Шаг 3: Написание кода Flask-приложения

Теперь давайте напишем код веб-приложения Flask, которое будет отправлять уведомления в наш телеграм-бот. Вот пример кода:

#app.py
from flask import Flask, request, render_template, redirect, url_for
import requests

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])
def index():
    if request.method == 'POST':
        if 'product_name' in request.form:
            product_name = request.form['product_name']
            send_to_telegram(product_name)
            return redirect(url_for('index'))

        else:
            return 'No product name provided'
    return render_template('index.html')

def send_to_telegram(product_name):
    bot_token = 'YOUR_BOT_TOKEN'
    chat_id = 'YOUR_CHAT_ID'
    message = f'Новый продукт добавлен: {product_name}'
    requests.get(f'https://api.telegram.org/bot{bot_token}/sendMessage?chat_id={chat_id}&text={message}')

if __name__ == '__main__':
    app.run(debug=True)

Рядом с файлом app.py создадим папку templates и поместим в нее файл index.html:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <form action="/" method="post">
        <input name="product_name" value="">
        <button type="submit" class="btn btn-primary">Добавить</button>
    </form>
</body>
</html>

Flask автоматически свяжет эти два файла.

Шаг 4: Запуск Flask-приложения

Сохраните этот код в файл с расширением .py, например app.py, и запустите его:

python app.py

Теперь ваше Flask-приложение запущено и готово к отправке уведомлений в ваш телеграм-бот.

Заключение

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

Теперь вы готовы отправлять уведомления в ваш телеграм-бот прямо из ваших Flask-приложений!

Источник