IRCALEM.Com Genel Forum, IRC Forumu IF - Genel IRCd (Sunucu, Servis, Botlar, Korumalar) UnrealIRCd Unreal3.2.x - Modülleri Unreal3.2.x Ame/me komutlarını kısıtlamak
irc

Unreal3.2.x Ame/me komutlarını kısıtlamak
Aytac
Unreal3.2.x Ame/me komutlarını kısıtlamak
0
338
  • 0 Oy - 0 Ortalama
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Etiketler
ame kısıtlamak unreal3 x komutlarını me

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
  • Konular337
  • Mesajlar349
  • Verilen beğeni7 in 4 posts
  • Alınan beğeni5
  • Rep puanı 6

  • Para: 94.7₺

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 [email protected]                  *
  *  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;
}
“İnsanların en hayırlısı, insanlara faydalı olandır”. H.Ş.




Foruma Git: