IRC ve mIRC Kullanıcılarının Buluşma Noktası
  Sevgi Sohbet

  IRC ve mIRC Kullanıcılarının Buluşma Noktası Genel IRCD (Sunucu, Servis, Botlar, Korumalar) Unreal IRCd Parca Kodlar

Forum tutkunlarının tek adresi  Türkiye Sohbet Odaları

sohbetbal  elit sohbet

muhabbet  sohbet

Şeker Shell  Sohbet



Like Tree5Beğeni(ler)
  • 2 Post By Emrehan
  • 1 Post By fLayer
  • 1 Post By DarkLove
  • 1 Post By bilo0202

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 11 Nisan 2017, 14:22   #1

Emrehan - ait Kullanıcı Resmi (Avatar)
adwords.c Modülüne Küçük Bir Eklenti


-- Sponsor Baglantı --


Merhabalar.

Adwords modülünü hepiniz bilmektesiniz. Conf dosyasından yasaklanan kelimelerin sunucuda kullanımını engeller ve kullanılanları da belirtilen kanala yansıtır. Yapacağımız editle o an sunucuda olmasanız dahi siz yokken olan spamları görebileceksiniz.

Sadece adwords.c modülümüzde işlem yapıyoruz.

Kod: 
#define MSG_ADWORDS "ADWORDS" #define TOK_ADWORDS "WO"

altına,
Kod: 
#define MSG_SPAMLOKU "SPAMLOGOKU" #define TOK_SPAMLOKU "SLOKU" #define MSG_SPAMLSIL "SPAMLOGSIL" #define TOK_SPAMLSIL "SLSIL"

ekleyin.

-

Kod: 
CmdAdwords = AddCommand(modinfo->handle, MSG_ADWORDS, TOK_ADWORDS, m_adwords);

altına,
Kod: 
CmdAdwords = AddCommand(modinfo->handle, MSG_SPAMLOKU, TOK_SPAMLOKU, spamlogoku); CmdAdwords = AddCommand(modinfo->handle, MSG_SPAMLSIL, TOK_SPAMLSIL, spamlogsil);

ekleyin.

-

Kod: 
/* * adword_checkmsg * =============== * * The badword checking stuff was copied from src/badwords.c, * I modified it a lot. */

altına,
Kod: 
static char *FullDate(TS time_in) { struct tm *tp = localtime(&time_in); if (!tp) return NULL; memset(&mybuf, 0, sizeof mybuf); strftime(mybuf, sizeof mybuf, "%d-%m-%Y - %H:%M:%S", tp); return mybuf; }

ekleyin.

-

Kod: 
for (name = strtoken(&p, tmp, ","); name; name = strtoken(&p, NULL, ",")) if ((chptr = find_channel(name, NullChn)) != NullChn) SendNotice_channel;

altına,
Kod: 
FILE *spamlog; spamlog = fopen("spamlog.db","a+"); if (spamlog != NULL) { fprintf(spamlog, "[%s] [ SPAM ] Yapan: %s - Yapilan: %s - Mesaj: %s\n", FullDate(from->lasttime), from->name, to ? to : "", str); fclose(spamlog); }

ekleyin.

-

Kod: 
static void adwords_event_kill(char *name) { aClient *cptr; if ((cptr = find_person(name, NULL))) exit_client(cptr, cptr, &me, myconf.kill_reason ? myconf.kill_reason : DEF_KILL_REASON); }

altına,
Kod: 
int spamlogoku(aClient *sptr){ if (!IsNetAdmin(sptr)) { sendnotice(sptr,"*** \2%s\2, bu komutu kullanmaya yetkiniz yoktur.", sptr->name); return 0; } #define spmoku "spamlog.db" FILE *p; char buf[BUFSIZE]; p = fopen(spmoku, "r"); sendnotice(sptr,"*** --- Loglanan Spam Listesi ---"); if (p) { while (fgets(buf, sizeof(buf), p)) { buf[strlen(buf)-1] = 0; sendnotice(sptr,"*** %s", buf); } fclose(p); sendnotice(sptr,"*** --- Loglanan Spam Listesi Sonu ---"); } else { sendnotice(sptr,"*** Henuz bir spam kaydi yok."); } } int spamlogsil(aClient *sptr){ if (!IsNetAdmin(sptr)) { sendnotice(sptr,"*** \2%s\2, bu komutu kullanmaya yetkiniz yoktur.", sptr->name); return 0; } system("rm -rf spamlog.db"); sendnotice(sptr,"*** --- Spam Log dosyasi silindi."); return 0; }

ekleyin.

Son olarak da make custommodule MODULEFILE=modulismi şeklinde modülü derleyip rehash çekiyoruz.

Kısaca mantığı anlatayım. Komut erişimlerini NetworkAdmin'e verdim.
Belirtilen kanala yansıyan spamlar, spamlog.db adında bir dosyaya kaydedilir.
/spamlogoku komutuyla da listeye kaydedilen spamları, gün-ay-yıl + saat-dakika-saniye : yapan-yapılan-yaptığımesaj şeklinde size gösterir.

Liste bir zaman sonra bayağı şişeceği için /spamlogsil komutunu yaptım. Bu komutla da listeyi, yani spamlog.db dosyasını sıfırlayabilirsiniz.

İyi forumlar.
__________________
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]


Kullanıcı imzalarındaki bağlantı ve resimleri görebilmek için en az 20 mesaja sahip olmanız gerekir ya da üye girişi yapmanız gerekir.
Emrehan isimli Üye şuanda  online konumundadır   Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
Alt 11 Nisan 2017, 14:37   #2

fLayer - ait Kullanıcı Resmi (Avatar)
Cevap: adwords.c Modülüne Küçük Bir Eklenti




Emrehan Nickli Üyeden Alıntı
Bu forumdaki linkleri ve resimleri görebilmek için en az 20 mesajınız olması gerekir.
Merhabalar.

Adwords modülünü hepiniz bilmektesiniz. Conf dosyasından yasaklanan kelimelerin sunucuda kullanımını engeller ve kullanılanları da belirtilen kanala yansıtır. Yapacağımız editle o an sunucuda olmasanız dahi siz yokken olan spamları görebileceksiniz.

Sadece adwords.c modülümüzde işlem yapıyoruz.

Kod: 
#define MSG_ADWORDS "ADWORDS" #define TOK_ADWORDS "WO"

altına,
Kod: 
#define MSG_SPAMLOKU "SPAMLOGOKU" #define TOK_SPAMLOKU "SLOKU" #define MSG_SPAMLSIL "SPAMLOGSIL" #define TOK_SPAMLSIL "SLSIL"

ekleyin.

-

Kod: 
CmdAdwords = AddCommand(modinfo->handle, MSG_ADWORDS, TOK_ADWORDS, m_adwords);

altına,
Kod: 
CmdAdwords = AddCommand(modinfo->handle, MSG_SPAMLOKU, TOK_SPAMLOKU, spamlogoku); CmdAdwords = AddCommand(modinfo->handle, MSG_SPAMLSIL, TOK_SPAMLSIL, spamlogsil);

ekleyin.

-

Kod: 
/* * adword_checkmsg * =============== * * The badword checking stuff was copied from src/badwords.c, * I modified it a lot. */

altına,
Kod: 
static char *FullDate(TS time_in) { struct tm *tp = localtime(&time_in); if (!tp) return NULL; memset(&mybuf, 0, sizeof mybuf); strftime(mybuf, sizeof mybuf, "%d-%m-%Y - %H:%M:%S", tp); return mybuf; }

ekleyin.

-

Kod: 
for (name = strtoken(&p, tmp, ","); name; name = strtoken(&p, NULL, ",")) if ((chptr = find_channel(name, NullChn)) != NullChn) SendNotice_channel;

altına,
Kod: 
FILE *spamlog; spamlog = fopen("spamlog.db","a+"); if (spamlog != NULL) { fprintf(spamlog, "[%s] [ SPAM ] Yapan: %s - Yapilan: %s - Mesaj: %s\n", FullDate(from->lasttime), from->name, to ? to : "", str); fclose(spamlog); }

ekleyin.

-

Kod: 
static void adwords_event_kill(char *name) { aClient *cptr; if ((cptr = find_person(name, NULL))) exit_client(cptr, cptr, &me, myconf.kill_reason ? myconf.kill_reason : DEF_KILL_REASON); }

altına,
Kod: 
int spamlogoku(aClient *sptr){ if (!IsNetAdmin(sptr)) { sendnotice(sptr,"*** \2%s\2, bu komutu kullanmaya yetkiniz yoktur.", sptr->name); return 0; } #define spmoku "spamlog.db" FILE *p; char buf[BUFSIZE]; p = fopen(spmoku, "r"); sendnotice(sptr,"*** --- Loglanan Spam Listesi ---"); if (p) { while (fgets(buf, sizeof(buf), p)) { buf[strlen(buf)-1] = 0; sendnotice(sptr,"*** %s", buf); } fclose(p); sendnotice(sptr,"*** --- Loglanan Spam Listesi Sonu ---"); } else { sendnotice(sptr,"*** Henuz bir spam kaydi yok."); } } int spamlogsil(aClient *sptr){ if (!IsNetAdmin(sptr)) { sendnotice(sptr,"*** \2%s\2, bu komutu kullanmaya yetkiniz yoktur.", sptr->name); return 0; } system("rm -rf spamlog.db"); sendnotice(sptr,"*** --- Spam Log dosyasi silindi."); return 0; }

ekleyin.

Son olarak da make custommodule MODULEFILE=modulismi şeklinde modülü derleyip rehash çekiyoruz.

Kısaca mantığı anlatayım. Komut erişimlerini NetworkAdmin'e verdim.
Belirtilen kanala yansıyan spamlar, spamlog.db adında bir dosyaya kaydedilir.
/spamlogoku komutuyla da listeye kaydedilen spamları, gün-ay-yıl + saat-dakika-saniye : yapan-yapılan-yaptığımesaj şeklinde size gösterir.

Liste bir zaman sonra bayağı şişeceği için /spamlogsil komutunu yaptım. Bu komutla da listeyi, yani spamlog.db dosyasını sıfırlayabilirsiniz.

İyi forumlar.

eline saglık
__________________
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
fLayer isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla

Alt 11 Nisan 2017, 23:30   #3

DarkLove - ait Kullanıcı Resmi (Avatar)
Cevap: adwords.c Modülüne Küçük Bir Eklenti




Tebrik ederim Kardesim Eline Emegine Saglık
__________________
Dön Bir Bak Arkana Gitmez Dedigin Kaç Kişi Var Yanında
DarkLove isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla

Alt 13 Kasım 2017, 00:12   #4

bilo0202 - ait Kullanıcı Resmi (Avatar)
Cevap: adwords.c Modülüne Küçük Bir Eklenti




eline saglik
bilo0202 isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla

Cevapla

Etiketler
adwords, irc, spam

Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık