392 lines
7.8 KiB
Markdown
392 lines
7.8 KiB
Markdown
|
|
# 🔔 Webhook Průvodce - UrNetwork Stats Dashboard
|
||
|
|
|
||
|
|
## 📋 Dostupné Proměnné
|
||
|
|
|
||
|
|
Když webhook systém posílá notifikace, máš k dispozici tyto proměnné:
|
||
|
|
|
||
|
|
| Proměnná | Popis | Příklad | Formát |
|
||
|
|
|----------|-------|---------|--------|
|
||
|
|
| `${account}` | Přezdívka účtu | "Hlavní účet" | Text |
|
||
|
|
| `${paid_gb}` | Placená data v GB | "123.456" | 3 des. místa |
|
||
|
|
| `${unpaid_gb}` | Neplacená data v GB | "45.678" | 3 des. místa |
|
||
|
|
| `${total_gb}` | Celková data v GB | "169.134" | 3 des. místa |
|
||
|
|
| `${update_time}` | Čas aktualizace | "2024-11-21 12:30:45" | YYYY-MM-DD HH:MM:SS |
|
||
|
|
|
||
|
|
## 🎯 Kdy Se Webhooky Spouštějí?
|
||
|
|
|
||
|
|
- **Každých 15 minut** - Když scheduler načte nová data
|
||
|
|
- **Pro každý aktivní účet** zvlášť
|
||
|
|
- Pouze pokud se načtení dat povede
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🔥 Příklady Pro Tebe (Vlastík)
|
||
|
|
|
||
|
|
### 1. Discord - Jednoduchá Notifikace 💬
|
||
|
|
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"content": "📊 **${account}** aktualizace!\n💾 Celkem: **${total_gb} GB**\n💰 Placená: ${paid_gb} GB | 📡 Neplacená: ${unpaid_gb} GB\n🕐 ${update_time}"
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
**Výstup:**
|
||
|
|
```
|
||
|
|
📊 **Hlavní účet** aktualizace!
|
||
|
|
💾 Celkem: **169.134 GB**
|
||
|
|
💰 Placená: 123.456 GB | 📡 Neplacená: 45.678 GB
|
||
|
|
🕐 2024-11-21 12:30:45
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### 2. Discord - Bohatý Embed (Český) 🇨🇿
|
||
|
|
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"embeds": [{
|
||
|
|
"title": "📊 UrNetwork - ${account}",
|
||
|
|
"description": "Nová data byla načtena!",
|
||
|
|
"color": 3901635,
|
||
|
|
"fields": [
|
||
|
|
{
|
||
|
|
"name": "💰 Placená Data",
|
||
|
|
"value": "${paid_gb} GB",
|
||
|
|
"inline": true
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "📡 Neplacená Data",
|
||
|
|
"value": "${unpaid_gb} GB",
|
||
|
|
"inline": true
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "💾 Celkem Poskytnutých Dat",
|
||
|
|
"value": "**${total_gb} GB**",
|
||
|
|
"inline": false
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"footer": {
|
||
|
|
"text": "Aktualizováno"
|
||
|
|
},
|
||
|
|
"timestamp": "${update_time}"
|
||
|
|
}]
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### 3. Discord - Minimalistický 🎯
|
||
|
|
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"content": "⚡ ${account}: **${total_gb} GB** (${paid_gb} / ${unpaid_gb})"
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
**Výstup:**
|
||
|
|
```
|
||
|
|
⚡ Hlavní účet: **169.134 GB** (123.456 / 45.678)
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### 4. Discord - S Progress Barem 📊
|
||
|
|
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"embeds": [{
|
||
|
|
"title": "⚡ ${account} Stats",
|
||
|
|
"color": 3447003,
|
||
|
|
"description": "**Celkem: ${total_gb} GB**\n\n💰 Placená: `${paid_gb} GB`\n📡 Neplacená: `${unpaid_gb} GB`",
|
||
|
|
"footer": {
|
||
|
|
"text": "${update_time}"
|
||
|
|
}
|
||
|
|
}]
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### 5. Slack - Jednoduchá Zpráva 💼
|
||
|
|
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"text": ":bar_chart: *${account}* - Aktualizace\nCelkem: *${total_gb} GB* | Placená: ${paid_gb} GB | Neplacená: ${unpaid_gb} GB\n_${update_time}_"
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### 6. Slack - Formátovaná Zpráva 💼
|
||
|
|
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"blocks": [
|
||
|
|
{
|
||
|
|
"type": "header",
|
||
|
|
"text": {
|
||
|
|
"type": "plain_text",
|
||
|
|
"text": "📊 UrNetwork Stats - ${account}"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "section",
|
||
|
|
"fields": [
|
||
|
|
{
|
||
|
|
"type": "mrkdwn",
|
||
|
|
"text": "*Placená Data:*\n${paid_gb} GB"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "mrkdwn",
|
||
|
|
"text": "*Neplacená Data:*\n${unpaid_gb} GB"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "mrkdwn",
|
||
|
|
"text": "*Celkem:*\n${total_gb} GB"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "mrkdwn",
|
||
|
|
"text": "*Čas:*\n${update_time}"
|
||
|
|
}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### 7. Telegram - Markdown 📱
|
||
|
|
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"chat_id": "YOUR_CHAT_ID",
|
||
|
|
"text": "📊 *${account}* - Aktualizace\n\n💾 *Celkem:* ${total_gb} GB\n💰 Placená: ${paid_gb} GB\n📡 Neplacená: ${unpaid_gb} GB\n\n🕐 _${update_time}_",
|
||
|
|
"parse_mode": "Markdown"
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### 8. MS Teams - Jednoduchá Karta 🏢
|
||
|
|
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"@type": "MessageCard",
|
||
|
|
"@context": "https://schema.org/extensions",
|
||
|
|
"summary": "${account} Stats Update",
|
||
|
|
"themeColor": "0078D7",
|
||
|
|
"title": "📊 ${account} - UrNetwork Stats",
|
||
|
|
"sections": [{
|
||
|
|
"facts": [
|
||
|
|
{
|
||
|
|
"name": "Placená Data:",
|
||
|
|
"value": "${paid_gb} GB"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "Neplacená Data:",
|
||
|
|
"value": "${unpaid_gb} GB"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "Celkem:",
|
||
|
|
"value": "${total_gb} GB"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"text": "Aktualizováno: ${update_time}"
|
||
|
|
}]
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### 9. Generic JSON (pro vlastní API) 🔧
|
||
|
|
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"event": "urnetwork_update",
|
||
|
|
"account_name": "${account}",
|
||
|
|
"data": {
|
||
|
|
"paid_gb": "${paid_gb}",
|
||
|
|
"unpaid_gb": "${unpaid_gb}",
|
||
|
|
"total_gb": "${total_gb}"
|
||
|
|
},
|
||
|
|
"timestamp": "${update_time}"
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### 10. IFTTT Webhook 🔗
|
||
|
|
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"value1": "${account}",
|
||
|
|
"value2": "${total_gb} GB",
|
||
|
|
"value3": "Placená: ${paid_gb} GB, Neplacená: ${unpaid_gb} GB"
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🎨 Doporučené Pro Tebe
|
||
|
|
|
||
|
|
Protože máš UrNetwork setup a pravděpodobně používáš Discord/Telegram, doporučuji:
|
||
|
|
|
||
|
|
### ⭐ Nejlepší Volba - Discord Embed (Český)
|
||
|
|
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"username": "UrNetwork Bot",
|
||
|
|
"avatar_url": "https://cdn-icons-png.flaticon.com/512/2920/2920277.png",
|
||
|
|
"embeds": [{
|
||
|
|
"title": "⚡ ${account} - Nová Data!",
|
||
|
|
"color": 3901635,
|
||
|
|
"fields": [
|
||
|
|
{
|
||
|
|
"name": "💰 Placená Data",
|
||
|
|
"value": "`${paid_gb} GB`",
|
||
|
|
"inline": true
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "📡 Neplacená Data",
|
||
|
|
"value": "`${unpaid_gb} GB`",
|
||
|
|
"inline": true
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "💾 Celkem",
|
||
|
|
"value": "**${total_gb} GB**",
|
||
|
|
"inline": false
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"footer": {
|
||
|
|
"text": "UrNetwork Stats Dashboard"
|
||
|
|
},
|
||
|
|
"timestamp": "${update_time}"
|
||
|
|
}]
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
### 🚀 Rychlá Varianta - Pro Mobil
|
||
|
|
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"content": "⚡ **${account}**: ${total_gb} GB\n💰 ${paid_gb} | 📡 ${unpaid_gb}"
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 📝 Jak Přidat Webhook
|
||
|
|
|
||
|
|
### 1. Discord Webhook URL
|
||
|
|
```
|
||
|
|
1. Jdi do Discord serveru
|
||
|
|
2. Server Settings → Integrations → Webhooks
|
||
|
|
3. New Webhook
|
||
|
|
4. Zkopíruj Webhook URL
|
||
|
|
5. Vlož do dashboardu v Settings → Webhook Management
|
||
|
|
```
|
||
|
|
|
||
|
|
### 2. V Dashboardu
|
||
|
|
```
|
||
|
|
1. Přihlaš se do dashboardu
|
||
|
|
2. Menu → Settings (Nastavení)
|
||
|
|
3. Webhook Management
|
||
|
|
4. Vlož URL: https://discord.com/api/webhooks/...
|
||
|
|
5. Vlož JSON payload (výše)
|
||
|
|
6. Přidat Webhook
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🧪 Test Webhooku
|
||
|
|
|
||
|
|
Chceš otestovat, jestli webhook funguje? Spusť manuální fetch:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# V dashboardu klikni "Fetch Now"
|
||
|
|
# nebo z příkazové řádky:
|
||
|
|
curl -X POST http://localhost:90/trigger
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🔍 Debug
|
||
|
|
|
||
|
|
### Pokud webhook nefunguje:
|
||
|
|
|
||
|
|
1. **Zkontroluj logy:**
|
||
|
|
```bash
|
||
|
|
tail -f nohup.out | grep webhook
|
||
|
|
```
|
||
|
|
|
||
|
|
2. **Zkontroluj JSON syntax:**
|
||
|
|
```bash
|
||
|
|
# Použij online JSON validator
|
||
|
|
# https://jsonlint.com/
|
||
|
|
```
|
||
|
|
|
||
|
|
3. **Test Discord webhooku:**
|
||
|
|
```bash
|
||
|
|
curl -X POST "YOUR_WEBHOOK_URL" \
|
||
|
|
-H "Content-Type: application/json" \
|
||
|
|
-d '{"content": "Test message"}'
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 💡 Pro Tipy
|
||
|
|
|
||
|
|
### Více Webhooků
|
||
|
|
Můžeš přidat více webhooků - každý dostane notifikaci!
|
||
|
|
- Discord server 1
|
||
|
|
- Discord server 2
|
||
|
|
- Slack workspace
|
||
|
|
- Telegram bot
|
||
|
|
|
||
|
|
### Filtrování Podle Účtu
|
||
|
|
Chceš notifikace jen pro specifický účet?
|
||
|
|
|
||
|
|
V payloadu použij podmínku (pokud tvůj webhook systém podporuje):
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"content": "${account} update: ${total_gb} GB"
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
A vytvoř samostatný webhook jen když je `${account}` = "Hlavní účet"
|
||
|
|
|
||
|
|
### Rate Limiting
|
||
|
|
Pozor! Většina služeb má rate limit:
|
||
|
|
- Discord: 5 zpráv / 2 sekundy per webhook
|
||
|
|
- Slack: 1 zpráva / sekunda
|
||
|
|
|
||
|
|
Dashboard posílá notifikace každých 15 minut, takže jsi v pohodě! ✅
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🎯 Tvoje Setup (Doporučení)
|
||
|
|
|
||
|
|
Protože máš pravděpodobně několik účtů, doporučuji:
|
||
|
|
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"embeds": [{
|
||
|
|
"title": "📊 ${account}",
|
||
|
|
"description": "**${total_gb} GB** poskytnutých dat",
|
||
|
|
"color": 3901635,
|
||
|
|
"fields": [
|
||
|
|
{"name": "💰 Placená", "value": "${paid_gb} GB", "inline": true},
|
||
|
|
{"name": "📡 Neplacená", "value": "${unpaid_gb} GB", "inline": true}
|
||
|
|
],
|
||
|
|
"footer": {"text": "${update_time}"}
|
||
|
|
}]
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
Takto dostaneš **jednu zprávu každých 15 minut pro každý účet** s přehledným rozdělením! 🎉
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
**Potřebuješ pomoct s nastavením? Dej vědět! 🚀**
|