kickzero 1.3.1__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.
@@ -0,0 +1,36 @@
1
+ # --- ANA DOSYALAR ---
2
+ include LICENSE
3
+ include README.md
4
+ include MANIFEST.in
5
+
6
+ # --- ÖRNEKLER ---
7
+ # Kullanıcıların botu nasıl kuracağını öğrenmesi için şart
8
+ recursive-include examples *.py
9
+
10
+ # --- ANA MOTOR ---
11
+ # Framework'ün kalbi (__init__.py) burada, kesinlikle dahil
12
+ recursive-include kickzero *.py
13
+
14
+ # --- 🚫 DIŞLANANLAR (SAKIN ALMA!) ---
15
+ # 1. Özel Doğrulama Verileri (İsteğin üzerine çıkarıldı ⚓)
16
+ exclude verification.json
17
+ exclude verified.md
18
+
19
+ # 2. Test Sahası
20
+ # Dağınık notlar ve test dosyaları dışarıda
21
+ recursive-exclude test *
22
+ recursive-exclude * test_*.py
23
+
24
+ # 3. Kişisel Notlar ve Anahtarlar
25
+ exclude pip.key
26
+ exclude Zoro.todoo
27
+
28
+ # 4. Sistem Çöpleri
29
+ recursive-exclude * __pycache__
30
+ recursive-exclude * *.py[cod]
31
+ recursive-exclude * *$py.class
32
+
33
+ # --- 🛡️ GİZLİLİK KALKANI ---
34
+ # Tarayıcı oturumları ve gizli ayarlar asla sızmamalı
35
+ recursive-exclude kick_session *
36
+ recursive-exclude .env *
@@ -0,0 +1,53 @@
1
+ Metadata-Version: 2.4
2
+ Name: kickzero
3
+ Version: 1.3.1
4
+ Summary: A modular and asynchronous framework for Kick.com chatbots.
5
+ Home-page: https://github.com/SeymenSozen/KickZero
6
+ Author: Seymen Sözen
7
+ Project-URL: Bug Tracker, https://github.com/SeymenSozen/KickZero/issues
8
+ Project-URL: Documentation, https://github.com/SeymenSozen/KickZero#readme
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: License :: Other/Proprietary License
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Topic :: Communications :: Chat
13
+ Requires-Python: >=3.8
14
+ Description-Content-Type: text/markdown
15
+ Requires-Dist: aiohttp
16
+ Requires-Dist: websockets
17
+ Requires-Dist: colorama
18
+ Dynamic: author
19
+ Dynamic: classifier
20
+ Dynamic: description
21
+ Dynamic: description-content-type
22
+ Dynamic: home-page
23
+ Dynamic: project-url
24
+ Dynamic: requires-dist
25
+ Dynamic: requires-python
26
+ Dynamic: summary
27
+
28
+ # 🏴‍☠️ KickZero Framework (v1.3.1)
29
+
30
+ ![Python Version](https://img.shields.io/badge/python-3.8%2B-blue)
31
+ ![License](https://img.shields.io/badge/license-Proprietary-red)
32
+ ![Maintainer](https://img.shields.io/badge/maintainer-Seymen%20S%C3%B6zen-orange)
33
+
34
+ **KickZero**, Kick.com platformu için geliştirilmiş, modüler ve tamamen asenkron bir chatbot framework'üdür. Geliştiricilere karmaşık WebSocket trafiğiyle uğraşmadan, hızlı ve güçlü botlar üretme imkanı sağlar.
35
+
36
+ ---
37
+
38
+ ## 🚀 Özellikler / Features
39
+
40
+ - **Asynchronous Engine:** `asyncio` ve `aiohttp` tabanlı, donma yapmayan hızlı yapı.
41
+ - **Multi-Channel Support:** Aynı anda birden fazla kanalı tek bir botla yönetme.
42
+ - **Easy Decoration:** `@bot.command`, `@bot.message` ve `@bot.timer_task` dekoratörleri ile kolay geliştirme.
43
+ - **Smart Context:** Mesajın yetki, renk ve içerik bilgilerine tek noktadan (`ctx`) erişim.
44
+ - **Reward Integration:** Kanal puanı (Reward) kullanımlarını anında yakalama.
45
+
46
+ ---
47
+
48
+ ## 📦 Kurulum / Installation
49
+
50
+ Terminalinize şu komutu yazarak okyanusa açılabilirsiniz:
51
+
52
+ ```bash
53
+ pip install kickzero
@@ -0,0 +1,26 @@
1
+ # 🏴‍☠️ KickZero Framework (v1.3.1)
2
+
3
+ ![Python Version](https://img.shields.io/badge/python-3.8%2B-blue)
4
+ ![License](https://img.shields.io/badge/license-Proprietary-red)
5
+ ![Maintainer](https://img.shields.io/badge/maintainer-Seymen%20S%C3%B6zen-orange)
6
+
7
+ **KickZero**, Kick.com platformu için geliştirilmiş, modüler ve tamamen asenkron bir chatbot framework'üdür. Geliştiricilere karmaşık WebSocket trafiğiyle uğraşmadan, hızlı ve güçlü botlar üretme imkanı sağlar.
8
+
9
+ ---
10
+
11
+ ## 🚀 Özellikler / Features
12
+
13
+ - **Asynchronous Engine:** `asyncio` ve `aiohttp` tabanlı, donma yapmayan hızlı yapı.
14
+ - **Multi-Channel Support:** Aynı anda birden fazla kanalı tek bir botla yönetme.
15
+ - **Easy Decoration:** `@bot.command`, `@bot.message` ve `@bot.timer_task` dekoratörleri ile kolay geliştirme.
16
+ - **Smart Context:** Mesajın yetki, renk ve içerik bilgilerine tek noktadan (`ctx`) erişim.
17
+ - **Reward Integration:** Kanal puanı (Reward) kullanımlarını anında yakalama.
18
+
19
+ ---
20
+
21
+ ## 📦 Kurulum / Installation
22
+
23
+ Terminalinize şu komutu yazarak okyanusa açılabilirsiniz:
24
+
25
+ ```bash
26
+ pip install kickzero
@@ -0,0 +1,78 @@
1
+ import asyncio
2
+ import random
3
+ from kickzero import kickbot, message_context, points_context
4
+
5
+ # --- ⚓ AMİRAL GEMİSİ AYARLARI ---
6
+ Zoro = kickbot(
7
+ user_name="BOT_NAME",
8
+ bearer_token="TOKEN_BURAYA",
9
+ app_key='APP_KEY_BURAYA',
10
+ prefix="!",
11
+ framework_lang="tr" # Hata ve loglar Türkçe gelsin
12
+ )
13
+
14
+ # --- 📡 ÇOKLU KANAL DESTEĞİ ---
15
+ # Botu aynı anda birden fazla gemiye (kanala) radar olarak ekleyebilirsin
16
+ Zoro.add_channel(name="ana_kanal", channel_id="111111", chat_id="222222")
17
+ Zoro.add_channel(name="ikinci_kanal", channel_id="333333", chat_id="444444")
18
+
19
+ # --- 🛡️ YETKİ KONTROLÜ ÖRNEĞİ ---
20
+ @Zoro.command(name="ban")
21
+ async def ban_komutu(ctx: message_context, args):
22
+ # Sadece yayıncı ve moderatörler bu komutu kullanabilsin
23
+ if not (ctx.is_broadcaster or ctx.is_mod):
24
+ await ctx.reply("❌ Bu komutu kullanmak için yetkin yok, tayfaya geri dön!")
25
+ return
26
+
27
+ if args:
28
+ target = args[0]
29
+ await ctx.send(f"⚔️ {target} kaptanın emriyle gemiden atıldı (Banlandı)!")
30
+ #V3.2 ile gelicek
31
+ else:
32
+ await ctx.reply("❓ Kimi banlayacağımı söylemedin kaptan!")
33
+
34
+ # --- 💎 KANAL PUANI (REWARD) YAKALAYICI ---
35
+ # Kick panelinde belirlediğin ödül ismiyle birebir aynı olmalı
36
+ @Zoro.on_rewards_redemption(title="Işıkları Kapat")
37
+ async def isik_odulu(rctx: points_context):
38
+ print(f"🔥 Ödül Tetiklendi: {rctx.username} ışıkları kapattı!")
39
+ # r_ctx üzerinden kanala özel mesaj gönderebilirsin
40
+ await rctx.send(f"💡 @{rctx.username} ödülü kullandı, ortalık karardı!")
41
+
42
+ @Zoro.on_rewards_redemption(title="Şarkı İste")
43
+ async def sarki_istegi(rctx: points_context):
44
+ if rctx.input:
45
+ await rctx.reply(f"🎶 İstediğin '{rctx.input}' şarkısı listeye eklendi!")
46
+ else:
47
+ await rctx.reply("⚠️ Şarkı ismi yazmayı unuttun!")
48
+
49
+ # --- 🔄 GENEL MESAJ İZLEYİCİ (LOGLAMA) ---
50
+ @Zoro.on_message()
51
+ async def mesaj_kaydedici(ctx: message_context):
52
+ # Botun kendi mesajlarını kaydetme (sonsuz döngü olmasın)
53
+ if ctx.is_bot:
54
+ return
55
+
56
+ # Tüm chat trafiğini arkada bir dosyaya yazabilirsin
57
+ with open("chat_history.txt", "a", encoding="utf-8") as f:
58
+ f.write(f"[{ctx.channel.name}] {ctx.author}: {ctx.content}\n")
59
+
60
+ # --- ⏱️ GELİŞMİŞ ZAMANLAYICI (DATABASE UPDATE SİMÜLASYONU) ---
61
+ @Zoro.timer_task(hours=1)
62
+ async def veritabani_yedekle():
63
+ # Bu görev parametre (ctx) almaz, sistem görevidir
64
+ print("💾 Veritabanı yedeği alınıyor...")
65
+ await asyncio.sleep(2)
66
+ print("✅ Yedekleme tamamlandı.")
67
+
68
+ # --- ⚓ HAZIR OLDUĞUNDA ÇALIŞACAK GÖREVLER ---
69
+ @Zoro.on_ready()
70
+ async def bot_basladi():
71
+ print("🚢 Zoro okyanusa açıldı, radar aktif!")
72
+ # Belirli bir kanala bot açıldı mesajı atalım
73
+ ana_gemi = Zoro.find_channel("ana_kanal")
74
+ if ana_gemi:
75
+ await ana_gemi.send("⚓ Zoro Bot v1.3.1 artık görevinin başında!")
76
+
77
+ if __name__ == "__main__":
78
+ Zoro.run()
@@ -0,0 +1,77 @@
1
+ import asyncio
2
+ import random
3
+ from kickzero import kickbot, message_context
4
+
5
+ # --- ⚓ KAPTANIN KONTROL PANELİ ---
6
+ # NOT: Kendi bilgilerinizi girmeyi unutmayın!
7
+ Zoro = kickbot(
8
+ user_name="BOT_ADINIZ",
9
+ bearer_token="TOKEN_BURAYA",
10
+ app_key='APP_KEY_BURAYA',
11
+ prefix="!",
12
+ framework_lang="tr"
13
+ )
14
+
15
+ # Sosyal Medya Linkleri
16
+ SOCIAL_LINKS = {
17
+ "twitch": "https://www.twitch.tv/",
18
+ "kick": "https://kick.com/",
19
+ "youtube": "https://www.youtube.com/",
20
+ "donate": "https://donate.bynogame.com/",
21
+ "instagram": "https://www.instagram.com/",
22
+ "tiktok": "https://www.tiktok.com/"
23
+ }
24
+
25
+ # --- 📡 KANAL AYARLARI ---
26
+ # Botun dinleyeceği kanalı ekliyoruz
27
+ Zoro.add_channel(name="", channel_id="", chat_id="")
28
+
29
+ # --- 💬 MESAJ TETİKLEYİCİLERİ ---
30
+
31
+ @Zoro.message(content="sa")
32
+ async def ase(ctx: message_context):
33
+ await ctx.reply("As helelelelele")
34
+
35
+ @Zoro.message(content="helelele", exact=False)
36
+ async def hele(ctx: message_context):
37
+ await ctx.reply("helelelele")
38
+
39
+ # --- ⚔️ KOMUTLAR ---
40
+
41
+ @Zoro.command(name="donate")
42
+ async def donate(ctx: message_context):
43
+ await ctx.reply(f"Bağış Linki ==> {SOCIAL_LINKS['donate']}")
44
+
45
+ @Zoro.command(name="twitch")
46
+ async def twitch(ctx: message_context):
47
+ await ctx.reply(f"Twitch Linki ==> {SOCIAL_LINKS['twitch']}")
48
+
49
+ @Zoro.command(name="kick")
50
+ async def kick(ctx: message_context):
51
+ await ctx.reply(f"Kick Linki ==> {SOCIAL_LINKS['kick']}")
52
+
53
+ @Zoro.command(name="youtube")
54
+ async def youtube(ctx: message_context):
55
+ await ctx.reply(f"YouTube Linki ==> {SOCIAL_LINKS['youtube']}")
56
+
57
+ @Zoro.command(name="instagram")
58
+ async def instagram(ctx: message_context):
59
+ await ctx.reply(f"Instagram Linki ==> {SOCIAL_LINKS['instagram']}")
60
+
61
+ # --- ⏱️ ZAMANLANMIŞ GÖREVLER (TIMERS) ---
62
+
63
+ @Zoro.timer_task(minutes=10)
64
+ async def tanitim(ctx: message_context):
65
+ await ctx.send(f"Şu anda her yerde yayındayız! Takip etmeyi unutma! | !twitch ve !youtube yazarak linklere ulaşabilirsin!")
66
+
67
+ @Zoro.timer_task(minutes=15)
68
+ async def eglenme(ctx: message_context):
69
+ mesajlar = [
70
+ "Beleş izleme, bir donate at helelelele!",
71
+ "Mega kutu açmamız lazım helelelele!"
72
+ ]
73
+ await ctx.send(random.choice(mesajlar))
74
+
75
+ # --- 🚀 GEMİYİ ATEŞLE ---
76
+ if __name__ == "__main__":
77
+ Zoro.run()