Python ile Twitch Chat Botu

Helmsys

Ar-Ge Ekibi Kıdemli
16 Mar 2022
1,492
1,653
Merhaba.
Bu yaptığım projeyi önceden yapmış olduğum moderasyon botundan esinlenip fark olarak bota komut algılamayı eklemememdir. Ve tabi birkaç methodda farklı :)
Eğer isterseniz bota komut vermeyi de gösterebilirim. Tabi bunun için bunu belirtmeniz gerekiyor :)

Nasıl yapıldığını anlatmayacağım scripti ve scriptin kullanımına ait görsel paylaşıcam bilginiz olsun.

Geçmişte açtığım (
Python ile Twitch API (Get Stream) Kullanımı) konudaki bilgiler ile de kullanıldığında gerçekten kullanılabilecek düzeyde olacak bir bot yapılabilir ve bu çok daha güzel olur.

Twitchde bir bot oluşturmak için önce hesap açmanız gerekiyor. Açtığınız hesap ile aşağıda vereceğim linke gidip token almanız gerekli. Bu bizim kim olduğumuzu gösteren bir anahtar.
Burdan aldığınız tokeni saklamanız gerekli çünkü bu konuda bunu kullanacağız.

Kaynak kodu incelediğinizde "Kesin Helmsys yazmıştır" diyeceğinize şüphem yok :)

Arayüze çok fazla önem vermedim, başta acaba GUI ile beraber mi yapayım dedim sonrasında üşengeçliğimden olsa gerek konsolda bıraktım, eğer gui ile yapsaydım muhtemelen orada bir entry ile de mesaj göndermeyi de yapardım :)
Neyse....

Botta kullanılan harici kütüphaneler:
- colorama

Dahili kütüphaneler:
- datetime > zamanı ekrana yazdırmak için
- asyncio > asenkron işlemler için
- socket > server-client işlemleri için
- pickle > dosya işlemleri için
- platform > python sürümü için
- getpass > Kullanıcı adı(pc) için



Bash:
git clone https://github.com/Arif-Helmsys/SampleTwitchChatBot.git
Githubdan indirelim

Bash:
cd .\SampleTwitchChatBot\
İndirilen klasöre gidelim
Bash:
pip install -r .\requirements.txt
Bir adet gerekli kütüphane var onu indiremiz gerekli

Bash:
python .\app.py
Klasördeki app.py'i run edelim

Botun kullanımına ait görseller:
Halihazırda yayında olan bir yayıncının adını yazıyorum ardından aldığım tokeni yazıyorum
Bana tokenimi kaydetmek isteyip istemediğimi soruyor. İstediğim için "y" diyip enter'lıyorum



Herhangi bir yanlış anlaşılma vs olmasın diye isimleri gizledim
Görüldüğü üzere abone olanlar
Abone, abone olmayanlar ise PLEB olarak belirtiliyor
Arada çıktıda istenmeyen textler görülebilir çok göze çarpar nitelikte olmuyor zaten.

En başta belirttiğim gibi eğer isterseniz chate bir kullanıcının komut girerek botunuz ile iletişime geçmesini gösterebilirim
İletişimden örnek vermem gerekirse;

- sadece moderatörlerin veya chate gelen diğer kullanıcıların kullanabileceği komutlar,
- atıyorum, dolar-euro kur fiyatı :)
- yayın başlığını değiştirmek,
- CAPS LOCK açık bir şekilde yazmayı yasaklamak (yazan kişinin mesajlarını silmek)
.
.
.
Uzaaarr da gider :)

Açık kaynaklı olduğundan dilediğinizi yapabilirsiniz Tamamen sizin sorumluluğunuzda :)
Hoşçakalın...
 

lolsec

Katılımcı Üye
21 Kas 2022
496
363
Bu tür yayın platforumlarında takılmadığım için ne diyecem bilmiyorum ama yinede güzel bir çalışma diyebilirim.
:)
 

Helmsys

Ar-Ge Ekibi Kıdemli
16 Mar 2022
1,492
1,653
Bu tür yayın platforumlarında takılmadığım için ne diyecem bilmiyorum ama yinede güzel bir çalışma diyebilirim.
:)
Genelde yayın izlediğimden chatlerde adını duyurmuş botlar görüyordum, nasıl yapılıyor nasıl yapılıyor diye diye bi tık yola baş koymuşum gibi oldu :)
Teşekkür ediyorum.
 

lolsec

Katılımcı Üye
21 Kas 2022
496
363
Genelde yayın izlediğimden chatlerde adını duyurmuş botlar görüyordum, nasıl yapılıyor nasıl yapılıyor diye diye bi tık yola baş koymuşum gibi oldu :)
Teşekkür ediyorum.
Aslında troll amaçlı yapılabilir.
düşünsene 100 tane bot oluşturup adamlara dadanıyoruz.
 

Helmsys

Ar-Ge Ekibi Kıdemli
16 Mar 2022
1,492
1,653
websocket önermiş adamlar, eğer sen kodladıysan tebrik ederim, sıfırdan client inşa etmişsin
Hocam teşekkür ederim. Bunu yapmadan önce birçok örnek inceledim.
python dışında yapılmış dillerle yazılanlara baktım, Twitch Developer Forums burdan çıkmadım zaten.

Bir tane örnek bulmuştum python ile ilgili. yine benzer işler yapıyordu. ırc adında bir kütüphane olması lazım onla yapanı gördüm hatta öğrenmek için aynısını yazıp test etmiştim ama hiçbir şey anlamadım. yine örnekler falan derken bir şekilde yolu çizip ilk run edişte chate bağlanmasını görmek benim için çok tatmin edici olmuştu.

Bu dediklerim önceki zamanlar için tabiiki.


Aslında troll amaçlı yapılabilir.
düşünsene 100 tane bot oluşturup adamlara dadanıyoruz.
Y-Yoksa :d

Gerçi muazzam hatalar çıkabilir ya


Eline, emeğine sağlık. Başarılı bir çalışma olmuş. :)
Çok teşekkürler :)
 

Aspelos

Yeni üye
20 Nis 2020
15
8
Merhaba.
Bu yaptığım projeyi önceden yapmış olduğum moderasyon botundan esinlenip fark olarak bota komut algılamayı eklemememdir. Ve tabi birkaç methodda farklı :)
Eğer isterseniz bota komut vermeyi de gösterebilirim. Tabi bunun için bunu belirtmeniz gerekiyor :)

Nasıl yapıldığını anlatmayacağım scripti ve scriptin kullanımına ait görsel paylaşıcam bilginiz olsun.

Geçmişte açtığım (
Python ile Twitch API (Get Stream) Kullanımı) konudaki bilgiler ile de kullanıldığında gerçekten kullanılabilecek düzeyde olacak bir bot yapılabilir ve bu çok daha güzel olur.

Twitchde bir bot oluşturmak için önce hesap açmanız gerekiyor. Açtığınız hesap ile aşağıda vereceğim linke gidip token almanız gerekli. Bu bizim kim olduğumuzu gösteren bir anahtar.
Burdan aldığınız tokeni saklamanız gerekli çünkü bu konuda bunu kullanacağız.

Kaynak kodu incelediğinizde "Kesin Helmsys yazmıştır" diyeceğinize şüphem yok :)

Arayüze çok fazla önem vermedim, başta acaba GUI ile beraber mi yapayım dedim sonrasında üşengeçliğimden olsa gerek konsolda bıraktım, eğer gui ile yapsaydım muhtemelen orada bir entry ile de mesaj göndermeyi de yapardım :)
Neyse....

Botta kullanılan harici kütüphaneler:
- colorama

Dahili kütüphaneler:
- datetime > zamanı ekrana yazdırmak için
- asyncio > asenkron bir işlem için
- socket > server-client işlemleri için
- pickle > dosya işlemleri için
- platform > python sürümü için
- getpass > Kullanıcı adı(pc) için



Bash:
git clone https://github.com/Arif-Helmsys/SampleTwitchChatBot.git
Githubdan indirelim

Bash:
cd .\SampleTwitchChatBot\
İndirilen klasöre gidelim
Bash:
pip install -r .\requirements.txt
Bir adet gerekli kütüphane var onu indiremiz gerekli

Bash:
python .\app.py
Klasördeki app.py'i run edelim

Botun kullanımına ait görseller:
Halihazırda yayında olan bir yayıncının adını yazıyorum ardından aldığım tokeni yazıyorum
Bana tokenimi kaydetmek isteyip istemediğimi soruyor. İstediğim için "y" diyip enter'lıyorum



Herhangi bir yanlış anlaşılma vs olmasın diye isimleri gizledim
Görüldüğü üzere abone olanlar
Abone, abone olmayanlar ise PLEB olarak belirtiliyor
Arada çıktıda istenmeyen textler görülebilir çok göze çarpar nitelikte olmuyor zaten.

En başta belirttiğim gibi eğer isterseniz chate bir kullanıcının komut girerek botunuz ile iletişime geçmesini gösterebilirim
İletişimden örnek vermem gerekirse;

- sadece moderatörlerin veya chate gelen diğer kullanıcıların kullanabileceği komutlar,
- atıyorum, dolar-euro kur fiyatı :)
- yayın başlığını değiştirmek,
- CAPS LOCK açık bir şekilde yazmayı yasaklamak (yazan kişinin mesajlarını silmek)
.
.
.
Uzaaarr da gider :)

Açık kaynaklı olduğundan dilediğinizi yapabilirsiniz Tamamen sizin sorumluluğunuzda :)
Hoşçakalın...
Github:

Ellerine sağlık
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.