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/)
-   Anope (https://www.ircforumlari.net/anope/)
-   -   Anope Oto Host (https://www.ircforumlari.net/anope/371110-anope-oto-host.html)

Joop 14 Aralık 2010 00:07

Anope Oto Host
 
Merhabalar..

Yanlış Hatırlamıyorsam ysfm Arkadaşımızn Forumda Paylaşdığı Bir modul Vardı.
İstediğimiz Kanalda Opu Sopu Fpounderi Belirlediğimiz Kanala Çektiriyorduk Ve Hostlarını Değiştirtiyorduk.

Yalnız Oplar Çok olunca Karışıklık olmaya Başladı.
Ben Diyorumki.

X Nicki Sohbet Founderi İse.
X [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Y Nicki Oyun Kanalında Sop İse
Y [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Z Nicki Kelime Kanalında Op ise
Z [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Şeklinde. Yetki Ve nick Ayırımı Yapdırabilirmiyim? Yada Anopedenin Bu Modulu varmı ?

toXic 14 Aralık 2010 10:56

Cevap: Anope Oto Host
 
Alıntı:

SakaryaLl Nickli Üyeden Alıntı (Mesaj 1040616089)
Merhabalar..

Yanlış Hatırlamıyorsam ysfm Arkadaşımızn Forumda Paylaşdığı Bir modul Vardı.
İstediğimiz Kanalda Opu Sopu Fpounderi Belirlediğimiz Kanala Çektiriyorduk Ve Hostlarını Değiştirtiyorduk.

Yalnız Oplar Çok olunca Karışıklık olmaya Başladı.
Ben Diyorumki.

X Nicki Sohbet Founderi İse.
X [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Y Nicki Oyun Kanalında Sop İse
Y [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Z Nicki Kelime Kanalında Op ise
Z [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Şeklinde. Yetki Ve nick Ayırımı Yapdırabilirmiyim? Yada Anopedenin Bu Modulu varmı ?


Kod:

if (check_access(user, ci, CA_AUTOOP)) {
                        if (!stricmp("#Radyo", chan)) {
if(!strcmp("toXic", user->nick))  {

gibi deneyebilirsin.

Joop 14 Aralık 2010 14:36

Cevap: Anope Oto Host
 
ns_global.c modulune ben kanal eklemişdim. şuanki durumu

Kod:


 
#include "module.h"
#define AUTHOR "aktif"
#define VERSION "$Id: ns_global.c v1.2.0 25-02-2008 Aktif $"
#define YONETIM "#Muhabbet"
#define GLOBAL "#Sohbet"
#define GLOBAL1 "#Ops"
#define RADYO "#Radyo"
#define RADIO1 "#DJ"
#define HELP "#help"
#define HELP1 "#Operhelp"
#define OYUN "#Oyun"
#define YARISMA "#Yarisma"
#define TEST "#Test"
#define ISLAM "#islam"
#define CARKIFELEK "#carkifelek"
#define HELPHOST "HeLPeR.Sunucu.Com"
#define SOPHOST "SohbetOP.Sunucu.Com"
#define HELPERHOST "MuhabbetOP.Sunucu.Com"
#define DJHOST "DJ.Sunucu.Com"
#define YARISMAHOST "YarismaOP.Sunucu.Com"
#define TESTHOST "TestOP.Sunucu.Com"
#define OYUNHOST "OyunOP.Sunucu.Com"
#define ISLAMHOST "IslamOP.Sunucu.Com"
#define CARKIFELEKHOST "CarkifelekOP.Sunucu.Com"
/* -------------------------------------------------------------------------------
* Name : ns_global.c
* Author : ysfm
* Version : 1.2.0
* Date : 14-01-2007
* Updated : 25-02-2008
* -------------------------------------------------------------------------------
* Deneme: Unreal3.2.7
*
* RadioChan adından yapılan duzenlemenın biraz daha gelıstırılmıs hali
* Radio kanalı, Help Kanalı, GlobalOp kanalı yoneticilerinin
* Modlarını hostlarını ve giriş kanallarını belirlemek icin yapılmış bir duzenleme
*
* Module n00bie 'nin yaptığı joinhelpchan modulunden esinlenilerek yapılmıştır
*
* --------------------------------------------------------------------------------
* Changelog:
* v1.0.0 - Radio kanalı icin duzenlenmiş giriş kanalı yonetim modulesi.
* v1.2.0 - RAdio Help Global.
* icin tek module.
*
*/
int joinhelp(User *u);
int AnopeInit(int argc, char **argv)
{
Command *c;
int status = 0;
c = createCommand("ID", joinhelp, NULL, -1, -1, -1, -1, -1);
status = moduleAddCommand(NICKSERV, c, MOD_TAIL);
c = createCommand("IDENTIFY", joinhelp, NULL, -1, -1, -1, -1, -1);
status = moduleAddCommand(NICKSERV, c, MOD_TAIL);
c = createCommand("SIDENTIFY", joinhelp, NULL, -1, -1, -1, -1, -1);
status = moduleAddCommand(NICKSERV, c, MOD_TAIL);
if (!moduleMinVersion(1,7,21,1341)) {
alog("%s: ns_global: Uzgunuz. Bu module Anope-1.7.21 (1341) ve uzeri icin hazirlanmistir. Lutfen versionunuzu yenileyiniz.", s_NickServ);
return MOD_STOP;
}
if (!HelpChannel) {
alog("%s: ns_global: \002HelpChannel\002 Yardim kanali services.conf'ta belirtilmemiş. Modul kaldırıldı.", s_NickServ);
return MOD_STOP;
}
if (status == MOD_ERR_OK) {
alog("%s: ns_global: Module Basari ile Yuklendi.", s_NickServ);
} else {
return MOD_STOP;
}
moduleAddAuthor(AUTHOR);
moduleAddVersion(VERSION);
return MOD_CONT;
}
int joinhelp(User *u)
{
ChannelInfo *ci = cs_findchan(YONETIM);
if (check_access(u, ci, CA_HALFOP) || check_access(u, ci, CA_HALFOPME)) {
anope_cmd_svsjoin(s_NickServ, u->nick, GLOBAL1, NULL);
send_cmd(s_HostServ, "CHGHOST %s %s", u->nick, HELPERHOST);
notice(s_NickServ, u->nick, "MUHABBET Kanalinin Gorevlisi oldugunuz icin #Ops kanalina yonlendirildiniz, Vhost'unuz %s olarak duzenlendi.", YONETIM, HELPERHOST);
 
}
ChannelInfo *cp = cs_findchan(RADYO);
if (check_access(u, cp, CA_HALFOP) || check_access(u, cp, CA_HALFOPME)) {
anope_cmd_svsjoin(s_NickServ, u->nick, GLOBAL1, NULL);
anope_cmd_svsjoin(s_NickServ, u->nick, RADIO1, NULL);
send_cmd(s_HostServ, "CHGHOST %s %s", u->nick, DJHOST);
notice(s_NickServ, u->nick, "DJ oldugunuz icin #DJ kanalina yonlendirildiniz, Vhost'unuz %s olarak duzenlendi.", RADYO, DJHOST);
 
}
ChannelInfo *ce = cs_findchan(GLOBAL);
if (check_access(u, ce, CA_HALFOP) || check_access(u, ce, CA_HALFOPME)) {
anope_cmd_svsjoin(s_NickServ, u->nick, GLOBAL, NULL);
send_cmd(s_HostServ, "CHGHOST %s %s", u->nick, SOPHOST);
notice(s_NickServ, u->nick, "SOHBET Kanalinin Gorevlisi oldugunuz icin #Ops kanalina yonlendirildiniz, Vhost'unuz %s olarak duzenlendi.", GLOBAL, SOPHOST);
 
}
ChannelInfo *cn = cs_findchan(HELP);
if (check_access(u, cn, CA_HALFOP) || check_access(u, cn, CA_HALFOPME)) {
anope_cmd_svsjoin(s_NickServ, u->nick, HELP1, NULL);
send_cmd(s_HostServ, "CHGHOST %s %s", u->nick, HELPHOST);
notice(s_NickServ, u->nick, "YARISMA Kanalinin Gorevlisi oldugunuz icin #Ops kanalina yonlendirildiniz, Vhost'unuz %s olarak duzenlendi.", HELP, HELPHOST);
 
}
ChannelInfo *cm = cs_findchan(OYUN);
if (check_access(u, cm, CA_HALFOP) || check_access(u, cm, CA_HALFOPME)) {
anope_cmd_svsjoin(s_NickServ, u->nick, GLOBAL1, NULL);
send_cmd(s_HostServ, "CHGHOST %s %s", u->nick, OYUNHOST);
notice(s_NickServ, u->nick, "OYUN Kanalinin Gorevlisi oldugunuz icin #Ops kanalina yonlendirildiniz, Vhost'unuz %s olarak duzenlendi.", OYUN, OYUNHOST);
 
}
ChannelInfo *ck = cs_findchan(TEST);
if (check_access(u, ck, CA_HALFOP) || check_access(u, ck, CA_HALFOPME)) {
anope_cmd_svsjoin(s_NickServ, u->nick, GLOBAL1, NULL);
send_cmd(s_HostServ, "CHGHOST %s %s", u->nick, TESTHOST);
notice(s_NickServ, u->nick, "TEST Kanalinin Gorevlisi oldugunuz icin #Ops kanalina yonlendirildiniz, Vhost'unuz %s olarak duzenlendi.", TEST, TESTHOST);
 
}
ChannelInfo *cc = cs_findchan(CARKIFELEK);
if (check_access(u, cc, CA_HALFOP) || check_access(u, cc, CA_HALFOPME)) {
anope_cmd_svsjoin(s_NickServ, u->nick, GLOBAL1, NULL);
send_cmd(s_HostServ, "CHGHOST %s %s", u->nick, CARKIFELEKHOST);
notice(s_NickServ, u->nick, "CARKIFELEK Kanalinin Gorevlisi oldugunuz icin #Ops kanalina yonlendirildiniz, Vhost'unuz %s olarak duzenlendi.", CARKIFELEK, CARKIFELEKHOST);
 
}
ChannelInfo *cq = cs_findchan(ISLAM);
if (check_access(u, cq, CA_HALFOP) || check_access(u, cq, CA_HALFOPME)) {
anope_cmd_svsjoin(s_NickServ, u->nick, GLOBAL1, NULL);
send_cmd(s_HostServ, "CHGHOST %s %s", u->nick, ISLAMHOST);
notice(s_NickServ, u->nick, "ISLAM Kanalinin Gorevlisi oldugunuz icin #Ops kanalina yonlendirildiniz, Vhost'unuz %s olarak duzenlendi.", ISLAM, ISLAMHOST);
 
}
ChannelInfo *cr = cs_findchan(YARISMA);
if (check_access(u, cr, CA_HALFOP) || check_access(u, cr, CA_HALFOPME)) {
anope_cmd_svsjoin(s_NickServ, u->nick, GLOBAL1, NULL);
send_cmd(s_HostServ, "CHGHOST %s %s", u->nick, YARISMAHOST);
notice(s_NickServ, u->nick, "YARISMA Kanalinin Gorevlisi oldugunuz icin #Ops kanalina yonlendirildiniz, Vhost'unuz %s olarak duzenlendi.", YARISMA, YARISMAHOST);
 
}
return MOD_CONT;
}
void AnopeFini(void)
{
alog("%s: ns_global%s: Module Unloaded.", s_NickServ, MODULE_EXT);
}
/* EOF */

Bunu nasıl yapabiliriz Acaba Hocam..
Hostuna Nick Vericek Sonra Opsa opu sopsa sopu halposa halfopu yazıcak

Yetkisini Yazdıramasak bile. Oto host verdiğinde Nickleri Yazsa oda yeterli.. Diğer Türlü Tüm opların Hostları aynı oluyor

toXic 14 Aralık 2010 15:02

Cevap: Anope Oto Host
 
Alıntı:

SakaryaLl Nickli Üyeden Alıntı (Mesaj 1040616768)
ns_global.c modulune ben kanal eklemişdim. şuanki durumu

Kod:


 
#include "module.h"
#define AUTHOR "aktif"
#define VERSION "$Id: ns_global.c v1.2.0 25-02-2008 Aktif $"
#define YONETIM "#Muhabbet"
#define GLOBAL "#Sohbet"
#define GLOBAL1 "#Ops"
#define RADYO "#Radyo"
#define RADIO1 "#DJ"
#define HELP "#help"
#define HELP1 "#Operhelp"
#define OYUN "#Oyun"
#define YARISMA "#Yarisma"
#define TEST "#Test"
#define ISLAM "#islam"
#define CARKIFELEK "#carkifelek"
#define HELPHOST "HeLPeR.Sunucu.Com"
#define SOPHOST "SohbetOP.Sunucu.Com"
#define HELPERHOST "MuhabbetOP.Sunucu.Com"
#define DJHOST "DJ.Sunucu.Com"
#define YARISMAHOST "YarismaOP.Sunucu.Com"
#define TESTHOST "TestOP.Sunucu.Com"
#define OYUNHOST "OyunOP.Sunucu.Com"
#define ISLAMHOST "IslamOP.Sunucu.Com"
#define CARKIFELEKHOST "CarkifelekOP.Sunucu.Com"
/* -------------------------------------------------------------------------------
* Name : ns_global.c
* Author : ysfm
* Version : 1.2.0
* Date : 14-01-2007
* Updated : 25-02-2008
* -------------------------------------------------------------------------------
* Deneme: Unreal3.2.7
*
* RadioChan adından yapılan duzenlemenın biraz daha gelıstırılmıs hali
* Radio kanalı, Help Kanalı, GlobalOp kanalı yoneticilerinin
* Modlarını hostlarını ve giriş kanallarını belirlemek icin yapılmış bir duzenleme
*
* Module n00bie 'nin yaptığı joinhelpchan modulunden esinlenilerek yapılmıştır
*
* --------------------------------------------------------------------------------
* Changelog:
* v1.0.0 - Radio kanalı icin duzenlenmiş giriş kanalı yonetim modulesi.
* v1.2.0 - RAdio Help Global.
* icin tek module.
*
*/
int joinhelp(User *u);
int AnopeInit(int argc, char **argv)
{
Command *c;
int status = 0;
c = createCommand("ID", joinhelp, NULL, -1, -1, -1, -1, -1);
status = moduleAddCommand(NICKSERV, c, MOD_TAIL);
c = createCommand("IDENTIFY", joinhelp, NULL, -1, -1, -1, -1, -1);
status = moduleAddCommand(NICKSERV, c, MOD_TAIL);
c = createCommand("SIDENTIFY", joinhelp, NULL, -1, -1, -1, -1, -1);
status = moduleAddCommand(NICKSERV, c, MOD_TAIL);
if (!moduleMinVersion(1,7,21,1341)) {
alog("%s: ns_global: Uzgunuz. Bu module Anope-1.7.21 (1341) ve uzeri icin hazirlanmistir. Lutfen versionunuzu yenileyiniz.", s_NickServ);
return MOD_STOP;
}
if (!HelpChannel) {
alog("%s: ns_global: \002HelpChannel\002 Yardim kanali services.conf'ta belirtilmemiş. Modul kaldırıldı.", s_NickServ);
return MOD_STOP;
}
if (status == MOD_ERR_OK) {
alog("%s: ns_global: Module Basari ile Yuklendi.", s_NickServ);
} else {
return MOD_STOP;
}
moduleAddAuthor(AUTHOR);
moduleAddVersion(VERSION);
return MOD_CONT;
}
int joinhelp(User *u)
{
ChannelInfo *ci = cs_findchan(YONETIM);
if (check_access(u, ci, CA_HALFOP) || check_access(u, ci, CA_HALFOPME)) {
anope_cmd_svsjoin(s_NickServ, u->nick, GLOBAL1, NULL);
send_cmd(s_HostServ, "CHGHOST %s %s", u->nick, HELPERHOST);
notice(s_NickServ, u->nick, "MUHABBET Kanalinin Gorevlisi oldugunuz icin #Ops kanalina yonlendirildiniz, Vhost'unuz %s olarak duzenlendi.", YONETIM, HELPERHOST);
 
}
ChannelInfo *cp = cs_findchan(RADYO);
if (check_access(u, cp, CA_HALFOP) || check_access(u, cp, CA_HALFOPME)) {
anope_cmd_svsjoin(s_NickServ, u->nick, GLOBAL1, NULL);
anope_cmd_svsjoin(s_NickServ, u->nick, RADIO1, NULL);
send_cmd(s_HostServ, "CHGHOST %s %s", u->nick, DJHOST);
notice(s_NickServ, u->nick, "DJ oldugunuz icin #DJ kanalina yonlendirildiniz, Vhost'unuz %s olarak duzenlendi.", RADYO, DJHOST);
 
}
ChannelInfo *ce = cs_findchan(GLOBAL);
if (check_access(u, ce, CA_HALFOP) || check_access(u, ce, CA_HALFOPME)) {
anope_cmd_svsjoin(s_NickServ, u->nick, GLOBAL, NULL);
send_cmd(s_HostServ, "CHGHOST %s %s", u->nick, SOPHOST);
notice(s_NickServ, u->nick, "SOHBET Kanalinin Gorevlisi oldugunuz icin #Ops kanalina yonlendirildiniz, Vhost'unuz %s olarak duzenlendi.", GLOBAL, SOPHOST);
 
}
ChannelInfo *cn = cs_findchan(HELP);
if (check_access(u, cn, CA_HALFOP) || check_access(u, cn, CA_HALFOPME)) {
anope_cmd_svsjoin(s_NickServ, u->nick, HELP1, NULL);
send_cmd(s_HostServ, "CHGHOST %s %s", u->nick, HELPHOST);
notice(s_NickServ, u->nick, "YARISMA Kanalinin Gorevlisi oldugunuz icin #Ops kanalina yonlendirildiniz, Vhost'unuz %s olarak duzenlendi.", HELP, HELPHOST);
 
}
ChannelInfo *cm = cs_findchan(OYUN);
if (check_access(u, cm, CA_HALFOP) || check_access(u, cm, CA_HALFOPME)) {
anope_cmd_svsjoin(s_NickServ, u->nick, GLOBAL1, NULL);
send_cmd(s_HostServ, "CHGHOST %s %s", u->nick, OYUNHOST);
notice(s_NickServ, u->nick, "OYUN Kanalinin Gorevlisi oldugunuz icin #Ops kanalina yonlendirildiniz, Vhost'unuz %s olarak duzenlendi.", OYUN, OYUNHOST);
 
}
ChannelInfo *ck = cs_findchan(TEST);
if (check_access(u, ck, CA_HALFOP) || check_access(u, ck, CA_HALFOPME)) {
anope_cmd_svsjoin(s_NickServ, u->nick, GLOBAL1, NULL);
send_cmd(s_HostServ, "CHGHOST %s %s", u->nick, TESTHOST);
notice(s_NickServ, u->nick, "TEST Kanalinin Gorevlisi oldugunuz icin #Ops kanalina yonlendirildiniz, Vhost'unuz %s olarak duzenlendi.", TEST, TESTHOST);
 
}
ChannelInfo *cc = cs_findchan(CARKIFELEK);
if (check_access(u, cc, CA_HALFOP) || check_access(u, cc, CA_HALFOPME)) {
anope_cmd_svsjoin(s_NickServ, u->nick, GLOBAL1, NULL);
send_cmd(s_HostServ, "CHGHOST %s %s", u->nick, CARKIFELEKHOST);
notice(s_NickServ, u->nick, "CARKIFELEK Kanalinin Gorevlisi oldugunuz icin #Ops kanalina yonlendirildiniz, Vhost'unuz %s olarak duzenlendi.", CARKIFELEK, CARKIFELEKHOST);
 
}
ChannelInfo *cq = cs_findchan(ISLAM);
if (check_access(u, cq, CA_HALFOP) || check_access(u, cq, CA_HALFOPME)) {
anope_cmd_svsjoin(s_NickServ, u->nick, GLOBAL1, NULL);
send_cmd(s_HostServ, "CHGHOST %s %s", u->nick, ISLAMHOST);
notice(s_NickServ, u->nick, "ISLAM Kanalinin Gorevlisi oldugunuz icin #Ops kanalina yonlendirildiniz, Vhost'unuz %s olarak duzenlendi.", ISLAM, ISLAMHOST);
 
}
ChannelInfo *cr = cs_findchan(YARISMA);
if (check_access(u, cr, CA_HALFOP) || check_access(u, cr, CA_HALFOPME)) {
anope_cmd_svsjoin(s_NickServ, u->nick, GLOBAL1, NULL);
send_cmd(s_HostServ, "CHGHOST %s %s", u->nick, YARISMAHOST);
notice(s_NickServ, u->nick, "YARISMA Kanalinin Gorevlisi oldugunuz icin #Ops kanalina yonlendirildiniz, Vhost'unuz %s olarak duzenlendi.", YARISMA, YARISMAHOST);
 
}
return MOD_CONT;
}
void AnopeFini(void)
{
alog("%s: ns_global%s: Module Unloaded.", s_NickServ, MODULE_EXT);
}
/* EOF */

Bunu nasıl yapabiliriz Acaba Hocam..
Hostuna Nick Vericek Sonra Opsa opu sopsa sopu halposa halfopu yazıcak

Yetkisini Yazdıramasak bile. Oto host verdiğinde Nickleri Yazsa oda yeterli.. Diğer Türlü Tüm opların Hostları aynı oluyor


Ben sana bir örnek vereyim, sen o örneği hepsine uygularsin.
Kod:


 
if (check_access(u, cr, CA_HALFOP) || check_access(u, cr, CA_HALFOPME)) {
anope_cmd_svsjoin(s_NickServ, u->nick, GLOBAL1, NULL);
send_cmd(s_HostServ, "CHGHOST %s %s.%s", u->nick, u->nick,  YARISMAHOST);
notice(s_NickServ, u->nick, "YARISMA Kanalinin Gorevlisi oldugunuz icin #Ops kanalina yonlendirildiniz, Vhost'unuz %s olarak duzenlendi.", YARISMA, YARISMAHOST);
 
}


Yani host kısmını;

Kod:

send_cmd(s_HostServ, "CHGHOST %s %s.%s", u->nick, u->nick,  YARISMAHOST);
yapacaksin. hostu, nick.yarismahost.sunucu.com

gibi olacaktir.


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

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk