- 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 (Internet Relay Chat) hizmetleri için "Hazır Kodlar" genellikle IRC sunucusu ile bağlantı kurmak, kullanıcılar için kanallar oluşturmak, botlar ve otomasyonlar geliştirmek gibi işlevsellikleri içerir. IRC servisleri oluşturmak veya geliştirmek için kullanılabilecek çeşitli hazır kodlar ve bot framework'leri vardır.
Python ile Basit IRC Botu
python
import socket
# IRC sunucusu bağlantısı
server = "irc.freenode.net"
channel = "#example_channel"
botnick = "MyBot"
port = 6667
# IRC sunucusuna bağlanma
irc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
irc.connect((server, port))
# IRC sunucusuna nick ve kullanıcı adı gönderme
irc.send(bytes(f"NICK {botnick}\r\n", "UTF-8"))
irc.send(bytes(f"USER {botnick} 0 * :{botnick}\r\n", "UTF-8"))
# Kanala katılma
irc.send(bytes(f"JOIN {channel}\r\n", "UTF-8"))
# Mesajları dinleme
while True:
msg = irc.recv(2048).decode("UTF-8")
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! Ben bir botum!\r\n", "UTF-8"))
Bu örnek, IRC sunucusuna bağlanıp bir kanala katılır, "Hello" mesajlarını dinler ve yanıtlar.
UnrealIRCd için Örnek Yapılandırma:UnrealIRCd, bir IRC sunucusu kurmak için yaygın olarak kullanılan yazılımdır. Aşağıda, bir kanal oluşturmak ve kullanıcılara izinler vermek için bir yapılandırma örneği bulunmaktadır.
# unrealircd.conf dosyasına kanal oluşturma
channel #example_channel {
topic "Hoş geldiniz!"
private
moderated
banexception *@*.example.com
}
# IRC sunucusunu başlatmadan önce portu açma
listen 6667
Node.js ile IRC Botu:
javascript
const irc = require('irc');
const client = new irc.Client('irc.freenode.net', 'MyBot', {
channels: ['#example_channel'],
});
client.addListener('message', function (from, to, message) {
console.log(from + ' => ' + to + ': ' + message);
if (message === '!ping') {
client.say(to, 'Pong!');
}
});
Örnek: Kullanıcıya Yetki Verme (IRC Sunucusu Komutları)
/oper botnick botpassword
# Bu komutla bir IRC sunucusunda bot'a yönetici yetkisi verebilirsiniz.
KiwiIRC Kurulum Örneği:
# KiwiIRC yüklemek için:
git clone
cd kiwiirc
npm install
npm start
# Web tarayıcınızda
IRC için Hazır Kodlar
1. IRC Botları İçin Hazır Kod
IRC botları, kanallarda moderasyon, otomatik yanıtlar veya komutları işlemek için kullanılır. Python gibi dillerle bot yazmak oldukça yaygındır. Aşağıda bir Python IRC botu örneği bulabilirsiniz:Python ile Basit IRC Botu
python
import socket
# IRC sunucusu bağlantısı
server = "irc.freenode.net"
channel = "#example_channel"
botnick = "MyBot"
port = 6667
# IRC sunucusuna bağlanma
irc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
irc.connect((server, port))
# IRC sunucusuna nick ve kullanıcı adı gönderme
irc.send(bytes(f"NICK {botnick}\r\n", "UTF-8"))
irc.send(bytes(f"USER {botnick} 0 * :{botnick}\r\n", "UTF-8"))
# Kanala katılma
irc.send(bytes(f"JOIN {channel}\r\n", "UTF-8"))
# Mesajları dinleme
while True:
msg = irc.recv(2048).decode("UTF-8")
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! Ben bir botum!\r\n", "UTF-8"))
Bu örnek, IRC sunucusuna bağlanıp bir kanala katılır, "Hello" mesajlarını dinler ve yanıtlar.
2. IRC Sunucusu İçin Hazır Kod
IRC sunucusu yazmak karmaşık bir işlem olabilir, ancak var olan IRC sunucusu yazılımlarını (örneğin, UnrealIRCd veya inspircd) kullanmak da yaygındır. Eğer kendi IRC sunucunuzu kurmak istiyorsanız, bu sunucuların yapılandırma dosyalarını özelleştirmeniz gerekir.UnrealIRCd için Örnek Yapılandırma:UnrealIRCd, bir IRC sunucusu kurmak için yaygın olarak kullanılan yazılımdır. Aşağıda, bir kanal oluşturmak ve kullanıcılara izinler vermek için bir yapılandırma örneği bulunmaktadır.
# unrealircd.conf dosyasına kanal oluşturma
channel #example_channel {
topic "Hoş geldiniz!"
private
moderated
banexception *@*.example.com
}
# IRC sunucusunu başlatmadan önce portu açma
listen 6667
3. IRC API Kullanarak Bot Yapma (Node.js Örneği)
Node.js kullanarak bir IRC botu yapmak için irc kütüphanesini kullanabilirsiniz. Bu bot, komutları alabilir ve IRC kanalında etkileşime girebilir.Node.js ile IRC Botu:
javascript
const irc = require('irc');
const client = new irc.Client('irc.freenode.net', 'MyBot', {
channels: ['#example_channel'],
});
client.addListener('message', function (from, to, message) {
console.log(from + ' => ' + to + ': ' + message);
if (message === '!ping') {
client.say(to, 'Pong!');
}
});
4. IRC Sunucu Scriptleri İçin Hazır Kodlar
IRC hizmetlerinde yönetim ve moderasyon için kullanabileceğiniz çeşitli scriptler de bulunmaktadır. IRC sunucularında kullanıcılara yetki atamak, kanal modlarını yönetmek gibi işlemleri scriptlerle kolaylaştırabilirsiniz.Örnek: Kullanıcıya Yetki Verme (IRC Sunucusu Komutları)
/oper botnick botpassword
# Bu komutla bir IRC sunucusunda bot'a yönetici yetkisi verebilirsiniz.
5. IRC Web Arayüzü (Web IRC Client)
Bazı IRC web istemcileri, IRC sunucusuna tarayıcı üzerinden bağlanmanıza olanak tanır. Örneğin, TheLounge veya KiwiIRC gibi açık kaynaklı projeler kullanarak bir IRC istemcisi oluşturabilirsiniz.KiwiIRC Kurulum Örneği:
# KiwiIRC yüklemek için:
git clone
Ziyaretçiler için gizlenmiş link,görmek için
Giriş yap veya üye ol.
cd kiwiirc
npm install
npm start
# Web tarayıcınızda
Ziyaretçiler için gizlenmiş link,görmek için
Giriş yap veya üye ol.
adresine giderek IRC'ye bağlanabilirsiniz.