IRC nedir ?
Slave nedir?
IRC serverlar üzerinden, tek bir kişi kontrolünde, bağlanan diğer BOT lara komut verilmesini sağlayan programdır.
Nasıl Kullanacağım?
Git reposundan kaynak kodu indirin.
Dizine gidin
Slave, executable dosya oluşturmak için bir virtual environment'e ihtiyaç duyar. Hem bu ihtiyaçtan hem de bağımlılıkları yüklemek için pipenv kurmanız iyi olur.
Pipenv kurulumu
Slave'in bulunduğu dizine;
ardından
ve gerekli bağımlıkların yüklenmesini bekeyin.
Ardından virtual env'e geçin
Eğer herşey doğrusa komut satırınızın solunda projenin ismi olacak
Konfigürasyon
Slave'in olduğu dizinde bot.py adlı dosyada gerekli işlemler yapılacak.
bot.py
Önce Slave'nin sağladığı BotBasic sınıfını içe aktarıyoruz. Ardından config değişkenini kendizine göre ayarlayın.
Bu noktadan sonra eğer kendiniz özel komut oluşturmayacaksanız botunuzu kullanıma hazır hale getirebilirsiniz.

Slave'in içinde dist/ klasörünün altında bot.exe, sizin botunuzdur.
Şimdi siz kullanıcı olarak daha önceden belirlediğiniz IRC serverina bağlanın. Irssi gibi bir program kullanabileceğiniz gibi web tarayıcınızdan da girebilirsiniz.
Ben kiwiirc.com kullanıyorum.
Add network diyerek daha önce belirlediğiniz server,portu ve nicki gerekli yerlere yazın. (nickname configde belirlediğiniz boss_name dir)

Ardından configde belirlediğiniz kanala girin

Her şey hazır. Şimdi elinizde olan bot.exe yi kullanacağınız makinede çalıştırın (veya çalıştırılmasını sağlayın). Bağlantının gelmesini bekleyin vee...

BotBasic sınıfında bulunan komutlar:
Bilgi alma

Mesaj gösterme

Sondaki bulunan değer(bu örnekte 0) milisaniye cinsinden mesajın ne kadar zaman gösterileceğini belirtir. Eğer 0 sa pencere kapatılana kadar ekranda kalır.
web sayfası açma

yardım alma
Botu kapatma
Nasıl kendi komutlarınızı eklersiniz
Bir bota komut eklemek için register bezeyicisi kullanılır
komutları bot.py içinde .start() komutundan hemen önce yazabilirsiniz.
Örnek olarak aldığı parametreyi büyük harf yapıp servere gönderen bir komut yazalım
bot.py
Görüldüğü gibi BotBasic tarafından yazdığınız fonksyona iki parametre gönderilecek. 1. parametre Botun referansıdır. Bunu kullanarak server'a mesaj gösterebilirsiniz.
2. parametre ise arguman listesidir

şimdi botumuzu çalıştırdığımızda...
Not: Eğer deneme amaçlı botunuzun nasıl çalıştığını merak ediyorsanız direkt olarak bot.py yi çalıştırın

Bingo.
Github: https://github.com/bufgix/slave
Wikipedia' Alıntı:IRC, asıl olarak bir sunucu ve istemciler ağıdır. ÖrnekNET isminde bir IRC sunucusuna bağlanan kişiler, her türlü iletişimi bu ÖrnekNET ağı üzerinden gerçekleştirirler. Kişi1, Kişi2'ye mesaj yolladığında:
Kişi1'in mesajı → ÖrnekNET sunucusu → Kişi2
şeklinde bir yol izler. Günümüzde kullanılan MSN Messenger veya Yahoo Messenger gibi üstün özelliklere sahip programlar gibi görüntülü ve/veya sesli sohbet yerine, yukarıda açıklandığı gibi, düz-metin tabanlı bir iletişim söz konusudur, IRC'de. İletişimi sağlarken arada sunucunun bulunması, eğer Kişi1 Kişi2'yi rahatsız ediyorsa, Kişi2'nin dileğine göre Kişi1'in mesajlarının daha Kişi2'ye ulaşmadan engellenebilmesini sağlar.
Slave nedir?
IRC serverlar üzerinden, tek bir kişi kontrolünde, bağlanan diğer BOT lara komut verilmesini sağlayan programdır.
Nasıl Kullanacağım?
Git reposundan kaynak kodu indirin.
Kod:
[B][FONT="Courier New"]$ git clone https://github.com/bufgix/slave[/FONT][/B]
Dizine gidin
Kod:
[B][FONT="Courier New"]$ cd slave[/FONT][/B]
Slave, executable dosya oluşturmak için bir virtual environment'e ihtiyaç duyar. Hem bu ihtiyaçtan hem de bağımlılıkları yüklemek için pipenv kurmanız iyi olur.
Pipenv kurulumu
Slave'in bulunduğu dizine;
Kod:
$ pip install pipenv
Kod:
$ pipenv install
Ardından virtual env'e geçin
Kod:
$ pipenv shell
Konfigürasyon
Slave'in olduğu dizinde bot.py adlı dosyada gerekli işlemler yapılacak.
bot.py
Kod:
[font=monospace][color=#008000][b]from[/b][/color] [color=#0000FF][b]slave.lib.bots[/b][/color] [color=#008000][b]import[/b][/color] BotBasic
config [color=#666666]=[/color] {
[color=#BA2121]'host'[/color]: [color=#BA2121]'chat.freenode.net'[/color],
[color=#BA2121]'port'[/color]: [color=#666666]6667[/color],
[color=#BA2121]'channel'[/color]: [color=#BA2121]"#slavebotpool666"[/color],
[color=#BA2121]'boss_name'[/color]: [color=#BA2121]'boss666'[/color],
[color=#BA2121]'bot_prefix'[/color]: [color=#BA2121]"SLAVEBOT"[/color]
}
BotBasic[color=#666666].[/color]read_config_from_dict(config)
[color=#408080][i]## Write custom commands here[/i][/color]
BotBasic[color=#666666].[/color]start()
[/font]
Önce Slave'nin sağladığı BotBasic sınıfını içe aktarıyoruz. Ardından config değişkenini kendizine göre ayarlayın.
Kod:
[COLOR="Cyan"]host[/COLOR]: IRC serverin domain ismi. Bütün botlar bu servere bağlanacak
[COLOR="cyan"]port[/COLOR]: Serverin port numrası (eğer bu iki değişkenin ne olduğunu bilmiyorsanız öyle bırakın)
[COLOR="cyan"]channel:[/COLOR] Serverda bağlanılacak kanal ismi. Bunu botlarınızın bağlanacağı havuz gibi düşünebilirsiniz
[COLOR="cyan"]boss_name[/COLOR]: Botların emir alması gereken kullanıcının(ki bu siz oluyorsunuz) kullanıcı adı
[COLOR="cyan"]bot_prefix[/COLOR]: Bot ön eki
Bu noktadan sonra eğer kendiniz özel komut oluşturmayacaksanız botunuzu kullanıma hazır hale getirebilirsiniz.
Kod:
[FONT="Courier New"](slave-fmu8yPAz) $ python -m slave bot.py[/FONT]

Slave'in içinde dist/ klasörünün altında bot.exe, sizin botunuzdur.
Şimdi siz kullanıcı olarak daha önceden belirlediğiniz IRC serverina bağlanın. Irssi gibi bir program kullanabileceğiniz gibi web tarayıcınızdan da girebilirsiniz.
Ben kiwiirc.com kullanıyorum.
Add network diyerek daha önce belirlediğiniz server,portu ve nicki gerekli yerlere yazın. (nickname configde belirlediğiniz boss_name dir)

Ardından configde belirlediğiniz kanala girin

Her şey hazır. Şimdi elinizde olan bot.exe yi kullanacağınız makinede çalıştırın (veya çalıştırılmasını sağlayın). Bağlantının gelmesini bekleyin vee...

BotBasic sınıfında bulunan komutlar:
Bilgi alma

Mesaj gösterme

Sondaki bulunan değer(bu örnekte 0) milisaniye cinsinden mesajın ne kadar zaman gösterileceğini belirtir. Eğer 0 sa pencere kapatılana kadar ekranda kalır.
web sayfası açma

yardım alma
Kod:
$help <komut>
Kod:
$quit <bot_id>
Nasıl kendi komutlarınızı eklersiniz
Bir bota komut eklemek için register bezeyicisi kullanılır
komutları bot.py içinde .start() komutundan hemen önce yazabilirsiniz.
Örnek olarak aldığı parametreyi büyük harf yapıp servere gönderen bir komut yazalım
bot.py
Kod:
[font=monospace][color=#008000][b]from[/b][/color] [color=#0000FF][b]slave.lib.bots[/b][/color] [color=#008000][b]import[/b][/color] BotBasic
config [color=#666666]=[/color] {
[color=#BA2121]'host'[/color]: [color=#BA2121]'chat.freenode.net'[/color],
[color=#BA2121]'port'[/color]: [color=#666666]6667[/color],
[color=#BA2121]'channel'[/color]: [color=#BA2121]"#slavebotpool666"[/color],
[color=#BA2121]'boss_name'[/color]: [color=#BA2121]'boss666'[/color],
[color=#BA2121]'bot_prefix'[/color]: [color=#BA2121]"SLAVEBOT"[/color]
}
BotBasic[color=#666666].[/color]read_config_from_dict(config)
[color=#408080][i]## Write custom commands here[/i][/color]
[color=#AA22FF]@BotBasic.register[/color]([color=#BA2121]'upper'[/color])
[color=#008000][b]def[/b][/color] [color=#0000FF]upper_command[/color](bot, args):
[color=#008000][b]pass[/b][/color]
BotBasic[color=#666666].[/color]start()
[/font]
Görüldüğü gibi BotBasic tarafından yazdığınız fonksyona iki parametre gönderilecek. 1. parametre Botun referansıdır. Bunu kullanarak server'a mesaj gösterebilirsiniz.
Kod:
[font=monospace][color=#AA22FF]@BotBasic.register[/color]([color=#BA2121]'upper'[/color])
[color=#008000][b]def[/b][/color] [color=#0000FF]upper_command[/color](bot, args):
bot[color=#666666].[/color]send_text([color=#BA2121]"upper komutu çalıştı"[/color])
[/font]
2. parametre ise arguman listesidir

Kod:
[font=monospace][color=#AA22FF]@BotBasic.register[/color]([color=#BA2121]'upper'[/color])
[color=#008000][b]def[/b][/color] [color=#0000FF]upper_command[/color](bot, args):
bot[color=#666666].[/color]send_text([color=#BA2121]"upper komutu çalıştı"[/color])
bot[color=#666666].[/color]send_text(f[color=#BA2121]"{args[1].upper()}"[/color])
[/font]
şimdi botumuzu çalıştırdığımızda...
Not: Eğer deneme amaçlı botunuzun nasıl çalıştığını merak ediyorsanız direkt olarak bot.py yi çalıştırın
Kod:
$ python bot.py

Bingo.
Github: https://github.com/bufgix/slave
Moderatör tarafında düzenlendi:

