cd ircservices-5.0.xx
pico channels.h
dosyası içerisinde
Kod:
time_t topic_time; /* When topic was set */
satırının hemen altına
Kod:
int anuser; int maxuser; time_t maxuser_time;
ekleyip kayıt edin ..
pico channels.c
dosyası içerisinde
Kod:
/* Allocate pre-cleared memory */ c = scalloc(sizeof(Channel), 1);
satırının hemen altına
Kod:
c->anuser = 0;
şeklinde ekleyip ve aynı dosya içerisinde
Kod:
void chan_deluser(User *user, Channel *c) { struct c_userlist *u; int i; LIST_SEARCH_SCALAR(c->users, user, user, u); if (!u) { log(”channel: BUG: chan_deluser() called for %s in %s but they ” “were not found on the channel’s userlist.”, user->nick, c->name); return; }
satırının hemen altına
Kod:
(c->anuser)–;
ÅŸeklinde ekleyip kayıt edin …
cd modules\chanserv
pico chanserv.h
dosyası içerisinde
Kod:
char *last_topic; /* Last topic on the channel */
satırının hemen üzerine
Kod:
int anuser; int maxuser; time_t maxuser_time;
ÅŸeklinde ekleyip kayıt edin …
pico main.c
dosyası içerisinde
Kod:
static int chanserv_whois(const char *source, char *who, char *extra) { if (irc_stricmp(who, s_ChanServ) != 0) return 0; send_cmd(ServerName, “311 %s %s %s %s * :%s”, source, who, ServiceUser, ServiceHost, desc_ChanServ); send_cmd(ServerName, “312 %s %s %s :%s”, source, who, ServerName, ServerDesc); send_cmd(ServerName, “318 End of /WHOIS response.”); return 1; }
satırının hemen altına
Kod:
void ago_time(char *buf, time_t t, User *u) { int days, hours, minutes, seconds; days = t/(24*3600); t %= 24*3600; hours = t/3600; t %= 3600; minutes = t/60; t %= 60; seconds = t; sprintf(buf,”%d gün, %d saat, %d dakika ve %d saniye önce”, days, hours, minutes, seconds); }
şeklinde ekleyin ve aynı dosya içerisinde
Kod:
static int do_channel_create(Channel *c, User *u, int32 modes) { /* Store ChannelInfo pointer in channel record */ c->ci = get_channelinfo(c->name); if (c->ci) { /* Store return pointer in ChannelInfo record */ c->ci->c = c; } /* Restore locked modes and saved topic */ /* Note: these should be outside the c->ci test to ensure any spurious * +r modes are cleared */ check_modes(c); restore_topic(c); return 0; }
satırını
Kod:
static int do_channel_create(Channel *c, User *u, int32 modes) { /* Store ChannelInfo pointer in channel record */ c->ci = get_channelinfo(c->name); if (c->ci) { /* Store return pointer in ChannelInfo record */ c->ci->c = c; c->maxuser = c->ci->maxuser; c->maxuser_time = c->ci->maxuser_time; } else { c->maxuser = 1; c->maxuser_time = time(NULL); } /* Restore locked modes and saved topic */ /* Note: these should be outside the c->ci test to ensure any spurious * +r modes are cleared */ check_modes(c); restore_topic(c); return 0; }
şeklinde değiştirin ve aynı dosya içerisinde
Kod:
if (ci && ci->entry_message) notice(s_ChanServ, user->nick, “(%s) %s”, ci->name, ci->entry_message);
satırının üzerine
Kod:
if (c->maxuser < ++(c->anuser)) { c->maxuser = c->anuser; c->maxuser_time = time(NULL); if(ci) { ci->maxuser = c->maxuser; ci->maxuser_time = c->maxuser_time; } }
şeklinde ekleyin ve aynı dosya içerisinde
Kod:
if (c->topic) { ci->last_topic = sstrdup(c->topic); strscpy(ci->last_topic_setter, c->topic_setter, NICKMAX); ci->last_topic_time = c->topic_time; }
satırının hemen altına
Kod:
c->maxuser = c->anuser; c->maxuser_time = time(NULL); ci->maxuser = c->maxuser; ci->maxuser_time = c->maxuser_time;
şeklinde ekleyin ve aynı dosya içerisinde
Kod:
static void do_info(User *u) { char *chan = strtok(NULL, ” “); char *param = strtok(NULL, ” “); ChannelInfo *ci; NickGroupInfo *ngi, *ngi2 = NULL; char buf[BUFSIZE], *end, *s;
satırının altına
Kod:
char buf2[BUFSIZE]; time_t now=time(NULL);
şeklinde ekleyin ve aynı dosya içerisinde
Kod:
if (ci->entry_message && CHECK_SHOW_ALL) notice_lang(s_ChanServ, u, CHAN_INFO_ENTRYMSG, ci->entry_message);
satırının hemen üzerine
Kod:
if (ci->c) send_cmd(s_ChanServ, “NOTICE %s :Online kullanıcı : \2%d\2″, u->nick, ci->c->anuser); ago_time(buf2, now-ci->maxuser_time, u); send_cmd(s_ChanServ, “NOTICE %s :Kullanıcı rekoru : \2%d\2 [%s]”, u->nick, ci->maxuser, buf2);
ÅŸeklinde kaydedin…
cd ..
cd database
pico version4.c
dosyası içerisinde
Kod:
SAFE(write_int32(ci->last_topic_time, f));
satırının hemen altına
Kod:
SAFE(write_int16(ci->maxuser, f)); SAFE(write_int32(ci->maxuser_time, f));
ÅŸeklinde ekleyip kaydedin ve sonra ircservices-5.0.xx
ana klasör içerisinde
make
make install
yaparak servisinizi restartlayın.sunucunuza girerek kayıtlı bir
kanalınıza info cekin..
daha sonra tekrar
cd ircservices-5.0.xx\modules\database
pico version4.c
dosyasına tekrar girip içerisinde
Kod:
SAFE(read_int32(&tmp32, f)); ci->last_topic_time = tmp32;
satırını bulup hemen altına
Kod:
SAFE(read_int16(&tmp16, f)); ci->maxuser = tmp16; SAFE(read_int32(&tmp32, f)); ci->maxuser_time = tmp32;
ekleyip dosyayı kaydediyoruz ve sonra ircservices-5.0.xx
ana klasör içerisinde
make
make install
yaparak servisinizi tekrar restartlayın. Hayırlı olsun.
Kategori: IRC & Services |
Yorumunuzu Gönderin
Yorum yapabilmeniz için Giriş yapmalısınız.
