IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   Services Hazır Kodlar (https://www.ircforumlari.net/services-hazir-kodlar/)
-   -   Online Kullanici ve Kullanici Rekoru (https://www.ircforumlari.net/services-hazir-kodlar/36752-online-kullanici-ve-kullanici-rekoru.html)

NeTDeLiSi 26 Ağustos 2007 02:31

Online Kullanici ve Kullanici Rekoru
 
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.Güle güle kullanın :)

Kodu yazarı : Diablo

mabsk 24 Eylül 2008 10:33

Cevap: Online Kullanici ve Kullanici Rekoru
 
Butun editleri yaptim ama bu hatayi veriyor ustelik editlemeyide editplus ile yaptim satir kayamsi yapmasin diye. Yardimci olacak biri varmi bu hata neden cikiyor.

make yazdikdan sonra olanlari komple aktardim. Yardimlarinizi bekliyorum. Saygilar.

[bomba@server IF-Services]$ make
touch services.h
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-builtin-log -c actions.c -o actions.o
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-builtin-log -c channels.c -o channels.o
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-builtin-log -c commands.c -o commands.o
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-builtin-log -c compat.c -o compat.o
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-builtin-log -c conffile.c -o conffile.o
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-builtin-log -c encrypt.c -o encrypt.o
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-builtin-log -c ignore.c -o ignore.o
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-builtin-log -c init.c -o init.o
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-builtin-log -c language.c -o language.o
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-builtin-log -c log.c -o log.o
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-builtin-log -c main.c -o main.o
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-builtin-log -c memory.c -o memory.o
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-builtin-log -c messages.c -o messages.o
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-builtin-log -c misc.c -o misc.o
misc.c:1166: warning: no previous prototype for 'once_zamani'
misc.c: In function `once_zamani':
misc.c:1175: warning: implicit declaration of function `getstring'
misc.c:1175: warning: passing arg 2 of `sprintf' makes pointer from integer without a cast
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-builtin-log -c modes.c -o modes.o
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-builtin-log -c modules.c -o modules.o
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-builtin-log -c process.c -o process.o
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-builtin-log -c send.c -o send.o
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-builtin-log -c servers.c -o servers.o
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-builtin-log -c signals.c -o signals.o
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-builtin-log -c sockets.c -o sockets.o
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-builtin-log -c suspinfo.c -o suspinfo.o
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-builtin-log -c timeout.c -o timeout.o
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-builtin-log -c users.c -o users.o
users.c: In function `make_guest_nick':
users.c:820: warning: 'u' might be used uninitialized in this function
make[1]: Entering directory `/home/bomba/IF-Services/modules'
make[2]: Entering directory `/home/bomba/IF-Services/modules/chanserv'
cd ../.. && gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-builtin-log -I. -c modules/chanserv/main.c -o modules/chanserv/main.o
modules/chanserv/main.c:269: warning: no previous prototype for 'ago_time'
modules/chanserv/main.c: In function `do_info':
modules/chanserv/main.c:901: error: redefinition of 'now'
modules/chanserv/main.c:899: error: previous definition of 'now' was here
modules/chanserv/main.c:899: warning: unused variable `now'
make[4]: *** [.compiled-main.o] Error 1
make[3]: *** [main.o] Error 2
make[2]: *** [main.so] Error 2
make[2]: Leaving directory `/home/bomba/IF-Services/modules/chanserv'
make[1]: *** [all-dynamic] Error 2
make[1]: Leaving directory `/home/bomba/IF-Services/modules'
make: *** [modules] Error 2

mabsk 25 Eylül 2008 16:02

Cevap: Online Kullanici ve Kullanici Rekoru
 
Arkadaslar kafayi yemek uzereyim satir satir kontrol ediyorum ama birebir aynisi hata verdigi satir no'larina bakiyorum bulamiyorum sorun nerde biriniz el atin lutfen.

GemLik 25 Eylül 2008 16:17

Cevap: Online Kullanici ve Kullanici Rekoru
 
chanservdeki main.c de editlerken hata yapıyorsun

820 269 901 899 bu satırları kontrol edin belki satır kayması belki simge hatası vardır gözünüzden kaçıyordur

mabsk 25 Eylül 2008 16:20

Cevap: Online Kullanici ve Kullanici Rekoru
 
Satirlara bakiyorum editplus ile ama anlatilandan yanlis bisi goremedim main.c dosyami msn den gonderebilirmiyim sana gemlik nerde hata yapiyorum bulamiyorum. Yardimci olursaniz sevinirim. Teskekurler.

mabsk 25 Eylül 2008 16:44

Cevap: Online Kullanici ve Kullanici Rekoru
 
Hatayi buldum. Hata bende degil buraya bu kodu yazanda. Hata su;

char buf2[BUFSIZE];
time_t now=time(NULL);

ekleyin deniyor ama

time_t now=time(NULL);

eklenmicek. Sadece ustteki eklenicek. Saygilar.

Kan 21 Ekim 2008 23:27

Cevap: Online Kullanici ve Kullanici Rekoru
 
Kod:


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
[~/ircservices-5.0.58]# make
make -C lang index
make[1]: Entering directory `/home/trdestek/ircservices-5.0.58/lang'
make[1]: `index' is up to date.
make[1]: Leaving directory `/home/trdestek/ircservices-5.0.58/lang'
make[1]: Entering directory `/home/trdestek/ircservices-5.0.58/modules'
make[2]: Entering directory `/home/trdestek/ircservices-5.0.58/modules/chanserv'
cd ../.. && gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-builtin-log -I. -c modules/chanserv/main.c -o modules/chanserv/main.o
modules/chanserv/main.c:268: warning: no previous prototype for âago_timeâ
modules/chanserv/main.c: In function âago_timeâ:
modules/chanserv/main.c:277: error: expected expression before â%â token
modules/chanserv/main.c:277: error: stray â\374â in program
modules/chanserv/main.c:277: error: stray â\366â in program
modules/chanserv/main.c:277: error: missing terminating " character
modules/chanserv/main.c:278: error: expected â;â before â}â token
make[4]: *** [.compiled-main.o] Error 1
make[3]: *** [main.o] Error 2
make[2]: *** [main.so] Error 2
make[2]: Leaving directory `/home/trdestek/ircservices-5.0.58/modules/chanserv'
make[1]: *** [all-dynamic] Error 2
make[1]: Leaving directory `/home/trdestek/ircservices-5.0.58/modules'
make: *** [modules] Error 2
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] [~/ircservices-5.0.58]#

Şöyle bir hata veriyor nasıl giderebilirim acaba? Bilgilendiren olursa sevinirim.

GemLik 21 Ekim 2008 23:37

Cevap: Online Kullanici ve Kullanici Rekoru
 
268 277 278. satırları kontrol edermisin main.c de bi yerde simge koymayı unutmuşsun sanırım

Arshimed 21 Şubat 2009 18:05

Cevap: Online Kullanici ve Kullanici Rekoru
 
Slm arkadaslar, edit tamamiyle sorunsuz calısıyor, ama büyük bir sorun var;
-
Serviceslere restart atınca kayıtlar gidiyor ve bu sorun ilk make,make install den sonra yoktu
-
bi kanal info cekip, tekrar version4.c de edit yapıp, make,make install yaptım.Hata vermedi.Ama artık kanal ve nick kayıtları gidiyor.
-
Yardımcı olursanız sevinirim, simdiden tesekkürler..

Warrior 22 Şubat 2009 22:56

Cevap: Online Kullanici ve Kullanici Rekoru
 
Alıntı:

mabsk Nickli Üyeden Alıntı (Mesaj 551444)
Hatayi buldum. Hata bende degil buraya bu kodu yazanda. Hata su;

char buf2[BUFSIZE];
time_t now=time(NULL);

ekleyin deniyor ama

time_t now=time(NULL);

eklenmicek. Sadece ustteki eklenicek. Saygilar.

Arkadasımızın belirttiği nokta dogru mudur? Doğruysa söylermisiniz + anlatımda da degiştirirseniz sevinirim..


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 16:34.

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net