KraL
IFGT Süper Moderatör
- Katılım
- 27 Kas 2025
- Mesajlar
- 1,421
- Tepkime puanı
- 19
- IFGT Puan
- 38
cd ircservices-5.0.xx
pico channels.h
dosyası içerisinde
satırının hemen altına
ekleyip kayıt edin ..
pico channels.c
dosyası içerisinde
satırının hemen altına
şeklinde ekleyip ve aynı dosya içerisinde
satırının hemen altına
şeklinde ekleyip kayıt edin ...
cd modules\chanserv
pico chanserv.h
dosyası içerisinde
satırının hemen üzerine
şeklinde ekleyip kayıt edin ...
pico main.c
dosyası içerisinde
satırının hemen altına
şeklinde ekleyin ve aynı dosya içerisinde
satırını
şeklinde değiştirin ve aynı dosya içerisinde
satırının üzerine
şeklinde ekleyin ve aynı dosya içerisinde
satırının hemen altına
şeklinde ekleyin ve aynı dosya içerisinde
satırının altına
şeklinde ekleyin ve aynı dosya içerisinde
satırının hemen üzerine
şeklinde kaydedin...
cd ..
cd database
pico version4.c
dosyası içerisinde
satırının hemen altına
ş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
satırını bulup hemen altına
ekleyip dosyayı kaydediyoruz ve sonra ircservices-5.0.xx
ana klasör içerisinde
make
make install
yaparak servisinizi tekrar restartlayın.Güle güle kullanın
Kodu yazarı : Diablo
pico channels.h
dosyası içerisinde
Kod:
time_t topic_time; /* When topic was set */
Kod:
int anuser;
int maxuser;
time_t maxuser_time;
pico channels.c
dosyası içerisinde
Kod:
/* Allocate pre-cleared memory */
c = scalloc(sizeof(Channel), 1);
Kod:
c->anuser = 0;
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;
}
Kod:
(c->anuser)--;
cd modules\chanserv
pico chanserv.h
dosyası içerisinde
Kod:
char *last_topic; /* Last topic on the channel */
Kod:
int anuser;
int maxuser;
time_t maxuser_time;
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;
}
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);
}
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;
}
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;
}
Kod:
if (ci && ci->entry_message)
notice(s_ChanServ, user->nick, "(%s) %s", ci->name, ci->entry_message);
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;
}
}
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;
}
Kod:
c->maxuser = c->anuser;
c->maxuser_time = time(NULL);
ci->maxuser = c->maxuser;
ci->maxuser_time = c->maxuser_time;
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;
Kod:
char buf2[BUFSIZE];
time_t now=time(NULL);
Kod:
if (ci->entry_message && CHECK_SHOW_ALL)
notice_lang(s_ChanServ, u, CHAN_INFO_ENTRYMSG, ci->entry_message);
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);
cd ..
cd database
pico version4.c
dosyası içerisinde
Kod:
SAFE(write_int32(ci->last_topic_time, f));
Kod:
SAFE(write_int16(ci->maxuser, f));
SAFE(write_int32(ci->maxuser_time, f));
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;
Kod:
SAFE(read_int16(&tmp16, f));
ci->maxuser = tmp16;
SAFE(read_int32(&tmp32, f));
ci->maxuser_time = tmp32;
ana klasör içerisinde
make
make install
yaparak servisinizi tekrar restartlayın.Güle güle kullanın
Kodu yazarı : Diablo