Poycord API
Poycord panelinin kullandığı tüm veriye erişen REST API. Discord botlarına ve dış entegrasyonlara Poycord'un bütün özelliklerini bağlar.
Base: poycord.duckdns.org Sürüm: /api/v1 JSON
Kimlik doğrulama
Panelden sahip (owner) hesabıyla anahtar üret: Admin Paneli → 🤖 API Anahtarları. Anahtar yalnız üretimde bir kez gösterilir (hash saklanır, tekrar alınamaz — kaybedersen “Yenile”).
Her istekte Authorization: Bearer <anahtar> başlığını gönder:
# Kullanıcı özeti
curl -H "Authorization: Bearer poy_live_xxxxx" \
https://poycord.duckdns.org/api/v1/user/123456789012345678
Alternatif başlık:
X-API-Key: poy_live_...Yetki seviyeleri
| Seviye | Erişim |
|---|---|
Okuma read | Tüm okuma uçları: kullanıcı, sunucu, sıralama, arama, geçmiş. |
Tam full | Okuma + admin aksiyonları: takip listesi, kelime, sync, derin sorgu. |
Hiçbir seviye güvenlik yüzeyine giremez:
/keys, /tokens, /apikeys → API anahtarına her zaman 403. Anahtar üretme/iptal yalnız panelde, sahip hesabıyla.Hız limiti & hatalar
Anahtar başına 120 istek/dk. Aşımda 429 + Retry-After.
| HTTP | error | Anlam |
|---|---|---|
400 | MISSING | Eksik parametre |
401 | UNAUTHORIZED | Anahtar yok/geçersiz/kapalı/süresi dolmuş |
403 | API_KEY_FORBIDDEN / FORBIDDEN | Yetersiz seviye veya yasak yüzey |
404 | NOT_FOUND | Kayıt yok |
429 | RATE_LIMIT | Hız limiti |
Kullanıcı
| Metod | Yol | Açıklama |
|---|---|---|
| GET | /search?q= | İsim/ID ile arama |
| GET | /user/:id | Kullanıcı profili |
| GET | /user/:id/stats | Mesaj/ses istatistikleri |
| GET | /user/:id/mutual | Ortak sunucular |
| GET | /user/:id/presence | Durum / son görülme |
| GET | /user/:id/now | Şu anki aktivite |
| GET | /user/:id/devices | Cihaz kullanım yüzdeleri |
| GET | /user/:id/heatmap | Saat/gün ısı haritası |
| GET | /user/:id/network | Sosyal ağ (ses/mesaj arkadaşları) |
| GET | /user/:id/wrapped | Yıllık özet |
| GET | /user/:id/deep Tam | Derin sorgu (tek ekranda her şey) |
| GET | /user/:id/messages Tam | Mesaj log'u (?limit=&offset=&q=) |
Sunucu
| Metod | Yol | Açıklama |
|---|---|---|
| GET | /guild/:id | Sunucu özeti |
| GET | /guild/:id/members | Üyeler |
| GET | /guild/:id/boosters | Boost'layanlar |
| GET | /guild/:id/bans | Banlar |
| GET | /guild/:id/channels | Kanallar |
| GET | /guild/:id/roles | Roller |
Toplu & sıralama
| Metod | Yol | Açıklama |
|---|---|---|
| GET | /users | Tüm kullanıcılar (bot hariç) |
| GET | /guilds | Tüm sunucular |
| GET | /ranking/messages | Mesaj sıralaması (ilk 100) |
| GET | /ranking/voice | Ses sıralaması (ilk 100) |
| GET | /db/stats | Veritabanı özeti |
Takip & kelime Tam
| Metod | Yol | Açıklama |
|---|---|---|
| GET | /watchlist | Takip listesi |
| POST | /watchlist | Takibe ekle {userId,label} |
| DEL | /watchlist/:userId | Takipten çıkar |
| GET | /watchlist/feed | Aktivite akışı |
| GET | /keywords | Kelime takibi listesi |
| POST | /keywords | Kelime ekle {word} |
Örnekler
curl
KEY=poy_live_xxxxx
curl -H "Authorization: Bearer $KEY" https://poycord.duckdns.org/api/v1/user/123
curl -H "Authorization: Bearer $KEY" https://poycord.duckdns.org/api/v1/ranking/messages
Node (SDK istemcisi)
const { PoycordClient } = require('./poycord-client');
const poy = new PoycordClient({ apiKey: process.env.POYCORD_API_KEY });
const u = await poy.user('123...'); // kullanıcı
const deep = await poy.userDeep('123...'); // derin sorgu (Tam)
const top = await poy.rankingMessages(); // sıralama
Discord botu
Hazır istemci + örnek bot repoda: bot/poycord-client.js, bot/example-bot.js. Kurulum:
cd bot
npm i discord.js dotenv
# .env: DISCORD_TOKEN, DISCORD_CLIENT_ID, POYCORD_API_KEY, POYCORD_BASE
node example-bot.js
Hazır slash komutları: /poycord-user, /poycord-derinsorgu, /poycord-sunucu, /poycord-siralama.
Makine-okur şema (Postman/Insomnia import): /api/openapi.json