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.
- kickzero-1.3.1/MANIFEST.in +36 -0
- kickzero-1.3.1/PKG-INFO +53 -0
- kickzero-1.3.1/README.md +26 -0
- kickzero-1.3.1/examples/advenced_bot.py +78 -0
- kickzero-1.3.1/examples/basic_bot.py +77 -0
- kickzero-1.3.1/kickzero/__init__.py +1038 -0
- kickzero-1.3.1/kickzero.egg-info/PKG-INFO +53 -0
- kickzero-1.3.1/kickzero.egg-info/SOURCES.txt +11 -0
- kickzero-1.3.1/kickzero.egg-info/dependency_links.txt +1 -0
- kickzero-1.3.1/kickzero.egg-info/requires.txt +3 -0
- kickzero-1.3.1/kickzero.egg-info/top_level.txt +1 -0
- kickzero-1.3.1/setup.cfg +4 -0
- kickzero-1.3.1/setup.py +33 -0
|
@@ -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 *
|
kickzero-1.3.1/PKG-INFO
ADDED
|
@@ -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
|
+

|
|
31
|
+

|
|
32
|
+

|
|
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
|
kickzero-1.3.1/README.md
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# 🏴☠️ KickZero Framework (v1.3.1)
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+

|
|
5
|
+

|
|
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()
|