05 - 10 - 2025, 16:25
|
#1 |
| | 🧩 UnrealIRCd Modülü — m_karsilama.c PHP- Kodu: /*
* m_karsilama.c
* UnrealIRCd 3.2.x Modülü
*
* Yeni bağlanan kullanıcılara özelden veya kanalda "hoş geldiniz" mesajı gönderir.
*
* Yazar: kaanyavuz
* Sürüm: 1.0
* Derleme:
* 1. Bu dosyayı UnrealIRCd kaynak dizininde src/modules/ içine kaydet.
* 2. make custommodule
* 3. unrealircd.conf dosyana ekle:
* loadmodule "modules/m_karsilama.so";
*
* Modül, kullanıcı giriş yaptığında otomatik olarak devreye girer.
*/
#include "unrealircd.h"
/*** Modül Bilgisi ***/
ModuleHeader MOD_HEADER(m_karsilama) = {
"m_karsilama", /* Modül adı */
"1.0", /* Sürüm */
"Yeni kullanıcıları karşılayan basit bot", /* Açıklama */
"kaanyavuz", /* Yazar */
"unrealircd-3.2" /* Uyumlu sürüm */
};
/*** Ayarlar ***/
#define WELCOME_PRIVATE 1 /* 1 = özelden mesaj at, 0 = kanalda */
#define WELCOME_CHANNEL "#genel" /* Kanal mesajı seçeneği için */
#define WELCOME_MSG "Sunucumuza hoş geldin! Yardım için /help yazabilirsin." /* Mesaj içeriği */
/* Fonksiyon prototipi */
static int on_user_connect(void *v);
/*** Modül yüklenince ***/
MOD_INIT(m_karsilama)
{
/* Kullanıcı giriş hook’una bağlan */
/* HOOKTYPE_LOCAL_CONNECT: kullanıcı bağlanıp kaydolduğunda çalışır */
HookAddEx(modinfo->handle, HOOKTYPE_LOCAL_CONNECT, 0, on_user_connect);
return MOD_SUCCESS;
}
/*** Modül kaldırılınca ***/
MOD_UNLOAD(m_karsilama)
{
return MOD_SUCCESS;
}
/*** Kullanıcı bağlanınca çağrılır ***/
static int on_user_connect(void *v)
{
aClient *ac = (aClient *)v;
if (!ac || IsULine(ac) || IsServer(ac))
return 0;
if (WELCOME_PRIVATE)
{
/* Özelden mesaj gönder */
sendto_one(ac, ":%s PRIVMSG %s :%s", me.name, ac->name, WELCOME_MSG);
}
else
{
/* Kanala mesaj gönder */
aChannel *ch = find_channel(WELCOME_CHANNEL, NULL);
if (ch)
sendto_channel_butserv(ch, &me, ":%s PRIVMSG %s :%s", me.name, WELCOME_CHANNEL, WELCOME_MSG);
}
return 0;
}
⚙️ Kurulum Adımları
UnrealIRCd kaynak dizinine git:
bash
Kodu kopyala
cd /path/to/unrealircd/src/modules/
Dosyayı oluştur:
bash
Kodu kopyala
nano m_karsilama.c
ve yukarıdaki kodu yapıştır.
Derle:
bash
Kodu kopyala
cd /path/to/unrealircd
make custommodule
modules/m_karsilama.so oluşacaktır.
unrealircd.conf dosyana şu satırı ekle:
conf
Kodu kopyala
loadmodule "modules/m_karsilama.so";
IRC sunucunu yeniden başlat veya modülü yükle:
bash
Kodu kopyala
/rehash
veya
bash
Kodu kopyala
/modload m_karsilama
🧠 Özellikler
Yeni kullanıcı bağlandığında otomatik hoş geldin mesajı gönderir.
WELCOME_PRIVATE değişkeni ile:
1 → kullanıcıya özelden mesaj gönderir.
0 → belirli bir kanalda toplu mesaj atar.
WELCOME_CHANNEL → kanal adını değiştirebilirsin.
WELCOME_MSG → istediğin metni düzenleyebilirsin (renk kodları da eklenebilir).
|
|
| |