UrNetwork-Stats-Dashboard-r.../WEBHOOK_GUIDE.md
2025-11-21 22:39:41 +01:00

7.8 KiB

🔔 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 💬

{
  "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ý) 🇨🇿

{
  "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ý 🎯

{
  "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 📊

{
  "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 💼

{
  "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 💼

{
  "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 📱

{
  "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 🏢

{
  "@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) 🔧

{
  "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 🔗

{
  "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ý)

{
  "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

{
  "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:

# V dashboardu klikni "Fetch Now"
# nebo z příkazové řádky:
curl -X POST http://localhost:90/trigger

🔍 Debug

Pokud webhook nefunguje:

  1. Zkontroluj logy:
tail -f nohup.out | grep webhook
  1. Zkontroluj JSON syntax:
# Použij online JSON validator
# https://jsonlint.com/
  1. Test Discord webhooku:
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):

{
  "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:

{
  "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! 🚀