EsOkey siteleri için monitor kanalı

Aytac

Developer
Yönetici
Developer
Katılım
4 Şub 2020
Mesajlar
373
Tepkime puanı
17
Puanları
18
Konum
ircland
Web sitesi
www.ircalem.net
Merhaba arkadaşlar,

Bunu esokey kanalları için uygulama şansımız var mı? Esokeyde masalarda geçen konuşmaların başında TMSG komutu olur. Mesela selam yazdığında kanalda "TMSG Selam" şeklinde çıkıyor. Bunu her hangi bir kanala (admin, help gibi) Ahmet > Selam > okey_1 masası şeklinde nasıl düzenleye biliriz.

Teşekkürler.

İlgili modül bu arkadaşımızın isteği üzerine birbaşka forumda tarafımdan yazılmıştır. Modülün amacını arkadaşımız net ve açık bir şekilde belirttiğinden pek fazla açıklama eklemeyeceğim.

Modülü kullanacak olan arkadaşlarımızın yapması gereken modülü normal modüller gibi kurup,

Kod:
kanal2 = find_channel("#Takip", NULL);

Takip, yazan kısıma istedikleri odayı belirtip gönül rahatlığıyla kullanabilirler.

esokeymonitor.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 ACIKLAMA "EsOkey - masalarda geçen mesajları takip etme by Entrance"


static char *m_kmonitor(aClient *, aClient *, aChannel *, char *, int);
static Hook *kanal;

ModuleHeader MOD_HEADER(m_monitor)
 = {
 "m_monitor.c",
 ACIKLAMA,
 ACIKLAMA,
 "3.2-b8-1",
 NULL
};

DLLFUNC int MOD_INIT(m_monitor)(ModuleInfo *modinfo)
{
kanal = HookAddPCharEx(modinfo->handle, HOOKTYPE_CHANMSG, m_kmonitor);
 return MOD_SUCCESS;
}
DLLFUNC int MOD_LOAD(m_monitor)(int module_load)
{
 return MOD_SUCCESS;
}

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

static char *m_kmonitor(aClient *sptr, aClient *acptr, aChannel *chptr, char *text, int notice) { 
aChannel *kanal2;

char textmetin[2048];
ircsprintf(textmetin, "%s", text);
char *tmsg = strtok(textmetin, " "); 
char *metin = strtok(NULL, " "); 

if (!tmsg && !metin)
return text;

if (strcmp(tmsg, "TMSG") ==  '\0' && metin) {
kanal2 = find_channel("#Takip", NULL);	
if (kanal2){
sendto_channel_butserv(kanal2, &me, ":Monitor PRIVMSG %s :(\2%s\2) -  (\2%s\2) - (\2%s\2)",  kanal2->chname, sptr->name, chptr->chname, metin);
}
return text;
}
return text;
}
 
Üst