Как при нажатии на кнопку на сайте заставить бота отправлять текст в телеграм?
Принцип работы таков: на сайте находится кнопка для "вызова сотрудника", когда человек на неё нажимает, бот в телеграм должен отправить сообщение о том, что поступил вызов с такой-то локации. Везде туторы на отправку формы, а нужна именно связь "нажаите кнопки -> текст из кода в чат" (Сайт на html, тг-бот на python)
Ответы (1 шт):
Для реализации твоей задумки, я думаю тебе поможет библиотека flask. Простыми словами, Flask - это фреймворк (набор инструментов и правил), который помогает создавать веб-приложения с использованием языка программирования Python. Flask делает процесс создания веб-сайтов более удобным, предоставляя готовые инструменты для обработки запросов от пользователей и отправки им ответов.
Если ты хочешь узнать побольше о Flask, то можешь почитать данную статью:https://ru.hexlet.io/blog/posts/chto-takoe-flask-i-kak-na-nem-bystro-napisat-prostoy-sayt
- Для начала надо импортировать необходимые модули:
from flask import Flask, request
from telegram import Bot
- Далее создаем объекты
FlaskиBot, используя токен твоего бота:
app = Flask(__name__)
bot = Bot(token='YOUR_TELEGRAM_BOT_TOKEN')
3.Создаем маршрут, который будет обрабатывать нажатие кнопки на твоем сайте:
@app.route('/button_click', methods=['POST'])
def handle_button_click():
# Получите данные из запроса, например, текст сообщения
message_text = request.form.get('message_text')
# Отправьте сообщение в чат Telegram
bot.send_message(chat_id='YOUR_CHAT_ID', text=message_text)
return 'OK'
- Осталось только запустить веб-сервер
Flask:
if __name__ == '__main__':
app.run(debug=True)
Все, с python покончено, осталось только создать кнопки, которые при нажатии отправляли запрос. Я напишу свой код, но ты можешь его изменить для своих нужд:
<form action="http://your-server-address/button_click" method="post">
<input type="text" name="message_text" value="Текст для отправки в чат Telegram">
<button type="submit">Вызвать сотрудника</button>
</form>