# Keşfet (Bot rehberi)

Doğrulanmış ve listelenmiş botların herkese açık rehberi.

## Rehberdeki doğrulanmış botları listele (`listDirectoryBots`)

**`GET https://noluyo.net/api/v1/discovery/bots`** (`GET /discovery/bots`)

Bot rehberindeki doğrulanmış herkese açık botları sunucu sayısına göre sıralayarak listeler (sayfa başına `24`, `offset` en çok `960`). Bot platformu kapalıyken boş liste döner.

- **Kimlik:** Herkese açık (Authorization başlığı gerekmez)

### Parametreler

| Ad | Konum | Tür | Zorunlu | Açıklama |
| --- | --- | --- | --- | --- |
| `category` | `query` | `string` | - | Bot kategorisine göre süz. (moderation, music, games, utility, fun, social, other) |
| `q` | `query` | `string` | - | Bot adına ya da açıklamasına göre ara. (<= 64) |
| `offset` | `query` | `integer` | - | Sonuç kaydırma değeri (0..960). (0–960 · = 0) |

### Örnek çağrılar

```bash
curl "https://noluyo.net/api/v1/discovery/bots?category=moderation"
```

```js
// JavaScript (noluyo-bot)
await bot.rest.listDirectoryBots({ category: "moderation" });
```

```py
# Python (noluyo_bot)
await bot.rest.list_directory_bots({"category": "moderation"})
```

### Yanıt (200)

```json
{
  "bots": [
    {
      "id": "21879167385600004",
      "bot_user_id": "21879171579904005",
      "name": "Kalkan Bot",
      "description": "Sunucu moderasyonu ve hızlı anket botu.",
      "listing_text": "Küfür süzgeci, zaman aşımı ve butonlu anketler.",
      "avatar": "a1b2c3d4",
      "category": "moderation",
      "guild_count": 142,
      "verified": true,
      "install_permissions": "68608",
      "support_url": "https://ornek.com/destek",
      "website_url": "https://ornek.com",
      "privacy_url": "https://ornek.com/gizlilik"
    }
  ],
  "total": 1,
  "has_more": false
}
```

### Hata kodları

- **HTTP 400:** `validation_failed`, `invalid_body`, `intent_approval_required`, `endpoint_not_allowed`, `endpoint_unreachable`, `endpoint_bad_response`, `endpoint_no_signature_check`
- **HTTP 429:** `rate_limited`
- **HTTP 503:** `maintenance`
