Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
| Cevap: /cs temizle #kanal
| Sky-Dancer Nickli Üyeden Alıntı
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. |
Anope için olanda: Kod: Kodu kopyalamak için üzerine çift tıklayın! int do_TEMIZLE(User * u)
{
char *chan = strtok(NULL, " ");
Channel *c;
ChannelInfo *ci;
if (!chan) {
syntax_error(s_ChanServ, u, "TEMIZLE", CHAN_HELP_TEMIZLE);
} else if (!(c = findchan(chan))) {
notice_lang(s_ChanServ, u, CHAN_X_NOT_IN_USE, chan);
} else if (!(ci = c->ci)) {
notice_lang(s_ChanServ, u, CHAN_X_NOT_REGISTERED, chan);
} else if (!ci->bi) {
notice_help(s_BotServ, u, BOT_NOT_ASSIGNED);
} else if (ci->flags & CI_VERBOTEN) {
notice_lang(s_ChanServ, u, CHAN_X_FORBIDDEN, chan);
} else if (!check_access(u, ci, CA_UNBAN)) {
notice_lang(s_ChanServ, u, PERMISSION_DENIED);
} else {
anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi);
anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi);
anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi);
anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi);
anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi);
anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi);
anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi);
anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi);
anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi);
anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi);
anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi);
anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi);
anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi);
anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi);
anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi);
anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi);
anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi);
anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi);
anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi);
anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi);
anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi);
anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi);
anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi);
notice(s_NickServ, u->nick, "Kanal Temizlendi");
}
return MOD_CONT;
} bu satırları şu şekilde değiştirirseniz; hem fazladan kod derdi olmayacaktır, hem de irc üzerinde oper girişi yapmış olan kişiler veya Unban yetkisine sahip olan kişiler bu komutu uygulayabileceklerdir. Kod: Kodu kopyalamak için üzerine çift tıklayın! int do_TEMIZLE(User * u)
{
int i=0;
char *chan = strtok(NULL, " ");
Channel *c;
ChannelInfo *ci;
if (!chan) {
syntax_error(s_ChanServ, u, "TEMIZLE", CHAN_HELP_TEMIZLE);
} else if (!(c = findchan(chan))) {
notice_lang(s_ChanServ, u, CHAN_X_NOT_IN_USE, chan);
} else if (!(ci = c->ci)) {
notice_lang(s_ChanServ, u, CHAN_X_NOT_REGISTERED, chan);
} else if (!ci->bi) {
notice_help(s_BotServ, u, BOT_NOT_ASSIGNED);
} else if (ci->flags & CI_VERBOTEN) {
notice_lang(s_ChanServ, u, CHAN_X_FORBIDDEN, chan);
} else if (!check_access(u, ci, CA_UNBAN) && !isoper(u)) {
notice_lang(s_ChanServ, u, PERMISSION_DENIED);
} else {
for (i=0; i<40; i++)
anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi);
notice(s_NickServ, u->nick, "Kanal Temizlendi");
}
return MOD_CONT;
} Irc-Services için olanda: Kod: Kodu kopyalamak için üzerine çift tıklayın! static void do_baho(User *u)
{
char *chan = strtok(NULL, " ");
Channel *c;
ChannelInfo *ci;
if (!chan || strtok(NULL, " ")) {
notice(s_ChanServ, u->nick, "Kullanimi: /msg %s TEMIZLE kanal", s_ChanServ);
notice(s_ChanServ, u->nick, "Daha fazla bilgi icin /msg %s help TEMIZLE yazabilirsiniz.", s_ChanServ);
} else if (!(c = get_channel(chan))) {
notice_lang(s_ChanServ, u, CHAN_X_NOT_IN_USE, chan);
} else if (!(ci = c->ci)) {
notice_lang(s_ChanServ, u, CHAN_X_NOT_REGISTERED, chan);
} else if (ci->flags & CI_VERBOTEN) {
notice_lang(s_ChanServ, u, CHAN_X_FORBIDDEN, chan);
} else if (!u || !check_access_cmd(u, ci, "TEMIZLE", NULL)) {
notice_lang(s_ChanServ, u, PERMISSION_DENIED);
return;
} else if (c->ci && check_access(u, c->ci, CA_AUTOOP)) {
send_cmd(s_ChanServ, "NOTICE %s :kanali temizleniyor. Komutu uygulayan %s!", chan, u->nick);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :Kanaliniz temizlenmistir.", chan);
}
} bu satırları şu şekilde değiştirirseniz; hem fazladan kod derdi olmayacaktır, hem de irc üzerinde oper girişi yapmış olan kişiler veya Unban yetkisine sahip olan kişiler bu komutu uygulayabileceklerdir. Kod: Kodu kopyalamak için üzerine çift tıklayın! static void do_baho(User *u)
{
int i=0;
char *chan = strtok(NULL, " ");
Channel *c;
ChannelInfo *ci;
if (!chan || strtok(NULL, " ")) {
notice(s_ChanServ, u->nick, "Kullanimi: /msg %s TEMIZLE kanal", s_ChanServ);
notice(s_ChanServ, u->nick, "Daha fazla bilgi icin /msg %s help TEMIZLE yazabilirsiniz.", s_ChanServ);
} else if (!(c = get_channel(chan))) {
notice_lang(s_ChanServ, u, CHAN_X_NOT_IN_USE, chan);
} else if (!(ci = c->ci)) {
notice_lang(s_ChanServ, u, CHAN_X_NOT_REGISTERED, chan);
} else if (ci->flags & CI_VERBOTEN) {
notice_lang(s_ChanServ, u, CHAN_X_FORBIDDEN, chan);
} else if (!u || !check_access_cmd(u, ci, "TEMIZLE", NULL)) {
notice_lang(s_ChanServ, u, PERMISSION_DENIED);
return;
} else if (c->ci && (check_access(u, c->ci, CA_AUTOOP) || isoper(u))) {
send_cmd(s_ChanServ, "NOTICE %s :kanali temizleniyor. Komutu uygulayan %s!", chan, u->nick);
for (i=0; i<40; i++)
send_cmd(s_ChanServ, "PRIVMSG %s :.", chan);
send_cmd(s_ChanServ, "PRIVMSG %s :Kanaliniz temizlenmistir.", chan);
}
} 2 kodu da denemedim fakat, çalışması gerekir bu kodların..
iyi Çalışmalar..
| } else if (c->ci && (check_access(u, c->ci, CA_AUTOOP) || isoper(u))) {
şu satırdaki isoper bölümü is_oper olarak değişirse hata vermiyor, sanırım skydancer'ın gözünden kaçmış.
Ayrıca;
ircservices-5.0.59]$ make
make[1]: Entering directory `/home/user/ircservices-5.0.59/modules'
make[2]: Entering directory `/home/user/ircservices-5.0.59/modules/chanserv'
cd ../.. && gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-buil tin-log -I. -c modules/chanserv/main.c -o modules/chanserv/main.o modules/chanserv/main.c: In function âdo_suspendâ:
modules/chanserv/main.c:1686: warning: format â%sâ expects type âchar *â, but ar gument 5 has type âtime_tâ
touch .stamp
gibi bir uyarı verip umursama***** devam ettiği bir mesaj var konu ile alakalı bir durum kodu eklemeden önce böyle bir hata vermiyordu önerilere açığım.
Kolay gelsin iyi çalışmalar. |