AttributeError: 'Request' object has no attribute 'post'
from flask import Flask, request
from dotenv import load_dotenv
import os
from os.path import join, dirname
app = Flask(__name__)
def get_from_env(key):
dotenv_path = join(dirname(__file__), '.env')
load_dotenv(dotenv_path)
return os.environ.get(key)
def send_message(chat_id, text):
method = 'sendMessage'
token = get_from_env('TELEGRAM_BOT_TOKEN')
url = f'https://api.telegram.org/bot{token}/{method}'
data = {'chat_id': chat_id, 'text': text}
request.post(url, data=data)
@app.route('/', methods=['POST'])
def process():
chat_id = request.json['message']['chat']['id']
send_message(chat_id=chat_id, text='Привет!')
return {'ok': True}
Вылазит ошибка: AttributeError: 'Request' object has no attribute 'post'
Ответы (1 шт):
Автор решения: Roman Konoval
→ Ссылка
Вы, похоже, хотите выполнить http запрос.
Для этого вам нужно использовать библиотеку requests, а не flask.request:
import requests
...
def send_message(chat_id, text):
...
requests.post(url, data=data)