Metadata-Version: 2.4
Name: omnivybe.py
Version: 1.0.0
Summary: The official, fully-featured, and high-performance Python bot SDK for the OmniVybe platform.
Author: OmniVybe Team
License: MIT
Project-URL: Homepage, https://omnivybe.com.tr
Keywords: omnivybe,omni,omnivybe.py,bot,sdk,gateway,rest,chat
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: aiohttp>=3.9.0

# omnivybe.py

> The official, fully-featured, and high-performance Python bot SDK for the **OmniVybe** platform (1:1 feature parity with `omnivybe.js` + Next-Gen Python Extensions).

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](https://opensource.org/licenses/MIT)
[![Python Version](https://img.shields.io/badge/python-3.9+-blue.svg?style=flat-square)](https://www.python.org/)

---

## 🚀 Kurulum

```bash
pip install -e .
```
veya doğrudan gereksinimleri yüklemek için:
```bash
pip install -r requirements.txt
```

---

## ⚡ Temel & Yaratıcı Özellikler

- 🎯 **Tam Bot ve Gateway Yaşam Döngüsü**: Otomatik heartbeat, yeniden bağlanma ve oturum yönetimi.
- 🛠️ **`omnivybe.ext.commands`**: Prefix tabanlı komut sistemi, akıllı `Context` (`ctx.reply`, `ctx.send`), alias ve dinamik prefix desteği.
- 🧩 **Sıcak Yeniden Yüklemeli Cog / Extension Desteği**: `bot.load_extension()` ve `bot.reload_extension()` ile botu kapatmadan canlı kod güncelleme.
- ⏱️ **`omnivybe.ext.tasks`**: `@tasks.loop(seconds=..., minutes=...)` ile kolay arka plan zamanlayıcıları.
- 📖 **`omnivybe.ext.paginator`**: Reaksiyon butonlu (◀️ ▶️ ⏹️) etkileşimli çok sayfalı Embed gezgini.
- 🚦 **`RateLimiter`**: Token-bucket tabanlı 429 koruması ve akıllı istek kuyruğu.
- 💎 **Gelişmiş Yapıcılar**: `EmbedBuilder`, `AttachmentBuilder`, `MessagePayload`.
- 🔍 **Kolektörler**: `MessageCollector`, `ReactionCollector`.
- 📂 **Model & Yapılar**: `User`, `GuildMember`, `Role`, `Message`, `TextChannel`, `VoiceChannel`, `CategoryChannel`, `ThreadChannel`, `Guild`.
- 🛡️ **Bitfield ve Yetki Denetimi**: `PermissionsBitField`, `MessageFlagsBitField`, `UserFlagsBitField`, `GatewayIntentBits`.
- 🌐 **CDN Yardımcıları**: `cdn_avatar_url`, `cdn_display_avatar_url`, `cdn_banner_url`, `cdn_emoji_url`, `cdn_sticker_url`, `cdn_guild_asset_url`.
- 🎨 **Emoji & Markdown Araçları**: `parse_emoji`, `format_emoji`, `get_unicode_from_shortcode`, `escape_markdown`, `format_timestamp`, `resolve_color`.
- 💻 **CLI Bot İskeleti**: `python -m omnivybe init` komutuyla tek tıkla hazır bot şablonu oluşturma.

---

## 📖 Hızlı Başlangıç

### 1. `commands.Bot` ile Komut & Sayfalayıcı Örneği

```python
import os
from omnivybe import GatewayIntentBits, EmbedBuilder
from omnivybe.ext import commands, tasks
from omnivybe.ext.paginator import Paginator

bot = commands.Bot(
    command_prefix="!",
    intents=GatewayIntentBits.Guilds | GatewayIntentBits.GuildMessages | GatewayIntentBits.MessageContent
)

@bot.event
async def on_ready():
    print(f"🚀 Bot hazır: {bot.user.tag}")
    durum_guncelleyici.start()

@bot.command(name="ping")
async def ping(ctx):
    await ctx.reply("🏓 Pong! OmniVybe Framework çalışıyor.")

@bot.command(name="yardim")
async def yardim(ctx):
    sayfa1 = EmbedBuilder().set_title("Yardım - Sayfa 1").set_description("Komut listesi başlangıcı...").set_color(0x5865F2)
    sayfa2 = EmbedBuilder().set_title("Yardım - Sayfa 2").set_description("Moderasyon komutları...").set_color(0x57F287)

    paginator = Paginator([sayfa1, sayfa2], timeout=30.0)
    await paginator.start(ctx)

@tasks.loop(seconds=60)
async def durum_guncelleyici():
    print("Durum kontrol ediliyor...")

bot.run(os.environ.get("OMNIVYBE_BOT_TOKEN", "YOUR_BOT_TOKEN"))
```

### 2. CLI ile Proje Başlatma

```bash
python -m omnivybe init my_bot
```

---

## 📄 Lisans

Bu proje MIT lisansı altındadır.
