IRCALEM.Com Genel Forum, IRC Forumu IF - Genel IRCd (Sunucu, Servis, Botlar, Korumalar) UnrealIRCd Unreal3.2.x - Modülleri Unreal Belirtilen Identde göre kanala alma
irc

Unreal Belirtilen Identde göre kanala alma
Aytac
Unreal Belirtilen Identde göre kanala alma
0
472
  • 0 Oy - 0 Ortalama
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Etiketler
identde belirtilen kanala unreal göre alma

Bu konuyu görüntüleyen kullanıcı(lar):1 Ziyaretçi
Şuan Offine!
Şuan Offine!
Aytac Administrator
********
Proje Sorumlusu

  • Üyelik tarihi    04.02.2020
  • Konum  78 Karabük
  • Konular351
  • Mesajlar364
  • Verilen beğeni8 in 5 posts
  • Alınan beğeni6
  • Rep puanı 6

Merhabalar,
* Açıklama

• Modülün amacı/yazılma sebebi cinsel ağırlıklı Identd kullanıcılarını belirtilen kanala almak, ve o kanal haricinde herhangi bir odaya giriş yapmalarını önlemek.

NOT: Bu modülü kullanacak olan kişi veya kişilerin UnrealIRCd versiyonu 3.2.3'ten yüksek olması gerekmektedir.

m_ikanal.c modülü;

Kod :
#include "config.h"
#include "struct.h"
#include "common.h"
#include "sys.h"
#include "numeric.h"
#include "msg.h"
#include "channel.h"
#include <time.h>
#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifdef _WIN32
#include <io.h>
#endif
#include <fcntl.h>
#include "h.h"
#ifdef _WIN32
#include "version.h"
#endif

char *kanal = "#+18";
char *E[3], channels[512];

static int m_Kanal(aClient *, aChannel *);
static int m_Kanalx(aClient *, aChannel *);

ModuleHeader MOD_HEADER(m_kanal)
= {
"m_identdkanal",
"Identde göre belirtilen kanala alma by Entrance",
"Identde göre belirtilen kanala alma by Entrance",
"3.2-b8-1",
NULL
};


DLLFUNC int MOD_INIT(m_identdkanal)(ModuleInfo *modinfo)
{
HookAddEx(modinfo->handle, HOOKTYPE_LOCAL_CONNECT, m_Kanal);
HookAddEx(modinfo->handle, HOOKTYPE_PRE_LOCAL_JOIN, m_Kanalx);

return MOD_SUCCESS;
}


DLLFUNC int MOD_LOAD(m_identdkanal)(int module_load)
{
return MOD_SUCCESS;
}


DLLFUNC int MOD_UNLOAD(m_identdkanal)(int module_unload)
{
return MOD_SUCCESS;
}

static char *IdentdListesi[] = {
"-",
"Identd2",
"Identd3",
"Identd4",
"Identd5",
NULL
};
static int Identd_Listesi(char *identd)
{
char **ilist;
for (ilist=IdentdListesi; *ilist; *ilist++)
{
if (strstr(identd, *ilist))
return 1;
}
return 0;
}
static int m_Kanal(aClient *sptr, aChannel *chptr) {

if (Identd_Listesi(sptr->user->username)) {
strlcpy(channels, kanal, sizeof(channels));
E[0] = sptr->name;
E[1]  = channels;
E[2] = NULL;
do_cmd(sptr, sptr, "JOIN", 2, E);
return 0;
}
}

static int m_Kanalx(aClient *sptr, aChannel *chptr) {
if (Identd_Listesi(sptr->user->username)) {
if (!is_autojoin_chan(chptr->chname))
          return HOOK_CONTINUE;
}
}
“İnsanların en hayırlısı, insanlara faydalı olandır”. H.Ş.



Foruma Git: