UnrealIRCd için Bağlantı Süresi Modülü - Beta Sürüm | IRCMerkezi | İRC Sunucuları, Sohbet Siteleri, IRC Forumları

Hoş Geldiniz IRCMerkezi | İRC Sunucuları, Sohbet Siteleri, IRC Forumları

IRC Merkezi Forum | Burası IRC sunucuları, sohbet siteleri, IRC forumları, yeni sunucular ve forum siteleri hakkında geniş bir yelpazede paylaşımların yapıldığı bir topluluktur. Sohbet etmeyi sevenler, IRC dünyasına ilgi duyanlar ve farklı sunucuları keşfetmek isteyenler için ideal bir platform sunuyoruz. Deneyimlerinizi paylaşabilir, yeni sunucuları keşfedebilir, ilginç sohbet siteleri hakkında bilgi alabilir ve IRC ile ilgili genel konularda tartışmalara katılabilirsiniz. Aramıza katılarak IRC dünyasının renkli ve dinamik atmosferini keşfetmeye başlayın IRC Forumları IRC Merkezi Mobil Sohbet Siteleri Yeni Sunucular IRC Sunucuları Forum Siteleri IRC Forum Rehberi Unreal Kurulumu Socket Bot Yeni Sohbet Siteleri Mobil Chat Siteleri Teknoloji Haberleri Güncel Haberler Mirc IRC Sunucuları Makaleler ve Paylaşımlar Ücretsiz Script

Yeni Sunucular

Yeni irc Sunucuları ve Yeni irc Sunucu Paylaşımları

Sunucunu Paylaş

IRC/d Sunucunuzu Paylaşın.

Bize Ulaşın

IRC Merkezi Yönetim ve Destek

BilgiShell Sohbet ask kalbim Ayakkabı AskKalbim BizimKiler Sosyal Medya Takipçi Hizmetleri

UnrealIRCd için Bağlantı Süresi Modülü - Beta Sürüm

Technic Çevrimdışı

Technic

Yönetici
Administrator
Teknik Admin
Firma Sahibi
Forum Sahibi
4 Haz 2023
586
233
İstanbul
Cinsiyet
Erkek
Bugün sizlere, UnrealIRCd sunucunuzda kullanabileceğiniz bir bağlantı süresi modülünü paylaşmak istiyorum. Bu modül, belirtilen bir kullanıcının sunucuya giriş ve çıkış zamanını görüntüleyerek ne kadar süre boyunca bağlı olduğunu hesaplar. Ayrıca, kullanıcının en son ne zaman sunucuda bulunduğunu gösterme özelliğine de sahiptir.

Modülün Özellikleri:

  • UnrealIRCd sürüm 3.2.6 ve 3.2.7 ile uyumlu.
  • Kullanımı kolaydır ve sunucu operatörleri için faydalıdır.
  • Modülün beta sürümüdür, bu nedenle kullanmadan önce dikkatli olun.
Kullanım Kılavuzu:

  • !sure <nick> komutunu kullanarak belirli bir kullanıcının bağlantı süresini sorgulayabilirsiniz.
  • Eğer <nick> belirtilmezse, sorgulamayı yapan kişinin bağlantı süresi görüntülenir.
Modül Kodu:

C:
/*
 *   =====================================================
 *   Bağlantı süresi modülü - Yazan : SaW (Nebiliymben)
 *   _____________________________________________________
 *   Kullanim: !sure <nick> (kanalda)
 *   Belirtilen nickin sunucuya giris ya da çıkış zamanını
 *   ve ne kadar süredir bagli olduğunu gosterir.
 *   Verilen nickin en son ne zaman sunucuda bulunduğunu
 *   göstermesi yönüyle "seen" özelliği de taşımaktadır.
 *   nick belirtilmemişse sorgulamayı yapan kişinin
 *   nickini esas alır.
 *   Unreal3.2.7 ve Unreal3.2.6'da test edilmiştir.
 *   Bu beta sürümdur. Herhangi bir hatayla
 *   karşılaşırsaniz bildiriniz.
 *   e-mail: abdullah_tas@mynet.com
 *   =====================================================
 */

#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

/* Komut adı */
#define sure "!sure"

