IRCALEM.Com Genel Forum, IRC Forumu IF - Genel IRCd (Sunucu, Servis, Botlar, Korumalar) UnrealIRCd Unreal3.2.x - Modülleri Unreal3.2 Join Deop Modülü
irc

Unreal3.2 Join Deop Modülü
Aytac
Unreal3.2 Join Deop Modülü
0
375
  • 0 Oy - 0 Ortalama
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Etiketler
unreal3 modülü join deop

Bu konuyu görüntüleyen kullanıcı(lar):1 Ziyaretçi
Şuan Offine!
Şuan Offine!
Aytac Administrator
********
Proje Sorumlusu

  • Üyelik tarihi    04.02.2020
  • Konum  78 Karabük
  • Konular351
  • Mesajlar364
  • Verilen beğeni8 in 5 posts
  • Alınan beğeni6
  • Rep puanı 6

* Join deop modülünü daha önce kullananlarınız oldu mu bilmiyorum da, modülün çalışma sistemi sunucu üzerin de herhangi bir özel kanal açıp (JOIN - giriş.) yaptığınız da, chanserv tarafından Aop(@) konumuna geçersiniz bu modül de bu esnada devreye girer ve sizi deop eder.

* Farklı alanlar da, farklı hayal gücünüzle bu modül sayesinde bir şeyler yapabilirsiniz. Modül yapımcısı UnrealIRCd'in resmi sitesinde bir zamanlar takılan w00t rumuzlu bir yabancı tarafından kodlanmıştır.

joindeop.c modülü;

Kod :
/*
* ==================================================================
* Module:            joindeop
* Author:            w00t <[email protected]>
* Version:            1.0.0
* Written For:        Stealth (and others).
* Licence:            GPL
* Description:        Deops a user on join to a new channel if user
*                is not an oper.
* ==================================================================
*/


/* ChangeLog:
*    28/09/2005 - 1.0.0
*        -Initial version
*/

#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

static int            cb_join(aClient *, aClient *, aChannel *, char *[]);


Hook *joindeop_hookjoin;

ModuleHeader MOD_HEADER(jointhrottle)
  = {
    "joindeop",
    "v1.0.0",
    "Deops non-opers on joining a new channel by w00t <[email protected]>",
    "3.2-b8-1",
    NULL
    };

DLLFUNC int MOD_INIT(jointhrottle)(ModuleInfo *modinfo)
{
    joindeop_hookjoin = HookAddEx(modinfo->handle, HOOKTYPE_LOCAL_JOIN, cb_join);

    return MOD_SUCCESS;
}

DLLFUNC int MOD_LOAD(jointhrottle)(int module_load)
{
    return MOD_SUCCESS;
}

DLLFUNC int MOD_UNLOAD(jointhrottle)(int module_unload)
{
    if (joindeop_hookjoin)
        HookDel(joindeop_hookjoin);
       
    joindeop_hookjoin = NULL;
   
    return MOD_SUCCESS;
}

static int cb_join(aClient *cptr, aClient *sptr, aChannel *chptr, char *parv[])
{
    Member *cm;
   
    if (!IsOper(sptr))
    {
        //sendto_realops("%s is joining %s and not an oper", sptr->name, chptr->chname);
       
        /* appropriated from m_svsmode.c, why do_cmd didn't like me I have nfi.. */
        for (cm = chptr->members; cm; cm = cm->next)
        {
            //sendto_realops("Comparing %s to %s", cm->cptr->name, sptr->name);
            if (cm->cptr->name == sptr->name)
            {
                //sendto_realops("Match found.");
                if (cm->flags & CHFL_CHANOP)
                {
                    Membership *mb;
                   
                    //sendto_realops("Match is opped, deopping.");
                    mb = find_membership_link(cm->cptr->user->channel,
                        chptr);               
                   
                    sendto_channel_butserv(chptr, (aClient *)find_server_quick_search(me.name), ":%s MODE %s %s %s",
                        me.name, chptr->chname, "-o", cm->cptr->name);
                    sendto_serv_butone(NULL, ":%s MODE %s %s %s", me.name, chptr->chname, "-o", cm->cptr->name);
                    cm->flags &= ~CHFL_CHANOP;
                    if (mb)
                        mb->flags = cm->flags;
                }
            }
        }
    }
    return HOOK_CONTINUE;
}
“İnsanların en hayırlısı, insanlara faydalı olandır”. H.Ş.


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  #Karantina Girişli Joindelay Modülü Aytac 6 1,279 03.04.2021, 12:36
Son Mesaj: iSyan
  Quarantine modülü Aytac 0 409 12.04.2020, 16:25
Son Mesaj: Aytac
  Unreal3.2 Otomatik Random Global Mesajı Aytac 0 498 12.04.2020, 16:09
Son Mesaj: Aytac
  Belirtilen Komutları Loglama Modülü Aytac 0 522 12.04.2020, 16:00
Son Mesaj: Aytac
  Unreal3.2 Kanal ve Özel mesajları belirtilen kanalda takip etme Aytac 0 721 12.04.2020, 14:30
Son Mesaj: Aytac

Foruma Git: