jubcord 0.1.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- jubcord-0.1.4/LICENSE +21 -0
- jubcord-0.1.4/PKG-INFO +140 -0
- jubcord-0.1.4/README.md +124 -0
- jubcord-0.1.4/jubcord/__init__.py +138 -0
- jubcord-0.1.4/jubcord/__init__.pyi +113 -0
- jubcord-0.1.4/jubcord/builders/__init__.py +21 -0
- jubcord-0.1.4/jubcord/builders/command.py +175 -0
- jubcord-0.1.4/jubcord/builders/components.py +279 -0
- jubcord-0.1.4/jubcord/builders/embed.py +282 -0
- jubcord-0.1.4/jubcord/builders/modal.py +116 -0
- jubcord-0.1.4/jubcord/core/__init__.py +77 -0
- jubcord-0.1.4/jubcord/core/bot.py +623 -0
- jubcord-0.1.4/jubcord/core/cache.py +353 -0
- jubcord-0.1.4/jubcord/core/checks.py +306 -0
- jubcord-0.1.4/jubcord/core/client.py +471 -0
- jubcord-0.1.4/jubcord/core/commands.py +632 -0
- jubcord-0.1.4/jubcord/core/converters.py +251 -0
- jubcord-0.1.4/jubcord/core/cooldowns.py +185 -0
- jubcord-0.1.4/jubcord/core/plugin.py +290 -0
- jubcord-0.1.4/jubcord/enums.py +209 -0
- jubcord-0.1.4/jubcord/exceptions.py +238 -0
- jubcord-0.1.4/jubcord/gateway/__init__.py +10 -0
- jubcord-0.1.4/jubcord/gateway/dispatcher.py +75 -0
- jubcord-0.1.4/jubcord/gateway/shard.py +248 -0
- jubcord-0.1.4/jubcord/models/__init__.py +48 -0
- jubcord-0.1.4/jubcord/models/base.py +37 -0
- jubcord-0.1.4/jubcord/models/channel.py +233 -0
- jubcord-0.1.4/jubcord/models/context.py +239 -0
- jubcord-0.1.4/jubcord/models/file.py +118 -0
- jubcord-0.1.4/jubcord/models/guild.py +275 -0
- jubcord-0.1.4/jubcord/models/interaction.py +691 -0
- jubcord-0.1.4/jubcord/models/invite.py +47 -0
- jubcord-0.1.4/jubcord/models/member.py +199 -0
- jubcord-0.1.4/jubcord/models/message.py +273 -0
- jubcord-0.1.4/jubcord/models/role.py +70 -0
- jubcord-0.1.4/jubcord/models/user.py +121 -0
- jubcord-0.1.4/jubcord/models/webhook.py +48 -0
- jubcord-0.1.4/jubcord/permissions.py +172 -0
- jubcord-0.1.4/jubcord/py.typed +1 -0
- jubcord-0.1.4/jubcord/rest/__init__.py +8 -0
- jubcord-0.1.4/jubcord/rest/endpoints.py +314 -0
- jubcord-0.1.4/jubcord/rest/http.py +926 -0
- jubcord-0.1.4/jubcord/tasks/__init__.py +12 -0
- jubcord-0.1.4/jubcord/tasks/loop.py +372 -0
- jubcord-0.1.4/jubcord/ui/__init__.py +25 -0
- jubcord-0.1.4/jubcord/ui/paginator.py +183 -0
- jubcord-0.1.4/jubcord/ui/view.py +362 -0
- jubcord-0.1.4/jubcord/utils/__init__.py +15 -0
- jubcord-0.1.4/jubcord/utils/color.py +139 -0
- jubcord-0.1.4/jubcord/utils/loop.py +20 -0
- jubcord-0.1.4/jubcord/utils/mentions.py +54 -0
- jubcord-0.1.4/jubcord/utils/snowflake.py +18 -0
- jubcord-0.1.4/jubcord.egg-info/PKG-INFO +140 -0
- jubcord-0.1.4/jubcord.egg-info/SOURCES.txt +57 -0
- jubcord-0.1.4/jubcord.egg-info/dependency_links.txt +1 -0
- jubcord-0.1.4/jubcord.egg-info/requires.txt +4 -0
- jubcord-0.1.4/jubcord.egg-info/top_level.txt +1 -0
- jubcord-0.1.4/pyproject.toml +27 -0
- jubcord-0.1.4/setup.cfg +4 -0
jubcord-0.1.4/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Jubbio
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
jubcord-0.1.4/PKG-INFO
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: jubcord
|
|
3
|
+
Version: 0.1.4
|
|
4
|
+
Summary: Modern, asenkron ve güçlü Jubbio Python SDK kütüphanesi.
|
|
5
|
+
Author-email: Jubbio Developers <info@jubbio.com>
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Keywords: jubcord,jubbio,bot,sdk,api,asyncio,chat
|
|
8
|
+
Requires-Python: >=3.10
|
|
9
|
+
Description-Content-Type: text/markdown
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
Requires-Dist: aiohttp>=3.9.0
|
|
12
|
+
Requires-Dist: websockets>=12.0
|
|
13
|
+
Requires-Dist: pydantic>=2.0.0
|
|
14
|
+
Requires-Dist: python-dotenv>=1.0.0
|
|
15
|
+
Dynamic: license-file
|
|
16
|
+
|
|
17
|
+
# Jubcord (Jubbio Python SDK) 🚀
|
|
18
|
+
|
|
19
|
+
[](https://pypi.org/project/jubcord/)
|
|
20
|
+
[](https://python.org)
|
|
21
|
+
[](https://opensource.org/licenses/MIT)
|
|
22
|
+
|
|
23
|
+
**Jubcord**, Türk yapımı yeni nesil iletişim platformu [Jubbio](https://jubbio.com) için geliştirilmiş modern, tam asenkron, tip güvenli ve güçlü resmi Python SDK kütüphanesidir.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## ✨ Özellikler
|
|
28
|
+
|
|
29
|
+
* ⚡ **Tam Asenkron Altyapı**: `asyncio`, `aiohttp` ve `websockets` tabanlı yüksek performans.
|
|
30
|
+
* 🛡️ **Gelişmiş Komut Sistemi**: Hem klasik Prefix komutları (`!komut`) hem de modern Slash komutları (`/komut`).
|
|
31
|
+
* 🧠 **Dahili Önbellek (LRU Cache Layer)**: Sunucu, kanal, üye ve mesajlar için düşük bellek tüketimli akıllı RAM önbelleği.
|
|
32
|
+
* 🎨 **Zengin Görsel Bileşenler**: Embed kartları, Butonlar (`Button`), Açılır Menüler (`SelectMenu`) ve Modal Formları (`Modal`).
|
|
33
|
+
* 📄 **Dahili Sayfalayıcı (Paginator)**: Uzun listeleri ve rehberleri butonlarla gezilebilir kılan hazır UI bileşeni.
|
|
34
|
+
* ⏱️ **Zamanlanmış Görevler (Tasks Loop)**: Arka planda periyodik çalışan asenkron döngüler (`@tasks.loop`).
|
|
35
|
+
* 🧩 **Modüler Eklenti (Plugin) Mimarisi**: Komutları ve dinleyicileri bağımsız dosyalara bölme desteği.
|
|
36
|
+
* 🔍 **Tip Güvenliği & IntelliSense**: Tam tip desteği (`py.typed`) ve otomatik argüman dönüştürücüler (`converters`).
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## 📦 Kurulum
|
|
41
|
+
|
|
42
|
+
Python 3.10 veya daha yeni bir sürüm gereklidir:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
pip install jubcord
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## 🚀 Hızlı Başlangıç
|
|
51
|
+
|
|
52
|
+
### 1. Basit Bir Bot Oluşturma
|
|
53
|
+
|
|
54
|
+
```python
|
|
55
|
+
import jubcord
|
|
56
|
+
from jubcord.builders import Embed
|
|
57
|
+
|
|
58
|
+
# Bot istemcisini başlat
|
|
59
|
+
bot = jubcord.Bot(
|
|
60
|
+
token="BOT_TOKENINIZI_BURAYA_YAZIN",
|
|
61
|
+
prefix="!",
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
# 1. Hazır Olma Olayı
|
|
65
|
+
@bot.event
|
|
66
|
+
async def on_ready(client: jubcord.Client):
|
|
67
|
+
print(f"🤖 {client.user.username} olarak oturum açıldı ve hazır!")
|
|
68
|
+
|
|
69
|
+
# 2. Klasik Prefix Komutu (!ping)
|
|
70
|
+
@bot.command(name="ping", description="Gecikme süresini gösterir")
|
|
71
|
+
async def ping(ctx: jubcord.Context):
|
|
72
|
+
latency = bot.latency * 1000
|
|
73
|
+
await ctx.reply(f"🏓 Pong! Gecikme: `{latency:.1f}ms`")
|
|
74
|
+
|
|
75
|
+
# 3. Zengin Embed Yanıtı (!bilgi)
|
|
76
|
+
@bot.command(name="bilgi")
|
|
77
|
+
async def info(ctx: jubcord.Context):
|
|
78
|
+
embed = Embed(
|
|
79
|
+
title="Jubcord Bot Bilgisi",
|
|
80
|
+
description="Jubcord ile geliştirilmiş örnek bot.",
|
|
81
|
+
color="blurple",
|
|
82
|
+
fields=[
|
|
83
|
+
("👥 Sunucu", ctx.guild.name if ctx.guild else "Özel Mesaj", True),
|
|
84
|
+
("📁 Kanal", f"#{ctx.channel.name}" if ctx.channel else "DM", True),
|
|
85
|
+
],
|
|
86
|
+
footer=f"İsteyen: {ctx.author.username}",
|
|
87
|
+
timestamp=True,
|
|
88
|
+
)
|
|
89
|
+
await ctx.reply(embed=embed)
|
|
90
|
+
|
|
91
|
+
# 4. Slash Komutu (/selam)
|
|
92
|
+
@bot.slash(name="selam", description="Kullanıcıya özel selam verir")
|
|
93
|
+
async def selam(interaction: jubcord.CommandInteraction, kisi: jubcord.User):
|
|
94
|
+
await interaction.reply(f"Merhaba {kisi.mention}! 👋", ephemeral=True)
|
|
95
|
+
|
|
96
|
+
# Botu çalıştır
|
|
97
|
+
bot.run()
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## 🎛️ Butonlar ve İnteraktif Görünümler (Views)
|
|
103
|
+
|
|
104
|
+
```python
|
|
105
|
+
import jubcord
|
|
106
|
+
from jubcord.ui import View, button
|
|
107
|
+
from jubcord.enums import ButtonStyle
|
|
108
|
+
|
|
109
|
+
class OnayView(View):
|
|
110
|
+
@button(label="Evet", style=ButtonStyle.SUCCESS, emoji="✅")
|
|
111
|
+
async def on_yes(self, interaction: jubcord.ButtonInteraction):
|
|
112
|
+
await interaction.reply("İşlem onaylandı! 🎉", ephemeral=True)
|
|
113
|
+
|
|
114
|
+
@button(label="Hayır", style=ButtonStyle.DANGER, emoji="❌")
|
|
115
|
+
async def on_no(self, interaction: jubcord.ButtonInteraction):
|
|
116
|
+
await interaction.reply("İşlem iptal edildi.", ephemeral=True)
|
|
117
|
+
|
|
118
|
+
@bot.command(name="onayla")
|
|
119
|
+
async def confirm_cmd(ctx: jubcord.Context):
|
|
120
|
+
await ctx.reply("Bu işlemi onaylıyor musunuz?", view=OnayView())
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## 📚 Dokümantasyon
|
|
126
|
+
|
|
127
|
+
Kapsamlı rehberler, API referansı ve mimari detaylar için [Jubcord Dokümantasyonu](docs/)'nu ziyaret edebilirsiniz:
|
|
128
|
+
|
|
129
|
+
* [Hızlı Başlangıç Rehberi](docs/getting-started.md)
|
|
130
|
+
* [Prefix Komutları Rehberi](docs/guides/commands.md)
|
|
131
|
+
* [Slash Komutları Rehberi](docs/guides/slash-commands.md)
|
|
132
|
+
* [Bileşenler ve Butonlar](docs/guides/components.md)
|
|
133
|
+
* [Görünümler ve Sayfalayıcı (View & Paginator)](docs/guides/views.md)
|
|
134
|
+
* [API Referansı (Client, Context, Models)](docs/api/client.md)
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## 📄 Lisans
|
|
139
|
+
|
|
140
|
+
Bu proje **MIT Lisansı** ile lisanslanmıştır. Detaylar için [LICENSE](LICENSE) dosyasına bakabilirsiniz.
|
jubcord-0.1.4/README.md
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# Jubcord (Jubbio Python SDK) 🚀
|
|
2
|
+
|
|
3
|
+
[](https://pypi.org/project/jubcord/)
|
|
4
|
+
[](https://python.org)
|
|
5
|
+
[](https://opensource.org/licenses/MIT)
|
|
6
|
+
|
|
7
|
+
**Jubcord**, Türk yapımı yeni nesil iletişim platformu [Jubbio](https://jubbio.com) için geliştirilmiş modern, tam asenkron, tip güvenli ve güçlü resmi Python SDK kütüphanesidir.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## ✨ Özellikler
|
|
12
|
+
|
|
13
|
+
* ⚡ **Tam Asenkron Altyapı**: `asyncio`, `aiohttp` ve `websockets` tabanlı yüksek performans.
|
|
14
|
+
* 🛡️ **Gelişmiş Komut Sistemi**: Hem klasik Prefix komutları (`!komut`) hem de modern Slash komutları (`/komut`).
|
|
15
|
+
* 🧠 **Dahili Önbellek (LRU Cache Layer)**: Sunucu, kanal, üye ve mesajlar için düşük bellek tüketimli akıllı RAM önbelleği.
|
|
16
|
+
* 🎨 **Zengin Görsel Bileşenler**: Embed kartları, Butonlar (`Button`), Açılır Menüler (`SelectMenu`) ve Modal Formları (`Modal`).
|
|
17
|
+
* 📄 **Dahili Sayfalayıcı (Paginator)**: Uzun listeleri ve rehberleri butonlarla gezilebilir kılan hazır UI bileşeni.
|
|
18
|
+
* ⏱️ **Zamanlanmış Görevler (Tasks Loop)**: Arka planda periyodik çalışan asenkron döngüler (`@tasks.loop`).
|
|
19
|
+
* 🧩 **Modüler Eklenti (Plugin) Mimarisi**: Komutları ve dinleyicileri bağımsız dosyalara bölme desteği.
|
|
20
|
+
* 🔍 **Tip Güvenliği & IntelliSense**: Tam tip desteği (`py.typed`) ve otomatik argüman dönüştürücüler (`converters`).
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 📦 Kurulum
|
|
25
|
+
|
|
26
|
+
Python 3.10 veya daha yeni bir sürüm gereklidir:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
pip install jubcord
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## 🚀 Hızlı Başlangıç
|
|
35
|
+
|
|
36
|
+
### 1. Basit Bir Bot Oluşturma
|
|
37
|
+
|
|
38
|
+
```python
|
|
39
|
+
import jubcord
|
|
40
|
+
from jubcord.builders import Embed
|
|
41
|
+
|
|
42
|
+
# Bot istemcisini başlat
|
|
43
|
+
bot = jubcord.Bot(
|
|
44
|
+
token="BOT_TOKENINIZI_BURAYA_YAZIN",
|
|
45
|
+
prefix="!",
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
# 1. Hazır Olma Olayı
|
|
49
|
+
@bot.event
|
|
50
|
+
async def on_ready(client: jubcord.Client):
|
|
51
|
+
print(f"🤖 {client.user.username} olarak oturum açıldı ve hazır!")
|
|
52
|
+
|
|
53
|
+
# 2. Klasik Prefix Komutu (!ping)
|
|
54
|
+
@bot.command(name="ping", description="Gecikme süresini gösterir")
|
|
55
|
+
async def ping(ctx: jubcord.Context):
|
|
56
|
+
latency = bot.latency * 1000
|
|
57
|
+
await ctx.reply(f"🏓 Pong! Gecikme: `{latency:.1f}ms`")
|
|
58
|
+
|
|
59
|
+
# 3. Zengin Embed Yanıtı (!bilgi)
|
|
60
|
+
@bot.command(name="bilgi")
|
|
61
|
+
async def info(ctx: jubcord.Context):
|
|
62
|
+
embed = Embed(
|
|
63
|
+
title="Jubcord Bot Bilgisi",
|
|
64
|
+
description="Jubcord ile geliştirilmiş örnek bot.",
|
|
65
|
+
color="blurple",
|
|
66
|
+
fields=[
|
|
67
|
+
("👥 Sunucu", ctx.guild.name if ctx.guild else "Özel Mesaj", True),
|
|
68
|
+
("📁 Kanal", f"#{ctx.channel.name}" if ctx.channel else "DM", True),
|
|
69
|
+
],
|
|
70
|
+
footer=f"İsteyen: {ctx.author.username}",
|
|
71
|
+
timestamp=True,
|
|
72
|
+
)
|
|
73
|
+
await ctx.reply(embed=embed)
|
|
74
|
+
|
|
75
|
+
# 4. Slash Komutu (/selam)
|
|
76
|
+
@bot.slash(name="selam", description="Kullanıcıya özel selam verir")
|
|
77
|
+
async def selam(interaction: jubcord.CommandInteraction, kisi: jubcord.User):
|
|
78
|
+
await interaction.reply(f"Merhaba {kisi.mention}! 👋", ephemeral=True)
|
|
79
|
+
|
|
80
|
+
# Botu çalıştır
|
|
81
|
+
bot.run()
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## 🎛️ Butonlar ve İnteraktif Görünümler (Views)
|
|
87
|
+
|
|
88
|
+
```python
|
|
89
|
+
import jubcord
|
|
90
|
+
from jubcord.ui import View, button
|
|
91
|
+
from jubcord.enums import ButtonStyle
|
|
92
|
+
|
|
93
|
+
class OnayView(View):
|
|
94
|
+
@button(label="Evet", style=ButtonStyle.SUCCESS, emoji="✅")
|
|
95
|
+
async def on_yes(self, interaction: jubcord.ButtonInteraction):
|
|
96
|
+
await interaction.reply("İşlem onaylandı! 🎉", ephemeral=True)
|
|
97
|
+
|
|
98
|
+
@button(label="Hayır", style=ButtonStyle.DANGER, emoji="❌")
|
|
99
|
+
async def on_no(self, interaction: jubcord.ButtonInteraction):
|
|
100
|
+
await interaction.reply("İşlem iptal edildi.", ephemeral=True)
|
|
101
|
+
|
|
102
|
+
@bot.command(name="onayla")
|
|
103
|
+
async def confirm_cmd(ctx: jubcord.Context):
|
|
104
|
+
await ctx.reply("Bu işlemi onaylıyor musunuz?", view=OnayView())
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## 📚 Dokümantasyon
|
|
110
|
+
|
|
111
|
+
Kapsamlı rehberler, API referansı ve mimari detaylar için [Jubcord Dokümantasyonu](docs/)'nu ziyaret edebilirsiniz:
|
|
112
|
+
|
|
113
|
+
* [Hızlı Başlangıç Rehberi](docs/getting-started.md)
|
|
114
|
+
* [Prefix Komutları Rehberi](docs/guides/commands.md)
|
|
115
|
+
* [Slash Komutları Rehberi](docs/guides/slash-commands.md)
|
|
116
|
+
* [Bileşenler ve Butonlar](docs/guides/components.md)
|
|
117
|
+
* [Görünümler ve Sayfalayıcı (View & Paginator)](docs/guides/views.md)
|
|
118
|
+
* [API Referansı (Client, Context, Models)](docs/api/client.md)
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## 📄 Lisans
|
|
123
|
+
|
|
124
|
+
Bu proje **MIT Lisansı** ile lisanslanmıştır. Detaylar için [LICENSE](LICENSE) dosyasına bakabilirsiniz.
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Jubcord Python SDK (jubcord)
|
|
3
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
4
|
+
|
|
5
|
+
Modern, asenkron ve güçlü Jubbio Bot ve API kütüphanesi.
|
|
6
|
+
|
|
7
|
+
:copyright: (c) 2026 Jubcord Developers
|
|
8
|
+
:license: MIT, bkz. LICENSE
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
__title__ = "jubcord"
|
|
12
|
+
__author__ = "Jubcord Developers"
|
|
13
|
+
__license__ = "MIT"
|
|
14
|
+
__copyright__ = "Copyright 2026 Jubcord"
|
|
15
|
+
__version__ = "0.1.4"
|
|
16
|
+
|
|
17
|
+
# ─── Alt Modüller (Submodules - Strict Namespaces) ───────────────────────────
|
|
18
|
+
from . import core as core
|
|
19
|
+
from . import models as models
|
|
20
|
+
from . import builders as builders
|
|
21
|
+
from . import ui as ui
|
|
22
|
+
from . import enums as enums
|
|
23
|
+
from . import permissions as permissions
|
|
24
|
+
from . import exceptions as exceptions
|
|
25
|
+
from . import utils as utils
|
|
26
|
+
from . import rest as rest
|
|
27
|
+
from . import gateway as gateway
|
|
28
|
+
from . import tasks as tasks
|
|
29
|
+
from .core import cache as cache
|
|
30
|
+
from .core import checks as checks
|
|
31
|
+
from .core import converters as converters
|
|
32
|
+
from .core import cooldowns as cooldowns
|
|
33
|
+
|
|
34
|
+
# ─── Çekirdek Sınıflar (Core Classes) ────────────────────────────────────────
|
|
35
|
+
from .core import Bot as Bot
|
|
36
|
+
from .core import Client as Client
|
|
37
|
+
from .core import Plugin as Plugin
|
|
38
|
+
from .core.cache import CacheFlags as CacheFlags
|
|
39
|
+
from .core.cooldowns import BucketType as BucketType, cooldown as cooldown
|
|
40
|
+
from .core.converters import Converter as Converter
|
|
41
|
+
|
|
42
|
+
# ─── Veri Modelleri & İstisnalar ─────────────────────────────────────────────
|
|
43
|
+
from .exceptions import JubcordException as JubcordException
|
|
44
|
+
from .models.base import JubcordModel as JubcordModel
|
|
45
|
+
from .models.context import Context as Context
|
|
46
|
+
from .models.message import Message as Message
|
|
47
|
+
from .models.user import User as User
|
|
48
|
+
from .models.member import GuildMember as GuildMember
|
|
49
|
+
from .models.guild import Guild as Guild
|
|
50
|
+
from .models.channel import Channel as Channel, TextChannel as TextChannel
|
|
51
|
+
from .models.role import Role as Role
|
|
52
|
+
from .models.file import File as File
|
|
53
|
+
from .models.interaction import (
|
|
54
|
+
BaseInteraction as BaseInteraction,
|
|
55
|
+
ButtonInteraction as ButtonInteraction,
|
|
56
|
+
CommandInteraction as CommandInteraction,
|
|
57
|
+
ModalSubmitInteraction as ModalSubmitInteraction,
|
|
58
|
+
SelectMenuInteraction as SelectMenuInteraction,
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
# ─── UI & Bileşen Builderları (Builders & UI) ────────────────────────────────
|
|
62
|
+
from .ui.view import View as View
|
|
63
|
+
from .ui.paginator import Paginator as Paginator
|
|
64
|
+
from .builders.embed import Embed as Embed
|
|
65
|
+
from .builders.components import ActionRow as ActionRow, Button as Button, SelectMenu as SelectMenu
|
|
66
|
+
from .builders.modal import Modal as Modal, TextInput as TextInput
|
|
67
|
+
from .builders.command import SlashCommandBuilder as SlashCommandBuilder, CommandOption as CommandOption
|
|
68
|
+
|
|
69
|
+
# ─── Yetkiler, Enumlar & Yardımcılar ────────────────────────────────────────
|
|
70
|
+
from .permissions import Permissions as Permissions, PermissionFlagsBits as PermissionFlagsBits
|
|
71
|
+
from .enums import ButtonStyle as ButtonStyle, ChannelType as ChannelType, CommandOptionType as CommandOptionType, GatewayIntent as GatewayIntent
|
|
72
|
+
from .utils.color import Color as Color, Colour as Colour
|
|
73
|
+
|
|
74
|
+
__all__ = [
|
|
75
|
+
# Alt Modüller
|
|
76
|
+
"core",
|
|
77
|
+
"models",
|
|
78
|
+
"builders",
|
|
79
|
+
"ui",
|
|
80
|
+
"enums",
|
|
81
|
+
"permissions",
|
|
82
|
+
"exceptions",
|
|
83
|
+
"utils",
|
|
84
|
+
"rest",
|
|
85
|
+
"gateway",
|
|
86
|
+
"cache",
|
|
87
|
+
"tasks",
|
|
88
|
+
"checks",
|
|
89
|
+
"converters",
|
|
90
|
+
"cooldowns",
|
|
91
|
+
# Çekirdek
|
|
92
|
+
"Bot",
|
|
93
|
+
"Client",
|
|
94
|
+
"Plugin",
|
|
95
|
+
"CacheFlags",
|
|
96
|
+
"BucketType",
|
|
97
|
+
"cooldown",
|
|
98
|
+
"Converter",
|
|
99
|
+
# UI & View & Paginator
|
|
100
|
+
"View",
|
|
101
|
+
"Paginator",
|
|
102
|
+
# İstisnalar
|
|
103
|
+
"JubcordException",
|
|
104
|
+
# Modeller
|
|
105
|
+
"JubcordModel",
|
|
106
|
+
"Context",
|
|
107
|
+
"Message",
|
|
108
|
+
"User",
|
|
109
|
+
"GuildMember",
|
|
110
|
+
"Guild",
|
|
111
|
+
"Channel",
|
|
112
|
+
"TextChannel",
|
|
113
|
+
"Role",
|
|
114
|
+
"File",
|
|
115
|
+
"BaseInteraction",
|
|
116
|
+
"ButtonInteraction",
|
|
117
|
+
"CommandInteraction",
|
|
118
|
+
"ModalSubmitInteraction",
|
|
119
|
+
"SelectMenuInteraction",
|
|
120
|
+
# Builderlar
|
|
121
|
+
"Embed",
|
|
122
|
+
"ActionRow",
|
|
123
|
+
"Button",
|
|
124
|
+
"SelectMenu",
|
|
125
|
+
"Modal",
|
|
126
|
+
"TextInput",
|
|
127
|
+
"SlashCommandBuilder",
|
|
128
|
+
"CommandOption",
|
|
129
|
+
# Yetki & Enum & Utils
|
|
130
|
+
"Permissions",
|
|
131
|
+
"PermissionFlagsBits",
|
|
132
|
+
"ButtonStyle",
|
|
133
|
+
"ChannelType",
|
|
134
|
+
"CommandOptionType",
|
|
135
|
+
"GatewayIntent",
|
|
136
|
+
"Color",
|
|
137
|
+
"Colour",
|
|
138
|
+
]
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"""Jubcord Python SDK (jubcord) — Type Stubs for Pylance/IntelliSense."""
|
|
2
|
+
|
|
3
|
+
from typing import Any, Callable, Coroutine, Dict, List, Optional, Sequence, Set, Type, Union
|
|
4
|
+
|
|
5
|
+
from . import core as core
|
|
6
|
+
from . import models as models
|
|
7
|
+
from . import builders as builders
|
|
8
|
+
from . import ui as ui
|
|
9
|
+
from . import enums as enums
|
|
10
|
+
from . import permissions as permissions
|
|
11
|
+
from . import exceptions as exceptions
|
|
12
|
+
from . import utils as utils
|
|
13
|
+
from . import rest as rest
|
|
14
|
+
from . import gateway as gateway
|
|
15
|
+
from . import tasks as tasks
|
|
16
|
+
from .core import cache as cache
|
|
17
|
+
from .core import checks as checks
|
|
18
|
+
from .core import converters as converters
|
|
19
|
+
from .core import cooldowns as cooldowns
|
|
20
|
+
|
|
21
|
+
from .core import Bot as Bot
|
|
22
|
+
from .core import Client as Client
|
|
23
|
+
from .core import Plugin as Plugin
|
|
24
|
+
from .core.cache import CacheFlags as CacheFlags
|
|
25
|
+
from .core.cooldowns import BucketType as BucketType, cooldown as cooldown
|
|
26
|
+
from .core.converters import Converter as Converter
|
|
27
|
+
|
|
28
|
+
from .ui.view import View as View
|
|
29
|
+
from .ui.paginator import Paginator as Paginator
|
|
30
|
+
|
|
31
|
+
from .exceptions import JubcordException as JubcordException
|
|
32
|
+
from .models.base import JubcordModel as JubcordModel
|
|
33
|
+
from .models.context import Context as Context
|
|
34
|
+
from .models.message import Message as Message
|
|
35
|
+
from .models.user import User as User
|
|
36
|
+
from .models.member import GuildMember as GuildMember
|
|
37
|
+
from .models.guild import Guild as Guild
|
|
38
|
+
from .models.channel import Channel as Channel, TextChannel as TextChannel
|
|
39
|
+
from .models.role import Role as Role
|
|
40
|
+
from .models.file import File as File
|
|
41
|
+
from .models.interaction import (
|
|
42
|
+
BaseInteraction as BaseInteraction,
|
|
43
|
+
ButtonInteraction as ButtonInteraction,
|
|
44
|
+
CommandInteraction as CommandInteraction,
|
|
45
|
+
ModalSubmitInteraction as ModalSubmitInteraction,
|
|
46
|
+
SelectMenuInteraction as SelectMenuInteraction,
|
|
47
|
+
)
|
|
48
|
+
from .builders.embed import Embed as Embed
|
|
49
|
+
from .builders.components import ActionRow as ActionRow, Button as Button, SelectMenu as SelectMenu
|
|
50
|
+
from .builders.modal import Modal as Modal, TextInput as TextInput
|
|
51
|
+
from .builders.command import SlashCommandBuilder as SlashCommandBuilder, CommandOption as CommandOption
|
|
52
|
+
from .permissions import Permissions as Permissions, PermissionFlagsBits as PermissionFlagsBits
|
|
53
|
+
from .enums import ButtonStyle as ButtonStyle, ChannelType as ChannelType, CommandOptionType as CommandOptionType, GatewayIntent as GatewayIntent
|
|
54
|
+
from .utils.color import Color as Color, Colour as Colour
|
|
55
|
+
|
|
56
|
+
__all__: List[str] = [
|
|
57
|
+
"core",
|
|
58
|
+
"models",
|
|
59
|
+
"builders",
|
|
60
|
+
"ui",
|
|
61
|
+
"enums",
|
|
62
|
+
"permissions",
|
|
63
|
+
"exceptions",
|
|
64
|
+
"utils",
|
|
65
|
+
"rest",
|
|
66
|
+
"gateway",
|
|
67
|
+
"cache",
|
|
68
|
+
"tasks",
|
|
69
|
+
"checks",
|
|
70
|
+
"converters",
|
|
71
|
+
"cooldowns",
|
|
72
|
+
"Bot",
|
|
73
|
+
"Client",
|
|
74
|
+
"Plugin",
|
|
75
|
+
"CacheFlags",
|
|
76
|
+
"BucketType",
|
|
77
|
+
"cooldown",
|
|
78
|
+
"Converter",
|
|
79
|
+
"View",
|
|
80
|
+
"Paginator",
|
|
81
|
+
"JubcordException",
|
|
82
|
+
"JubcordModel",
|
|
83
|
+
"Context",
|
|
84
|
+
"Message",
|
|
85
|
+
"User",
|
|
86
|
+
"GuildMember",
|
|
87
|
+
"Guild",
|
|
88
|
+
"Channel",
|
|
89
|
+
"TextChannel",
|
|
90
|
+
"Role",
|
|
91
|
+
"File",
|
|
92
|
+
"BaseInteraction",
|
|
93
|
+
"ButtonInteraction",
|
|
94
|
+
"CommandInteraction",
|
|
95
|
+
"ModalSubmitInteraction",
|
|
96
|
+
"SelectMenuInteraction",
|
|
97
|
+
"Embed",
|
|
98
|
+
"ActionRow",
|
|
99
|
+
"Button",
|
|
100
|
+
"SelectMenu",
|
|
101
|
+
"Modal",
|
|
102
|
+
"TextInput",
|
|
103
|
+
"SlashCommandBuilder",
|
|
104
|
+
"CommandOption",
|
|
105
|
+
"Permissions",
|
|
106
|
+
"PermissionFlagsBits",
|
|
107
|
+
"ButtonStyle",
|
|
108
|
+
"ChannelType",
|
|
109
|
+
"CommandOptionType",
|
|
110
|
+
"GatewayIntent",
|
|
111
|
+
"Color",
|
|
112
|
+
"Colour",
|
|
113
|
+
]
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from .embed import Embed
|
|
2
|
+
from .components import (
|
|
3
|
+
Button,
|
|
4
|
+
SelectOption,
|
|
5
|
+
SelectMenu,
|
|
6
|
+
ActionRow,
|
|
7
|
+
)
|
|
8
|
+
from .modal import TextInput, Modal
|
|
9
|
+
from .command import SlashCommandBuilder, CommandOption
|
|
10
|
+
|
|
11
|
+
__all__ = [
|
|
12
|
+
"Embed",
|
|
13
|
+
"Button",
|
|
14
|
+
"SelectOption",
|
|
15
|
+
"SelectMenu",
|
|
16
|
+
"ActionRow",
|
|
17
|
+
"TextInput",
|
|
18
|
+
"Modal",
|
|
19
|
+
"SlashCommandBuilder",
|
|
20
|
+
"CommandOption",
|
|
21
|
+
]
|