Services botları takip modülü

Aytac

Developer
Yönetici
Developer
Katılım
4 Şub 2020
Mesajlar
372
Tepkime puanı
17
Puanları
18
Konum
ircland
Web sitesi
www.ircalem.net
Merhabalar,

Bu modül EceLMeriC, tarafından bir kullanıcının isteği üzerine yazılmıştır.

Modülün amacı sunucunuz üzerinde, bulunan Services botların özeline mesaj gönderen kişileri takip etmek içindir. İsterseniz belirli kulanıcıları takip etmek içinde, kullanabilirsiniz.

Tamamen sizlere bağlı olan bir şey, modül içerisinde aşağıdaki gibi bir bölüm var,

Kod:
static char *servnicklistesi[] = {
  "Botserv1",
  "Botserv2",
  "Botserv3",
  "Botserv4",
  "Botserv5",
  "Botserv6",
  "Botserv7",
  "Botserv8",
  "Botserv9",
  "Botserv10",
   NULL
};

Buraya takip etmek istediğiniz BOT nick, veyahuta belirli kişilerin nicklerini eklemeniz hâlinde,

Kod:
#define Monitor "#Kanal"

Buraya belirtmiş olduğunuz kanala, modül içerisinde belirtilen uyarı iletileri yansıyacaktır. Modülü ekten temin edebilirsiniz..

m_services.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 STRIPBADWORDS
#include "badwords.h"
#endif
#ifdef _WIN32
#include "version.h"
#endif

#define Monitor "#Kanal"
#define DelHook(x) if (x) HookDel(x); x = NULL

DLLFUNC char *m_services(aChannel *, aClient *, aClient *, char *, int);

ModuleHeader MOD_HEADER(m_services)
 = {
 "m_services",
 "Services bot takip by EceLMeriC",
 "Services bot takip by EceLMeriC",
 "3.2-b8-1",
 NULL
};

static Hook *HServmsg;

static char *servnicklistesi[] = {
  "Botserv1",
  "Botserv2",
  "Botserv3",
  "Botserv4",
  "Botserv5",
  "Botserv6",
  "Botserv7",
  "Botserv8",
  "Botserv9",
  "Botserv10",
   NULL
};

static int servnick_list(char *nick) {

 char **nlist;

 for (nlist=servnicklistesi; *nlist; *nlist++)
 {
 if (!strcmp(nick, *nlist))
   return 1;
 }
   return 0;
}

DLLFUNC int MOD_INIT(m_services)(ModuleInfo *modinfo)
{

 HServmsg  = HookAddPCharEx(modinfo->handle, HOOKTYPE_USERMSG, m_services);
 return MOD_SUCCESS;
}

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

DLLFUNC int MOD_UNLOAD(m_services)(int module_unload)
{
 DelHook(HServmsg);
 return MOD_SUCCESS;
}

DLLFUNC char *m_services(aChannel *chptr, aClient *sptr, aClient *acptr, char *text, int notice)
{
   if (!IsULine(acptr)) {
   if (!servnick_list(acptr->name)) {
   return text;
   }
 }
   if ((chptr = find_channel(Monitor, NullChn)) != NullChn)
   sendto_channel_butone(&me, &me, chptr, ":IRCMonitor PRIVMSG %s :Services Bot: \2%s\2 Nick: \2(%s!%[email protected]%s)-(%s)\2 Mesaj: \2%s\2", 
   Monitor, acptr->name, sptr->name, sptr->user->username, sptr->user->realhost, sptr->info, text);
   return text;
}
 
Üst