Как связать Donate Alerts с сервером на Flask
Прописал сервер на Python (Flask), вынес его в общий доступ через ngrok Создал вебхук с перенаправлением на сервер, сервер работает стабильно Прописал вывод уведомлений на html
<!DOCTYPE html>
<html>
<head>
<title>Donation History</title>
</head>
<body>
<h1>Donation History</h1>
<ul>
{% for donation in donations %}
<li>{{ donation.username }} donated {{ donation.amount }} {{ donation.currency }}</li>
{% endfor %}
</ul>
</body>
</html>
Вопрос в чем, как мне сделать так, чтобы при донате через ссылку доната, уведомления приходили на сервер, и выводились в консоле?
from flask import Flask, request, render_template, jsonify
import requests
app = Flask(__name__)
WEBHOOK_TOKEN = "NBTHl3k4UmGmbEvBA5fz"
API_TOKEN = "9lkU43zWlg11cMVIK6GYdPTLVoysGt6ICpv7FCnn"
API_URL = "https://api.donationalerts.com/v1/donations"
donations = []
@app.route('/donation', methods=['POST'])
def donation_webhook():
data = request.get_json()
if data.get('token') != WEBHOOK_TOKEN:
return jsonify({'error': 'Invalid token'}), 401
# Получение данных о донате из API
donation_id = data['donation_id']
response = requests.get(f"{API_URL}/{donation_id}", headers={'Authorization': f'Bearer {API_TOKEN}'})
if response.status_code == 200:
donation_data = response.json()
amount = donation_data['amount']
currency = donation_data['currency']
username = donation_data['username']
donations.append({
'username': username,
'amount': amount,
'currency': currency
})
print(f"Получен донат от {username}: {amount} {currency}")
return jsonify({'success': True}), 200
else:
return jsonify({'error': 'Donation not found'}), 404
@app.route('/')
def index():
return render_template('index.html', donations=donations)
if __name__ == '__main__':
app.run(debug=True)