• Türkiye'nin En Güncel IRC Forumuna Hoş Geldin
    İçerikleri görebilmek ve topluluğumuza katılmak için lütfen oturum açın.

3.2.x Modül Unreal3.2.X Ame/Me Komutlarını Kısıtlamak

  • Konbuyu başlatan IFGT
  • Başlangıç tarihi
  • Cevaplar : 0
  • Görüntüleme : 3

IFGT

IFGT System
Katılım
2 Mar 2023
Mesajlar
242
IFGT Puan
18
Son 450x120.png
Merhaba​

Sunucunuz üzerinde noaction modülü ile AME ve ME komutlarını kısıtlamanız mümkün olacaktır. Şu anda ilgili modülde sadece operlerin kullanılmasına izin verilmiş, bu komutları isterseniz rumuzu şifreli olan kullanıcılara kullandırtabilirsiniz isterseniz de oper üstü yetkililer içinde değiştirebilirsiniz.

Örnek Rumuzu kayıtlı kullanıcılar için,
!IsAnOper(sptr) satırını !IsARegNick(sptr) şeklinde değiştirirseniz sunucuda sadece kayıtlı olan kişiler kullanabilir.

Örnek Services Admin için,
!IsAnOper(sptr) satırını IsSAdmin(sptr) olarak değiştirmeniz gerekmektedir.

Örnek Network Admin için,
!IsAnOper(sptr) satırını !IsNetAdmin(sptr) şeklinde değiştirmeniz halinde ilgili komutları sadece network adminlerin kullanmasını sağlamış olursunuz.

Böylece kullanılan koşulların azda olsa, ne işe yaradığınıda öğrenmiş oldunuz diye düşünüyorum.

m_action.c modülü;

Kod:
/************************************************** 
  *  Channel message that disables CTCP            *
  *  ACTION's (/me's or /ame's) on channels.       *
  *  Diablo diablo@unrealircd.org                  *
  *  Version 1.0                               *
  **************************************************/
 
#include "config.h"
#include "struct.h"
#include "common.h"
#include "sys.h"
#include "numeric.h"
#include "msg.h"
#include "proto.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 char *noaction_msg = NULL;

ModuleInfo NoActionModInfo;

static Hook *CheckChanMsg = NULL, *HookConfRun = NULL, *HookConfTest = NULL;

DLLFUNC char *m_noaction(aClient *, aClient *, aChannel *, char *, int);

ModuleHeader Mod_Header
  = {
    "m_noaction v1.0",
    "Channel message that disables CTCP ACTION's",
    "Diablo",
    "3.2-b8-1",
    NULL
    };

DLLFUNC int Mod_Test(ModuleInfo *modinfo)
{
    return MOD_SUCCESS;
}
DLLFUNC int    Mod_Init(ModuleInfo *modinfo)
{
    noaction_msg = strdup("Sending of actions has been disabled.");
    CheckChanMsg = HookAddPCharEx(NoActionModInfo.handle, HOOKTYPE_CHANMSG, m_noaction);
    return MOD_SUCCESS;
}

DLLFUNC int    Mod_Load(int module_load)
{
    return MOD_SUCCESS;
}

DLLFUNC int    Mod_Unload(int module_unload)
{
    return MOD_SUCCESS;
}

DLLFUNC char *m_noaction(aClient *cptr, aClient *sptr, aChannel *chptr, char *text, int notice)
{
    
    if (!IsAnOper(sptr) && !IsULine(sptr) && !IsServer(sptr) && *text == 1 && !myncmp(text+1, "ACTION ", 7))
    {
       sendto_one(sptr, ":%s NOTICE %s :%s %s", me.name, sptr->name, chptr->chname, noaction_msg);
       return NULL;
    } else
      return text;
}
 
Geri
Üst Alt