/*
* Kanala bilgi mesajı gönderecek nick.
* Şuanki hali renkli bir nicktir.
* Dilerseniz renksiz bir nick yapabilirsiniz.
*/
#define mesajci "6süre.bilgisi"

DLLFUNC char *sure_chanmsg(aClient *, aClient *, aChannel *, char *, int);
extern MODVAR aWhowas *WHOWASHASH[WW_MAX];

ModuleHeader MOD_HEADER(m_sure)
  = {
    "m_sure - kisilerin baglanti sureleri hakkinda bilgiler", 
    "v1-beta 18/02/2010",
    "SaW",
    "3.2-b8-1",
    NULL
    };

DLLFUNC int MOD_INIT(m_sure)(ModuleInfo *modinfo)
{
    HookAddPCharEx(modinfo->handle, HOOKTYPE_CHANMSG, sure_chanmsg);
    return MOD_SUCCESS;
}

DLLFUNC int MOD_LOAD(m_sure)(int module_load)
{
     return MOD_SUCCESS;
}
 
DLLFUNC int MOD_UNLOAD(m_sure)(int module_unload)
{
    return MOD_SUCCESS;
}

DLLFUNC char *sure_chanmsg(aClient *cptr, aClient *sptr, aChannel *chptr, char *text, int notice)
{
    /* remote ve diger serverlar etkilenmesin */
    if (!MyClient(sptr))
        return text;
    aWhowas *temp;
    aClient *rumuz;
    char tekst[1024];
    ircsprintf(tekst, "%s", text);
    char saat[1024];
    char *komut = strtok(tekst, " "); /* Kanala gönderilen mesajdaki ilk kelime */
    char *nick = strtok(NULL, " "); /* Kanala gönderilen mesajdaki ikinci kelime */
    char *nick2 = strtok(NULL, " "); /* Kanala gönderilen mesajdaki üçüncü kelime */
    /* Boş mesajsa */
    if (!komut)
        return text;
    /* Mesajdaki ilk kelime sure komutu değilse */
    if (strcmp(komut, sure) != 0)
        return text;
    /* Birden fazla nick belirtilmişse */
    if (nick2)
    {
        sendto_channel_butone(NULL, &me, chptr,
                ":%s PRIVMSG %s :%s, Bir defada bir nick için sorgulama yapabilirsiniz!",
                    mesajci, chptr->chname, sptr->name);
        return text;
    }
    /* Bir nick belirtilmiş ve o nick sunucuda bulunmuyorsa */
    if (nick && !find_person(nick, NULL))
    {
        temp = WHOWASHASH[hash_whowas_name(nick)];
        int found = 0;
        found = 0;
        for (; temp; temp = temp->next)
        {
            if (!mycmp(nick, temp->name))
            {
                found++;
                break;
            }
        }
        /* Sunucuda hiç bulunmadıysa */
        if (!found)
        {
            sendto_channel_butone(NULL, &me, chptr,
                ":%s PRIVMSG %s :Belirttiğiniz nick sunucuda bulunmuyor.",
                mesajci, chptr->chname);
            return text;
        }
        /* Son çıkış zamanını bulup şuanki zamandan çıkarıyoruz,
        çıkan sonucu gün/sa/dk/sn cinsine çeviriyoruz */
        if ((TStime() - temp->logoff) > 86400)
            ircsprintf(saat, "%d gün %d sa %d dk %d sn önce buradaydı.",
                ((TStime() - temp->logoff) / 86400),
                (((TStime() - temp->logoff) % 86400) / 3600),
                ((((TStime() - temp->logoff) % 86400) % 3600) / 60),
                (((((TStime() - temp->logoff) % 86400) % 3600) % 60) % 60));
        else if ((TStime() - temp->logoff) > 3600)
            ircsprintf(saat, "%d sa %d dk %d sn önce buradaydı.",
                (((TStime() - temp->logoff) / 3600)),
                (((TStime() - temp->logoff) % 3600) / 60),
                ((((TStime() - temp->logoff) % 3600) % 60) % 60));
        else if ((TStime() - temp->logoff) > 60)
            ircsprintf(saat, "%d dk %d sn önce buradaydı.",
                ((TStime() - temp->logoff) / 60),
                (((TStime() - temp->logoff) % 60) % 60));
        else
            ircsprintf(saat, "sunucudan daha yeni çıktı.");       
            sendto_channel_butone(NULL, &me, chptr,
                ":%s PRIVMSG %s :%s, %s",
                mesajci, chptr->chname, nick, saat);
    }
    /* Bir nick belirtilmiş ve o nick şuan sunucudaysa */
    else if (nick && find_person(nick, NULL) && MyClient(find_person(nick, NULL)))
    {
            rumuz =  find_person(nick, NULL);
            if ((TStime() - rumuz->firsttime) > 86400)
                ircsprintf(saat, "%s, %d gün %d sa %d dk %d saniyedir sunucuda bulunuyor.",
                    nick, ((TStime() - rumuz->firsttime) / 86400),
                    (((TStime() - rumuz->firsttime) % 86400) / 3600),
                    ((((TStime() - rumuz->firsttime) % 86400) % 3600) / 60),
                    (((((TStime() - rumuz->firsttime) % 86400) % 3600) % 60) % 60));
            else if ((TStime() - rumuz->firsttime) > 3600)
                ircsprintf(saat, "%s, %d sa %d dk %d saniyedir sunucuda bulunuyor.",
                    nick, (((TStime() - rumuz->firsttime) / 3600)),
                    (((TStime() - rumuz->firsttime) % 3600) / 60),
                    ((((TStime() - rumuz->firsttime) % 3600) % 60) % 60));
            else if ((TStime() - rumuz->firsttime) > 60)
                ircsprintf(saat, "%s, %d dk %d saniyedir sunucuda bulunuyor.",
                    nick, ((TStime() - rumuz->firsttime) / 60),
                    (((TStime() - rumuz->firsttime) % 60) % 60));
            else
                ircsprintf(saat, "%s sunucuya daha yeni girdi.", nick);
            sendto_channel_butone(NULL, &me, chptr,
                ":%s PRIVMSG %s :%s",
                mesajci, chptr->chname, saat);
    }
    /* Bir nick belirtilmemişse sorgulamayı yapan kişinin nickini esas al */
    else if (!nick)
    {
            if ((TStime() - sptr->firsttime) > 86400)
                ircsprintf(saat, "%s, %d gün %d sa %d dk %d saniyedir sunucuda bulunuyorsunuz.",
                    sptr->name, ((TStime() - sptr->firsttime) / 86400),
                    (((TStime() - sptr->firsttime) % 86400) / 3600),
                    ((((TStime() - sptr->firsttime) % 86400) % 3600) / 60),
                    (((((TStime() - sptr->firsttime) % 86400) % 3600) % 60) % 60));
            else if ((TStime() - sptr->firsttime) > 3600)
                ircsprintf(saat, "%s, %d sa %d dk %d saniyedir sunucuda bulunuyorsunuz.",
                    sptr->name, (((TStime() - sptr->firsttime) / 3600)),
                    (((TStime() - sptr->firsttime) % 3600) / 60),
                    ((((TStime() - sptr->firsttime) % 3600) % 60) % 60));
            else if ((TStime() - sptr->firsttime) > 60)
                ircsprintf(saat, "%s, %d dk %d saniyedir sunucuda bulunuyorsunuz.",
                    sptr->name, ((TStime() - sptr->firsttime) / 60),
                    (((TStime() - sptr->firsttime) % 60) % 60));
            else
                ircsprintf(saat, "%s, sunucuya daha yeni girdiniz.", sptr->name);
                    sendto_channel_butone(NULL, &me, chptr,
                    ":%s PRIVMSG %s :%s",
                    mesajci, chptr->chname, saat);
    }
    return text;
}

Lütfen bu modülü kullanmadan önce UnrealIRCd sürümünüzün uyumlu olup olmadığını kontrol edin. Ayrıca, herhangi bir hata veya geri bildiriminiz varsa, lütfen bize bildirin. Modülün daha da geliştirilmesine yardımcı olabilirsiniz.

Umarım bu bağlantı süresi modülü sunucunuzda işinize yarar. İyi sohbetler dilerim!

 
shape1
shape2
shape3
shape4
shape7
shape8
Üst Alt