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.
Files changed (59) hide show
  1. jubcord-0.1.4/LICENSE +21 -0
  2. jubcord-0.1.4/PKG-INFO +140 -0
  3. jubcord-0.1.4/README.md +124 -0
  4. jubcord-0.1.4/jubcord/__init__.py +138 -0
  5. jubcord-0.1.4/jubcord/__init__.pyi +113 -0
  6. jubcord-0.1.4/jubcord/builders/__init__.py +21 -0
  7. jubcord-0.1.4/jubcord/builders/command.py +175 -0
  8. jubcord-0.1.4/jubcord/builders/components.py +279 -0
  9. jubcord-0.1.4/jubcord/builders/embed.py +282 -0
  10. jubcord-0.1.4/jubcord/builders/modal.py +116 -0
  11. jubcord-0.1.4/jubcord/core/__init__.py +77 -0
  12. jubcord-0.1.4/jubcord/core/bot.py +623 -0
  13. jubcord-0.1.4/jubcord/core/cache.py +353 -0
  14. jubcord-0.1.4/jubcord/core/checks.py +306 -0
  15. jubcord-0.1.4/jubcord/core/client.py +471 -0
  16. jubcord-0.1.4/jubcord/core/commands.py +632 -0
  17. jubcord-0.1.4/jubcord/core/converters.py +251 -0
  18. jubcord-0.1.4/jubcord/core/cooldowns.py +185 -0
  19. jubcord-0.1.4/jubcord/core/plugin.py +290 -0
  20. jubcord-0.1.4/jubcord/enums.py +209 -0
  21. jubcord-0.1.4/jubcord/exceptions.py +238 -0
  22. jubcord-0.1.4/jubcord/gateway/__init__.py +10 -0
  23. jubcord-0.1.4/jubcord/gateway/dispatcher.py +75 -0
  24. jubcord-0.1.4/jubcord/gateway/shard.py +248 -0
  25. jubcord-0.1.4/jubcord/models/__init__.py +48 -0
  26. jubcord-0.1.4/jubcord/models/base.py +37 -0
  27. jubcord-0.1.4/jubcord/models/channel.py +233 -0
  28. jubcord-0.1.4/jubcord/models/context.py +239 -0
  29. jubcord-0.1.4/jubcord/models/file.py +118 -0
  30. jubcord-0.1.4/jubcord/models/guild.py +275 -0
  31. jubcord-0.1.4/jubcord/models/interaction.py +691 -0
  32. jubcord-0.1.4/jubcord/models/invite.py +47 -0
  33. jubcord-0.1.4/jubcord/models/member.py +199 -0
  34. jubcord-0.1.4/jubcord/models/message.py +273 -0
  35. jubcord-0.1.4/jubcord/models/role.py +70 -0
  36. jubcord-0.1.4/jubcord/models/user.py +121 -0
  37. jubcord-0.1.4/jubcord/models/webhook.py +48 -0
  38. jubcord-0.1.4/jubcord/permissions.py +172 -0
  39. jubcord-0.1.4/jubcord/py.typed +1 -0
  40. jubcord-0.1.4/jubcord/rest/__init__.py +8 -0
  41. jubcord-0.1.4/jubcord/rest/endpoints.py +314 -0
  42. jubcord-0.1.4/jubcord/rest/http.py +926 -0
  43. jubcord-0.1.4/jubcord/tasks/__init__.py +12 -0
  44. jubcord-0.1.4/jubcord/tasks/loop.py +372 -0
  45. jubcord-0.1.4/jubcord/ui/__init__.py +25 -0
  46. jubcord-0.1.4/jubcord/ui/paginator.py +183 -0
  47. jubcord-0.1.4/jubcord/ui/view.py +362 -0
  48. jubcord-0.1.4/jubcord/utils/__init__.py +15 -0
  49. jubcord-0.1.4/jubcord/utils/color.py +139 -0
  50. jubcord-0.1.4/jubcord/utils/loop.py +20 -0
  51. jubcord-0.1.4/jubcord/utils/mentions.py +54 -0
  52. jubcord-0.1.4/jubcord/utils/snowflake.py +18 -0
  53. jubcord-0.1.4/jubcord.egg-info/PKG-INFO +140 -0
  54. jubcord-0.1.4/jubcord.egg-info/SOURCES.txt +57 -0
  55. jubcord-0.1.4/jubcord.egg-info/dependency_links.txt +1 -0
  56. jubcord-0.1.4/jubcord.egg-info/requires.txt +4 -0
  57. jubcord-0.1.4/jubcord.egg-info/top_level.txt +1 -0
  58. jubcord-0.1.4/pyproject.toml +27 -0
  59. 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
+ [![PyPI Version](https://img.shields.io/pypi/v/jubcord.svg)](https://pypi.org/project/jubcord/)
20
+ [![Python Version](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
21
+ [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](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.
@@ -0,0 +1,124 @@
1
+ # Jubcord (Jubbio Python SDK) 🚀
2
+
3
+ [![PyPI Version](https://img.shields.io/pypi/v/jubcord.svg)](https://pypi.org/project/jubcord/)
4
+ [![Python Version](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](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
+ ]