aLtimod |
16 Aralık 2020 22:04 |
Access Kabul (IrcServices)
Yapmamız gereken
SSH Login ol.
cd ircservices-5.0.xx
pico lang/tr.l
Kod:
CHAN_ACCESS_ADDED
%s nick'i %s kanalinin erisim listesine %d seviyeden eklendi.
Bu satırları bulup şu şekilde değiştirin
Kod:
CHAN_ACCESS_ADDED
%s nick'ine %s kanalinin erisim listesine %d seviyeden eklenmesi için Kabul Mesajı Gönderildi.
-
Kod:
CHAN_ACCESS_LIST_HEADER
%s Kanali Erisim Listesi:
Sira Seviye Nick
CHAN_ACCESS_LIST_FORMAT
%4d %4d %s
Bu satırları bulup şu şekilde değiştirin
Kod:
CHAN_ACCESS_LIST_HEADER
%s Kanali Erisim Listesi:
Sira Seviye Nick Durum
CHAN_ACCESS_LIST_FORMAT
%4d %4d %s %s
-
Kod:
CHAN_XOP_ADDED
%s %s %s listesine eklendi.
Bu satırları bulup şu şekilde değiştirin
Kod:
CHAN_XOP_ADDED
%s nickine %s %s listesine eklenmesi için Kabul Mesajı Gönderildi.
-
Kod:
CHAN_XOP_LIST_HEADER
%s %s listesi:
Sira Nick
CHAN_XOP_LIST_FORMAT
%4d %s
Bu satırları bulup şu şekilde değiştirin
Kod:
CHAN_XOP_LIST_HEADER
%s %s listesi:
Sira Nick Durum
CHAN_XOP_LIST_FORMAT
%4d %s %s
pico modules\chanserv\access-levels.c
Kod:
int is_list; /* Is true when command is either LIST or COUNT */
Bu Satırları bulup bir üstüne şu satırı ekleyin
-
Kod:
notice_lang(s_ChanServ, u, CHAN_ACCESS_ADDED, nick, chan, level);
Bu satırı bulup bir altına şu satırları ekleyin
Kod:
sky = get_user(nick);
if (sky) {
if (user_identified(sky)) {
send_cmd(s_ChanServ, "NOTICE %s :%s Nicki %s Kanalında Size Access Ekledi.", sky->nick, u->nick, chan);
send_cmd(s_ChanServ, "NOTICE %s :Kabul Etmek için /chanserv kabul %s e Yaziniz.", sky->nick, chan);
send_cmd(s_ChanServ, "NOTICE %s :Reddetmek için /chanserv kabul %s h Yaziniz.", sky->nick, chan);
}
}
-
Kod:
static int access_list(User *u, int index, ChannelInfo *ci, int *sent_header)
{
ChanAccess *access = &ci->access[index];
NickGroupInfo *ngi;
if (!access->nickgroup)
return RET_NOENTRY;
if (!(ngi = get_ngi_id(access->nickgroup)))
return RET_INTERR;
if (!*sent_header) {
notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_HEADER, ci->name);
*sent_header = 1;
}
notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_FORMAT,
index+1, access->level, ngi_mainnick(ngi));
return RET_LISTED;
}
Bu satırları bulup şu şekilde değiştirin
Kod:
static int access_list(User *u, int index, ChannelInfo *ci, int *sent_header)
{
ChanAccess *access = &ci->access[index];
NickGroupInfo *ngi;
if (!access->nickgroup)
return RET_NOENTRY;
if (!(ngi = get_ngi_id(access->nickgroup)))
return RET_INTERR;
if (!*sent_header) {
notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_HEADER, ci->name);
*sent_header = 1;
}
if (access->kabul==0)
notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_FORMAT,
index+1, access->level, ngi_mainnick(ngi), "<Beklemede>");
else if (access->kabul==1)
notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_FORMAT,
index+1, access->level, ngi_mainnick(ngi), "<Kabul Edildi>");
return RET_LISTED;
}
pico modules\chanserv\access-xop.c
Kod:
const char *listname = XOP_LISTNAME(level);
Bu Satıri bulup bir üstüne şu satırı ekleyin
-
Kod:
notice_lang(s_ChanServ, u, CHAN_XOP_ADDED, nick, chan, listname);
Bu satırı bulup bir altına şu satırları ekleyin
Kod:
sky = get_user(nick);
if (sky) {
if (user_identified(sky)) {
send_cmd(s_ChanServ, "NOTICE %s :%s Nicki %s Kanalında Size Access Ekledi.", sky->nick, u->nick, chan);
send_cmd(s_ChanServ, "NOTICE %s :Kabul Etmek için /chanserv kabul %s e Yaziniz.", sky->nick, chan);
send_cmd(s_ChanServ, "NOTICE %s :Reddetmek için /chanserv kabul %s h Yaziniz.", sky->nick, chan);
}
}
-
Kod:
static int xop_list(User *u, int index, ChannelInfo *ci, int *sent_header,
int relindex)
{
ChanAccess *access = &ci->access[index];
NickGroupInfo *ngi;
if (!(ngi = get_ngi_id(access->nickgroup)))
return 0;
if (!*sent_header) {
notice_lang(s_ChanServ, u, CHAN_XOP_LIST_HEADER,
XOP_LISTNAME(access->level), ci->name);
*sent_header = 1;
}
notice_lang(s_ChanServ, u, CHAN_XOP_LIST_FORMAT, relindex,
ngi_mainnick(ngi));
return 1;
}
Bu satırları bulup şu şekilde değiştirin
Kod:
static int xop_list(User *u, int index, ChannelInfo *ci, int *sent_header,
int relindex)
{
ChanAccess *access = &ci->access[index];
NickGroupInfo *ngi;
if (!(ngi = get_ngi_id(access->nickgroup)))
return 0;
if (!*sent_header) {
notice_lang(s_ChanServ, u, CHAN_XOP_LIST_HEADER,
XOP_LISTNAME(access->level), ci->name);
*sent_header = 1;
}
if (access->kabul==0)
notice_lang(s_ChanServ, u, CHAN_XOP_LIST_FORMAT, relindex,
ngi_mainnick(ngi), "<Beklemede>");
else if (access->kabul==1)
notice_lang(s_ChanServ, u, CHAN_XOP_LIST_FORMAT, relindex,
ngi_mainnick(ngi), "<Kabul Edildi>");
return 1;
}
pico modules\chanserv\access.c
Kod:
if (ci->access[i].nickgroup == id)
Bu satırları bulup şu şekilde değiştirin
Kod:
if (ci->access[i].kabul==1)
Kod:
ci->access[i].nickgroup = ni->nickgroup;
ci->access[i].level = level;
bu satırları bulup hemen altına şu kodu ekleyiniz
Kod:
ci->access[i].kabul = 0;
pico modules\chanserv\chanserv.h
bu kodu bulup hemen altına şu kodu ekleyin
-
bu kodu bulup hemen altına şu kodu ekleyin
Kod:
ChanAccess *accesstemp;
pico modules\chanserv\main.c
Kod:
static void do_status(User *u);
bu satırı bulup hemen altına şu satırı ekleyin
Kod:
static void do_kabul(User *u);
-
Kod:
{ "UNSUSPEND",do_unsuspend,is_services_admin, -1,
-1, CHAN_OPER_HELP_UNSUSPEND },
bu satırları bulup hemen altına şu satırı ekleyin
Kod:
{ "KABUL", do_kabul, NULL, -1,-1, -1 },
-
Kod:
static void do_help(User *u)
{
bu satırları bulup hemen bir üstüne şu kodu ekleyin
Kod:
static void do_kabul(User *u) {
//char *cmd = strtok_remaining();
char *kanal = strtok(NULL, " ");
char *secim = strtok(NULL, " ");
int sec;
ChannelInfo *ci;
NickInfo *ni=u->ni;
int bulunan=0;
int i=0;
if (!kanal) {
send_cmd(s_ChanServ, "NOTICE %s :Kullanımı : KABUL #Kanal e/h", u->nick);
return;
}
ci = get_channelinfo(kanal);
if (strcmp(kanal, "#") == 0) {
notice_lang(s_ChanServ, u, CHAN_REGISTER_SHORT_CHANNEL);
} else if (*kanal == '&') {
notice_lang(s_ChanServ, u, CHAN_REGISTER_NOT_LOCAL);
} else if ((*kanal != '#') && stricmp(kanal, "list")) {
notice_lang(s_ChanServ, u, CHAN_REGISTER_INVALID_NAME);
} else if (!ni) {
notice_lang(s_ChanServ, u, CHAN_MUST_REGISTER_NICK, s_NickServ);
} else if (!user_identified(u)) {
notice_lang(s_ChanServ, u, CHAN_MUST_IDENTIFY_NICK,
s_NickServ, s_NickServ);
} else if (stricmp(kanal, "list") == 0) {
for (ci = first_channelinfo(); ci; ci = next_channelinfo()) {
if (ci->flags & (CI_VERBOTEN))
continue;
if (ci->suspendinfo)
continue;
ARRAY_SEARCH_SCALAR(ci->access, nickgroup, u->ngi->id, i);
if (i != ci->access_count) {
if (ci->access[i].kabul==0) {
send_cmd(s_ChanServ, "NOTICE %s :%s Kanalında Bekleyen Bir Access isteği Bulundu..", u->nick, ci->name);
send_cmd(s_ChanServ, "NOTICE %s :Kabul Etmek için /chanserv kabul %s e Yazınız.", u->nick, ci->name);
send_cmd(s_ChanServ, "NOTICE %s :Reddetmek için /chanserv kabul %s h Yazınız.", u->nick, ci->name);
send_cmd(s_ChanServ, "NOTICE %s :-", u->nick);
}
}
}
return;
}
else if (ci == NULL) {
notice_lang(s_ChanServ, u, CHAN_X_NOT_REGISTERED, kanal);
}
else {
if (!secim) {
send_cmd(s_ChanServ, "NOTICE %s :Kullanımı : KABUL #Kanal e/h", u->nick);
return;
}
if (stricmp(secim, "h") == 0)
sec=0;
else if (stricmp(secim, "e") == 0)
sec=1;
else {
send_cmd(s_ChanServ, "NOTICE %s :Kullanımı : KABUL #Kanal e/h", u->nick);
return;
}
if (ci->flags & CI_VERBOTEN) {
send_cmd(s_ChanServ, "NOTICE %s :Bu Kanal Yasaklı Bir Kanaldır, Komutunuzu Gözden Geçiriniz.", u->nick);
return;
} else if (ci->suspendinfo) {
send_cmd(s_ChanServ, "NOTICE %s :Bu Kanal Suspendli Bir Kanaldır, Komutunuzu Gözden Geçiriniz.", u->nick);
return;
}
ARRAY_FOREACH (i, ci->access) {
if (ci->access[i].nickgroup == ni->nickgroup) {
if (sec==1) {
if (ci->access[i].kabul==0) {
ci->access[i].kabul=1;
send_cmd(s_ChanServ, "NOTICE %s :%s Kanalı için Access Eklemesi Kabul Edildi.", u->nick, kanal);
}
else if (ci->access[i].kabul==1) {
send_cmd(s_ChanServ, "NOTICE %s :%s Kanalı için Access Eklemesini Zaten Kabul Etmişsiniz.", u->nick, kanal);
}
else {
send_cmd(s_ChanServ, "NOTICE %s :%s Kanalı için Nickinize Ait Bekleyen Access isteği Yok.", u->nick, kanal);
}
put_channelinfo(ci);
bulunan=1;
break;
}
else {
if (ci->access[i].kabul==0) {
send_cmd(s_ChanServ, "NOTICE %s :%s Kanalındaki Bekleyen Access isteğiniz Silindi.", u->nick, kanal);
ARRAY_REMOVE(ci->access, i);
put_channelinfo(ci);
bulunan=1;
}
break;
}
}
}
if (bulunan==0)
send_cmd(s_ChanServ, "NOTICE %s :Nickiniz için %s Kanalında Bekleyen Bir Access isteği Yok.", u->nick, kanal);
}
}
pico modules\nickserv\main.c
Kod:
#include "modules/operserv/operserv.h"
bu kodu bulup hemen altına şu kodu ekleyin
Kod:
#include "modules/chanserv/chanserv.h"
-
bu kodu bulup hemen altına şu kodu ekleyin
-
Kod:
static void do_identify(User *u)
{
char *pass = strtok_remaining();
NickInfo *ni = NULL;
NickGroupInfo *ngi = NULL;
bu satırları bulup hemen altına şu 3 satırı ekleyiniz
Kod:
ChannelInfo *ci;
int i;
int toplam=0;
-
Kod:
notice_lang(s_NickServ, u, NICK_IDENTIFY_SUCCEEDED);
bu satırı bulup hemen bir altına şu satırları ekleyiniz
Kod:
for (ci = first_channelinfo(); ci; ci = next_channelinfo()) {
if (ci->flags & (CI_VERBOTEN))
continue;
if (ci->suspendinfo)
continue;
ARRAY_SEARCH_SCALAR(ci->access, nickgroup, u->ngi->id, i);
if (i != ci->access_count) {
if (ci->access[i].kabul==0)
toplam++;
}
}
if (toplam!=0) {
send_cmd(s_ChanServ, "NOTICE %s :%d Adet Bekleyen Access Kabul isteğiniz Var.", u->nick, toplam);
send_cmd(s_ChanServ, "NOTICE %s :istekleri Listelemek için /chanserv kabul list Komutunu Uygulayınız.", u->nick);
}
pico modules\database\version4.c
Kod:
SAFE(write_int16(convert_new_level(ci->access[i].level), f));
bu satırı bulup altına şu satırı ekleyiniz
Kod:
SAFE(write_int32(ci->access[i].kabul, f));
pico modules\database\version4.c
Kod:
ci->access[i].level = convert_old_level(lev);
bu satırı bulup hemen altına şu satırı ekleyiniz
Kod:
SAFE(read_int32(&ci->access[i].kabul, f));
Bu işlemler bittikten sonra.
make
make install
komutlarını uygulayıp servislerinizi aktif ediniz.
Not : tr.l de yapacağınız değişikliklerde "tab" lara dikkat ediniz.
Not : dosyaları ftp' den çekip not defterinde veya başka bir editörde yapmanız daha iyi olacaktır. Satır kaymasına dikkat edelim..
iyi forumlar dilerim.
|