IRCd Botlar

SheqiL 

Belalim.Net ❤️
FORUM SAHIBI

SheqiL 

Belalim.Net ❤️
FORUM SAHIBI
Katılım
25 Haz 2023
Mesajlar
1,005
Tepkime puanı
239
Puanları
63
Yaş
37
Konum
Fransa
Cinsiyet
Erkek
Takım
Türkiye
IRC botları, IRC sunucularında belirli görevleri yerine getiren, kullanıcı etkileşimi sağlayan veya kanal yönetimine yardımcı olan programlardır. IRC sunucularında kullanılan botlar, özellikle kanal yönetimi, moderasyon, eğlence, bilgi sağlama ve otomatik yanıtlar gibi işlevler için yaygın olarak kullanılır.

Aşağıda IRCd botlar hakkında daha fazla bilgi, türleri ve IRC botlarının nasıl çalıştığını anlatan örnekler bulunmaktadır.


IRC Botları Nedir?

IRC botları, IRC (Internet Relay Chat) ağında çalışan otomatik programlardır. Kullanıcıların manuel olarak gerçekleştirdiği bazı işlemleri otomatikleştirir. Bu işlemler, kanal yönetimi, moderasyon, bilgi sağlama, eğlence sağlama ve çok daha fazlasını içerebilir.

Bot Türleri:

  1. Moderasyon Botları:Bu botlar, IRC kanalındaki kullanıcıları yönetmek için kullanılır. Spam mesajlarını engellemek, yasaklı kelimeleri kontrol etmek, kanala katılmak ve çıkmak gibi işlemleri otomatikleştirir.
  2. Eğlence Botları:Bu botlar, kullanıcıların eğlenmesi amacıyla geliştirilir. Örneğin, kullanıcı komutlarına yanıt veren rastgele şaka mesajları, eğlenceli oyunlar, trivia soruları gibi işlevler sunar.
  3. Yardımcı Botlar:Bu tür botlar, kanal veya kullanıcılar hakkında bilgi sağlar. Örneğin, kanal üyeleri hakkında istatistikler toplar, kullanıcıların aktiflik durumlarını gösterir veya genel bilgiler sunar.
  4. İstatistik Botları:Kanallardaki kullanıcı etkinliklerini izler, mesaj sayıları, katılım oranları gibi veriler toplar ve raporlar oluşturur.

IRC Botları Nasıl Çalışır?

IRC botları, IRC sunucularına bağlanarak kanallar üzerinde otomatik işlemler gerçekleştirir. Çoğu IRC botu, IRC protokolü üzerinden komutlar gönderir ve sunucudan gelen mesajları dinler. IRC botlarının temel işlevleri şunlar olabilir:

  1. IRC Sunucusuna Bağlanma:Bot, IRC sunucusuna bağlanır ve kanal içinde belirli görevleri yerine getirmek için komutlar gönderir.
  2. Komutları Dinleme ve Yanıt Verme:Botlar, kullanıcılardan gelen komutları dinler. Örneğin, !help komutunu yazan bir kullanıcıya bot, kanal hakkında bilgi verir.
  3. Kanaldaki Etkileşimleri İzleme:Botlar, kanal mesajlarını dinler, kullanıcılar arasındaki etkileşimlere yanıt verir veya moderasyon işlemlerini gerçekleştirir.

IRC Botları İçin Popüler Yazılımlar ve Framework'ler

  1. Eggdrop:Eggdrop, IRC botları için en eski ve popüler yazılımlardan biridir. TCL dilinde özelleştirilebilir ve kanalların moderasyonunu sağlar. Ayrıca, Eggdrop botları, scriptlerle kişiselleştirilebilir ve gelişmiş işlevler eklenebilir.
  2. UnrealIRCd:UnrealIRCd, IRC sunucusu yazılımıdır ancak botlar da dahil olmak üzere birçok özelliği destekler. Kanal moderasyonunu, kullanıcı izinlerini ve bot scriptlerini yönetmek için kullanılabilir.
  3. WeeChat:WeeChat, bir IRC istemcisi olmakla birlikte botları çalıştırmak için de kullanılabilir. Python veya Perl gibi dillerle yazılmış botlar için bir framework sağlar.
  4. BotFather (Telegram Botları için):IRC botlarından farklı olarak Telegram botları için BotFather kullanılabilir. Telegram botlarını oluşturup yönetmek için kullanılan resmi bir Telegram botu aracıdır.
  5. Charybdis:Charybdis, bir IRC sunucusudur. IRC botları için yönetim komutlarını ve scriptlerini destekler. Charybdis, özellikle büyük IRC ağlarında kullanılmak için tasarlanmıştır.

IRC Botları için Kod Örnekleri

1. Python ile Basit IRC Botu (IRC Client)

IRC sunucusuna bağlanarak komutları dinleyen basit bir IRC botu yazılabilir.

python

import socket
import sys

server = 'irc.freenode.net' # IRC sunucusu
port = 6667 # Port numarası
channel = '#example_channel' # Kanal adı
botnick = 'MyBot' # Bot ismi

# Sunucuya bağlan
irc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
irc.connect((server, port))

# Nick ve kullanıcı adı gönder
irc.send(bytes(f'NICK {botnick}\r\n', 'UTF-8'))
irc.send(bytes(f'USER {botnick} 0 * :{botnick}\r\n', 'UTF-8'))

# Kanal katılımı
irc.send(bytes(f'JOIN {channel}\r\n', 'UTF-8'))

while True:
msg = irc.recv(2048).decode('UTF-8')
print(msg)

if msg.startswith('PING'):
irc.send(bytes(f'PONG {msg.split()[1]}\r\n', 'UTF-8'))

if 'Hello' in msg:
irc.send(bytes(f'PRIVMSG {channel} :Merhaba!\r\n', 'UTF-8'))

Bu Python kodu, bir IRC sunucusuna bağlanıp kanalınıza katılır ve kullanıcılar "Hello" mesajı gönderdiğinde bot yanıt verir.

2. Eggdrop Botu İçin Basit TCL Scripti

Eggdrop botu için kullanıcı !ping komutunu yazdığında yanıt veren bir TCL scripti:

tcl

# Kullanıcı "!ping" yazarsa yanıt verir
bind pub - "!ping" ping_pong

proc ping_pong {nick uhost hand chan text} {
putserv "PRIVMSG $chan :pong!"
}

Bu script, kullanıcı !ping komutunu yazarsa kanala "Pong!" mesajı gönderir.

3. Yasaklı Kelimeler İçin Moderasyon Botu

Bir kanal botu, yasaklı kelimeleri kontrol eder ve bu kelimeleri kullanan kullanıcıları uyarır.

tcl

# Yasaklı kelimeler listesi
set banned_words { "spam" "troll" "badword" }

# Mesajları kontrol et
bind pub - * check_banned_words

proc check_banned_words {nick uhost hand chan text} {
global banned_words

foreach word $banned_words {
if {[string match "*$word*" $text]} {
putserv "PRIVMSG $chan :$nick, o kelime yasaklıdır!"
putserv "KICK $chan $nick :Yasaklı kelime kullanmak!"
return
}
}
}

Bu script, bir kullanıcı yasaklı kelimelerden birini kullanırsa, onu kanaldan atar.


IRC Botları İçin İleri Düzey Özellikler:

  1. Kullanıcı Yönetimi: Botlar, kanal kullanıcılarının yetkilerini (mod, op) yönetebilir.
  2. Veri Tabanı Entegrasyonu: Botlar, SQLite veya MySQL gibi veritabanlarıyla entegre çalışabilir.
  3. Zamanlayıcılar: Botlar, belirli zaman dilimlerinde otomatik komutlar çalıştırabilir veya mesaj gönderebilir.
  4. Eğlenceli Oyunlar ve Komutlar: Botlar, trivia, oyunlar, ve rastgele şaka komutları gibi eğlenceli özellikler sağlayabilir.

IRC botları, kanal yönetimini kolaylaştırmak ve kullanıcı deneyimini zenginleştirmek için güçlü araçlardır. IRC ağınızda botları nasıl kullanacağınız, sizin gereksinimlerinize ve botun özelliklerine bağlı olarak değişir.
 

Konuyu görüntüleyenler

Ana Sayfa Register Log In
Üst