YozGatLı | 20 Ekim 2013 01:46 | Cevap: Rulzz Servicesin düşmesi. modules/nickserv/main.c: In function âdo_registerâ:
modules/nickserv/main.c:691: warning: too many arguments for format
modules/nickserv/main.c: In function âdo_kanalâ:
modules/nickserv/main.c:1335: warning: too many arguments for format
modules/nickserv/main.c: In function âdo_identifyâ:
modules/nickserv/main.c:2212: warning: too few arguments for format
modules/nickserv/main.c:2242: warning: too many arguments for format
modules/nickserv/main.c:2243: warning: too many arguments for format
modules/nickserv/main.c:2244: warning: too many arguments for format
modules/nickserv/main.c:2245: warning: too many arguments for format
modules/nickserv/main.c:2246: warning: too many arguments for format
modules/nickserv/main.c:2247: warning: too many arguments for format
modules/nickserv/main.c:2248: warning: too many arguments for format
modules/nickserv/main.c: In function âdo_infoâ:
modules/nickserv/main.c:3193: warning: too many arguments for format
modules/nickserv/main.c:3194: warning: too many arguments for format
modules/nickserv/main.c:3195: warning: too many arguments for format
modules/nickserv/main.c:3196: warning: too many arguments for format
Make&&make install komutlarını uyguladıktan sonra aldıgımız hata burda . Ama nedense main.c 2212 satırından tutunki 3196 satırları arasında hatalar mevcut.
Bizde olan main.c dosyamız bu . PHP- Kodu: /* Main NickServ module.
*
* IRC Services is copyright (c) 1996-2007 Andrew Church.
* E-mail: <achurch[MENTION=117372]ach[/MENTION]urch.org>
* Parts written by Andrew Kempe and others.
* This program is free but copyrighted software; see the file COPYING for
* details.
*/
#include "services.h"
#include "modules.h"
#include "conffile.h"
#include "language.h"
#include "commands.h"
#include "encrypt.h"
#include "modules/operserv/operserv.h"
#include "modules/chanserv/chanserv.h"
#include "modules/mail/mail.h"
#include "nickserv.h"
#include "ns-local.h"
#define SUNUCU "MaviChat.NET"
#define motdoku "motd.txt"
/*************************************************************************/
static Module *module;
static int cb_command = -1;
static int cb_help = -1;
static int cb_help_cmds = -1;
int cb_reglink_check = -1; /* called from util.c */
static int cb_registered = -1;
static int cb_id_check = -1;
static int cb_identified = -1;
//t
static int db_opened = 0;
char *s_NickServ;
static char *desc_NickServ;
static char *NickDBName;
EXPORT_VAR(char *,s_NickServ)
int32 NSRegEmailMax;
int NSRequireEmail;
time_t NSRegDelay;
time_t NSInitialRegDelay;
int32 NSDefFlags;
time_t N***pire;
time_t N***pireWarning;
int NSShowPassword;
char * NSEnforcerUser;
char * NSEnforcerHost;
int NSForceNickChange;
time_t NSReleaseTimeout;
int NSAllowKillImmed;
int NSListOpersOnly;
int32 NSListMax;
int NSSecureAdmins;
time_t NSSuspendExpire;
time_t NSSuspendGrace;
static int NSHelpWarning;
static int NSEnableDropEmail;
static time_t NSDropEmailExpire;
/*************************************************************************/
static void do_help(User *u);
static void do_droplist(User *u);
static void do_yerelsaat(User *u);
static void do_bilgi(User *u);
static void do_nickinfo(User *u);
static void do_register(User *u);
static void do_check(User *u);
static void do_profil(User *u);
static void do_sehirler(User *u);
static void do_burclar(User *u);
static void do_yaslar(User *u);
static void do_motd(User *u);
static void do_durum(User *u);
static void do_durumlar(User *u);
static void do_killoku(User *u);
static void do_takimlar(User *u);
static void do_vhosthelp(User *u);
static void do_vhostlist(User *u);
static void do_mesajlist(User *u);
static void do_vhostlists(User *u);
static void do_sayilar(User *u);
static void do_sans(User *u);
static void do_kanal(User *u);
static void do_helpop(User *u);
static void do_operhelp(User *u);
static void do_killat(User *u);
static void do_points(User *u);
static void do_identify(User *u);
static void do_drop(User *u);
static void do_dropnick(User *u);
static void do_dropemail(User *u);
static void do_dropemail_confirm(User *u);
static void do_info(User *u);
static void do_oneri(User *u);
static void do_oneriler(User *u);
static void do_istek(User *u);
static void do_istekler(User *u);
static void do_sikayet(User *u);
static void do_sikayetler(User *u);
static void do_suspendlist(User *u);
static void do_listchans(User *u);
static void do_list(User *u);
static void do_listemail(User *u);
static void do_recover(User *u);
static void do_release(User *u);
static void do_ghost(User *u);
static void do_toxic(User *u);
static void do_status(User *u);
static void do_getpass(User *u);
static void do_forbid(User *u);
static void do_suspend(User *u);
static void do_unsuspend(User *u);
#ifdef DEBUG_COMMANDS
static void do_listnick(User *u);
#endif
/*************************************************************************/
static Command cmds[] = {
{ "HELP", do_help, NULL, -1, -1,-1 },
{ "REGISTER", do_register, NULL, NICK_HELP_REGISTER, -1,-1 },
{ "YERELSAAT", do_yerelsaat, NULL, -1, -1,-1 },
{ "BILGI", do_bilgi, NULL, -1, -1,-1 },
{ "NICKINFO", do_nickinfo, NULL, -1, -1,-1 },
{ "CHECK", do_check, NULL, -1, -1,-1 },
{ "DURUM", do_durum, NULL, -1, -1,-1 },
{ "DURUMLAR", do_durumlar, NULL, -1, -1,-1 },
{ "IDENTIFY", do_identify, NULL, NICK_HELP_IDENTIFY, -1,-1 },
{ "VHOSTHELP", do_vhosthelp, NULL, -1, -1,-1 },
{ "VHOSTLIST", do_vhostlist, NULL, -1, -1,-1 },
{ "VHOSTLISTS", do_vhostlists, NULL, -1, -1,-1 },
{ "MESAJLIST", do_mesajlist, NULL, -1, -1,-1 },
{ "HELPOP", do_helpop, NULL, -1, -1,-1 },
{ "OPERHELP", do_operhelp, NULL, -1, -1,-1 },
{ "KILLAT", do_killat, NULL, -1, -1,-1 },
{ "POINTS", do_points, NULL, -1, -1,-1 },
{ "DROPLIST", do_droplist, NULL, -1, -1,-1 },
{ "SAYILAR", do_sayilar, NULL, -1, -1,-1 },
{ "SANS", do_sans, NULL, -1, -1,-1 },
{ "KANAL", do_kanal, NULL, -1, -1,-1 },
{ "SEHIRLER", do_sehirler, NULL, -1, -1,-1 },
{ "BURCLAR", do_burclar, NULL, -1, -1,-1 },
{ "YASLAR", do_yaslar, NULL, -1, -1,-1 },
{ "TAKIMLAR", do_takimlar, NULL, -1, -1,-1 },
{ "PROFIL", do_profil, NULL, -1, -1,-1 },
{ "MOTD", do_motd, NULL, -1, -1,-1 },
{ "KILLOKU", do_killoku, NULL, -1, -1,-1 },
{ "SIDENTIFY",do_identify, NULL, -1, -1,-1 },
{ "DROP", do_drop, NULL, NICK_HELP_DROP, -1,-1 },
{ "ISTEK", do_istek, NULL, -1, -1,-1 },
{ "SIKAYET", do_sikayet, NULL, -1, -1,-1 },
{ "ONERI", do_oneri, NULL, -1, -1,-1 },
{ "ISTEKLER", do_istekler, NULL, -1, -1,-1 },
{ "ONERILER", do_oneriler, NULL, -1, -1,-1 },
{ "SIKAYETLER", do_sikayetler, NULL, -1, -1,-1 },
{ "SUSPENDLIST", do_suspendlist, NULL, -1, -1,-1 },
{ "SET HELPER", NULL, NULL, -1 -1,-1 },
{ "SET VIP", NULL, NULL, -1 -1,-1 },
{ "SET", do_set, NULL, NICK_HELP_SET,
-1, NICK_OPER_HELP_SET },
{ "SET PASSWORD", NULL, NULL, NICK_HELP_SET_PASSWORD, -1,-1 },
{ "SET URL", NULL, NULL, NICK_HELP_SET_URL, -1,-1 },
{ "SET EMAIL", NULL, NULL, NICK_HELP_SET_EMAIL, -1,-1 },
{ "SET INFO", NULL, NULL, NICK_HELP_SET_INFO, -1,-1 },
{ "SET FACEBOOK", NULL, NULL, -1, -1,-1 },
{ "SET HOST", NULL, NULL, -1 -1,-1 },
{ "SET MESAJ", NULL, NULL, -1 -1,-1 },
{ "SET YAS", NULL, NULL, -1, -1,-1 },
{ "SET BURC", NULL, NULL, -1, -1,-1 },
{ "SET SEHIR", NULL, NULL, -1, -1,-1 },
{ "SET TAKIM", NULL, NULL, -1, -1,-1 },
{ "SET DURUM", NULL, NULL, -1, -1,-1 },
{ "SET KILL", NULL, NULL, NICK_HELP_SET_KILL, -1,-1 },
{ "SET SECURE", NULL, NULL, NICK_HELP_SET_SECURE, -1,-1 },
{ "SET PRIVATE", NULL, NULL, NICK_HELP_SET_PRIVATE, -1,-1 },
{ "SET HIDE", NULL, NULL, NICK_HELP_SET_HIDE, -1,-1 },
{ "SET TIMEZONE", NULL, NULL, NICK_HELP_SET_TIMEZONE, -1,-1 },
{ "SET NOEXPIRE", NULL, NULL, -1, -1,
NICK_OPER_HELP_SET_NOEXPIRE },
{ "UNSET", do_unset, NULL, NICK_HELP_UNSET,
-1, NICK_OPER_HELP_UNSET },
{ "RECOVER", do_recover, NULL, NICK_HELP_RECOVER, -1,-1 },
{ "RELEASE", do_release, NULL, NICK_HELP_RELEASE, -1,-1 },
{ "GHOST", do_ghost, NULL, NICK_HELP_GHOST, -1,-1 },
{ "INFO", do_info, NULL, NICK_HELP_INFO,
-1, NICK_OPER_HELP_INFO },
{ "toxic", do_toxic, NULL, -1, -1,-1 },
{ "LIST", do_list, NULL, -1,
NICK_HELP_LIST, NICK_OPER_HELP_LIST },
{ "LISTEMAIL",do_listemail,NULL, -1,
NICK_HELP_LISTEMAIL, NICK_OPER_HELP_LISTEMAIL },
{ "STATUS", do_status, NULL, NICK_HELP_STATUS, -1,-1 },
{ "LISTCHANS",do_listchans,NULL, NICK_HELP_LISTCHANS,
-1, NICK_OPER_HELP_LISTCHANS },
{ "DROPNICK", do_dropnick, is_services_admin, -1,
-1, NICK_OPER_HELP_DROPNICK },
{ "DROPEMAIL",do_dropemail,is_services_admin, -1,
-1, NICK_OPER_HELP_DROPEMAIL },
{ "DROPEMAIL-CONFIRM", do_dropemail_confirm, is_services_admin, -1,
-1, NICK_OPER_HELP_DROPEMAIL },
{ "GETPASS", do_getpass, is_services_admin, -1,
-1, NICK_OPER_HELP_GETPASS },
{ "FORBID", do_forbid, is_services_admin, -1,
-1, NICK_OPER_HELP_FORBID },
{ "SUSPEND", do_suspend, is_services_oper, -1,
-1, NICK_OPER_HELP_SUSPEND },
{ "UNSUSPEND",do_unsuspend,is_services_admin, -1,
-1, NICK_OPER_HELP_UNSUSPEND },
#ifdef DEBUG_COMMANDS
{ "LISTNICK", do_listnick, is_services_root, -1, -1, -1 },
#endif
{ NULL }
};
/*************************************************************************/
/************************ Main NickServ routines *************************/
/*************************************************************************/
/* Introduce the NickServ pseudoclient. */
static int introduce_nickserv(const char *nick)
{
if (!nick || irc_stricmp(nick, s_NickServ) == 0) {
char modebuf[BUFSIZE];
snprintf(modebuf, sizeof(modebuf), "o%s", pseudoclient_modes);
send_nick(s_NickServ, ServiceUser, ServiceHost, ServerName,
desc_NickServ, modebuf);
return nick ? 1 : 0;
}
return 0;
}
/*************************************************************************/
/* Main NickServ routine. */
static int nickserv(const char *source, const char *target, char *buf)
{
char *cmd;
User *u = get_user(source);
if (irc_stricmp(target, s_NickServ) != 0)
return 0;
if (!u) {
module_log("user record for %s not found", source);
notice(s_NickServ, source,
getstring(NULL, INTERNAL_ERROR));
return 1;
}
cmd = strtok(buf, " ");
if (!cmd) {
return 1;
} else if (stricmp(cmd, "\1PING") == 0) {
const char *s;
if (!(s = strtok(NULL, "")))
s = "\1";
notice(s_NickServ, source, "\1PING %s", s);
} else {
if (call_callback_2(module, cb_command, u, cmd) <= 0)
run_cmd(s_NickServ, u, module, cmd);
}
return 1;
}
/*************************************************************************/
/* Return a /WHOIS response for NickServ. */
static int nickserv_whois(const char *source, char *who, char *extra)
{
if (irc_stricmp(who, s_NickServ) != 0)
return 0;
send_cmd(ServerName, "311 %s %s %s %s * :%s", source, who,
ServiceUser, ServiceHost, desc_NickServ);
send_cmd(ServerName, "312 %s %s %s :%s", source, who,
ServerName, ServerDesc);
send_cmd(ServerName, "313 %s %s :is a network service", source, who);
send_cmd(ServerName, "318 %s %s End of /WHOIS response.", source, who);
return 1;
}
/*************************************************************************/
/* Save nickname database. */
static int do_save_data()
{
sync_nick_db(NickDBName);
return 0;
}
/*************************************************************************/
/*************************************************************************/
/* Callback for users connecting to the network. */
static int do_user_create(User *user, int ac, char **av)
{
validate_user(user);
return 0;
}
/*************************************************************************/
/* Callbacks for users changing nicknames (before and after). */
static int do_user_nickchange_before(User *user, const char *newnick)
{
/* Changing nickname case isn't a real change; pop out immediately
* in that case. */
if (irc_stricmp(newnick, user->nick) == 0)
return 0;
cancel_user(user);
return 0;
}
static int do_user_nickchange_after(User *user, const char *oldnick)
{
/* Changing nickname case isn't a real change; pop out immediately
* in that case. */
if (irc_stricmp(oldnick, user->nick) == 0)
return 0;
NickInfo *ni = NULL;
ni = get_nickinfo(user->nick);
if (!ni) {
send_cmd(s_NickServ, "NOTICE %s Secmis oldugunuz Nick kayitsizdir..", user->nick);
send_cmd(s_NickServ, "NOTICE %s Kaydetmek icin, /ns register nick sifre komutunu kullanabilirsiniz.", user->nick);
}
user->my_signon = time(NULL);
validate_user(user);
if (usermode_reg) {
if (user_identified(user)) {
send_cmd(s_NickServ, "SVSMODE %s :+%s", user->nick,
mode_flags_to_string(usermode_reg, MODE_USER));
user->mode |= usermode_reg;
} else {
send_cmd(s_NickServ, "SVSMODE %s :-%s", user->nick,
mode_flags_to_string(usermode_reg, MODE_USER));
user->mode &= ~usermode_reg;
}
}
return 0;
}
/*************************************************************************/
/* Callback for users disconnecting from the network. */
static int do_user_delete(User *user, const char *reason)
{
NickInfo *ni = user->ni;
int i, j;
if (user_recognized(user)) {
free(ni->last_quit);
ni->last_quit = *reason ? sstrdup(reason) : NULL;
put_nickinfo(ni);
}
ARRAY_FOREACH (i, user->id_nicks) {
NickGroupInfo *ngi = get_ngi_id(user->id_nicks[i]);
if (!ngi)
continue;
ARRAY_SEARCH_PLAIN_SCALAR(ngi->id_users, user, j);
if (j < ngi->id_users_count) {
ARRAY_REMOVE(ngi->id_users, j);
} else {
module_log("BUG: do_user_delete(): nickgroup %u listed in"
" id_nicks for user %p (%s), but user not in"
" id_users!", ngi->id, user, user->nick);
}
}
cancel_user(user);
return 0;
}
/*************************************************************************/
/* Callback for REGISTER/LINK check; we disallow registration/linking of
* the NickServ pseudoclient nickname or guest nicks. This is done here
* instead of in the routines themselves to avoid duplication of code at an
* insignificant performance cost.
*/
static int do_reglink_check(const User *u, const char *nick,
const char *pass, const char *email)
{
if ((protocol_features & PF_CHANGENICK) && is_guest_nick(nick)) {
/* Don't allow guest nicks to be registered or linked. This check
* has to be done regardless of the state of NSForceNickChange
* because other modules might take advantage of forced nick
* changing. */
return 1;
}
return irc_stricmp(nick, s_NickServ) == 0;
}
/*************************************************************************/
/*********************** NickServ command routines ***********************/
/*************************************************************************/
/* Return a help message. */
static void do_help(User *u)
{
char *cmd = strtok_remaining();
if (!cmd) {
notice_help(s_NickServ, u, NICK_HELP);
if (N***pire)
notice_help(s_NickServ, u, NICK_HELP_EXPIRES,
maketime(u->ngi,N***pire,0));
if (NSHelpWarning)
notice_help(s_NickServ, u, NICK_HELP_WARNING);
} else if (call_callback_2(module, cb_help, u, cmd) > 0) {
return;
} else if (stricmp(cmd, "COMMANDS") == 0) {
notice_help(s_NickServ, u, NICK_HELP_COMMANDS);
if (find_module("nickserv/mail-auth"))
notice_help(s_NickServ, u, NICK_HELP_COMMANDS_AUTH);
notice_help(s_NickServ, u, NICK_HELP_COMMANDS_IDENTIFY);
if (find_module("nickserv/sendpass"))
notice_help(s_NickServ, u, NICK_HELP_COMMANDS_SENDPASS);
notice_help(s_NickServ, u, NICK_HELP_COMMANDS_DROP);
if (find_module("nickserv/link"))
notice_help(s_NickServ, u, NICK_HELP_COMMANDS_LINK);
if (find_module("nickserv/oldlink"))
notice_help(s_NickServ, u, NICK_HELP_COMMANDS_OLDLINK);
if (find_module("nickserv/access"))
notice_help(s_NickServ, u, NICK_HELP_COMMANDS_ACCESS);
if (find_module("nickserv/autojoin"))
notice_help(s_NickServ, u, NICK_HELP_COMMANDS_AJOIN);
notice_help(s_NickServ, u, NICK_HELP_COMMANDS_SET);
if (!NSListOpersOnly)
notice_help(s_NickServ, u, NICK_HELP_COMMANDS_LIST);
notice_help(s_NickServ, u, NICK_HELP_COMMANDS_LISTCHANS);
call_callback_2(module, cb_help_cmds, u, 0);
if (is_oper(u)) {
notice_help(s_NickServ, u, NICK_OPER_HELP_COMMANDS);
if (NSEnableDropEmail)
notice_help(s_NickServ, u, NICK_OPER_HELP_COMMANDS_DROPEMAIL);
if (EnableGetpass)
notice_help(s_NickServ, u, NICK_OPER_HELP_COMMANDS_GETPASS);
notice_help(s_NickServ, u, NICK_OPER_HELP_COMMANDS_FORBID);
if (find_module("nickserv/oldlink"))
notice_help(s_NickServ, u, NICK_OPER_HELP_COMMANDS_LISTLINKS);
if (NSListOpersOnly)
notice_help(s_NickServ, u, NICK_HELP_COMMANDS_LIST);
if (find_module("nickserv/mail-auth"))
notice_help(s_NickServ, u, NICK_OPER_HELP_COMMANDS_SETAUTH);
call_callback_2(module, cb_help_cmds, u, 1);
notice_help(s_NickServ, u, NICK_OPER_HELP_COMMANDS_END);
}
} else if (stricmp(cmd, "REGISTER") == 0) {
notice_help(s_NickServ, u, NICK_HELP_REGISTER,
getstring(u->ngi,NICK_REGISTER_SYNTAX));
notice_help(s_NickServ, u, NICK_HELP_REGISTER_EMAIL);
notice_help(s_NickServ, u, NICK_HELP_REGISTER_END);
} else if (stricmp(cmd, "DROP") == 0) {
notice_help(s_NickServ, u, NICK_HELP_DROP);
if (find_module("nickserv/link") || find_module("nickserv/oldlink"))
notice_help(s_NickServ, u, NICK_HELP_DROP_LINK);
notice_help(s_NickServ, u, NICK_HELP_DROP_END);
} else if ((stricmp(cmd, "DROPEMAIL") == 0
|| stricmp(cmd, "DROPEMAIL-CONFIRM") == 0)
&& NSEnableDropEmail
&& is_oper(u)
) {
notice_help(s_NickServ, u, NICK_OPER_HELP_DROPEMAIL,
maketime(u->ngi,NSDropEmailExpire,0));
} else if (stricmp(cmd, "SET") == 0) {
notice_help(s_NickServ, u, NICK_HELP_SET);
if (find_module("nickserv/link"))
notice_help(s_NickServ, u, NICK_HELP_SET_OPTION_MAINNICK);
notice_help(s_NickServ, u, NICK_HELP_SET_END);
if (is_oper(u))
notice_help(s_NickServ, u, NICK_OPER_HELP_SET);
} else if (strnicmp(cmd, "SET", 3) == 0
&& isspace(cmd[3])
&& stricmp(cmd+4+strspn(cmd+4," \t"), "LANGUAGE") == 0) {
int i;
notice_help(s_NickServ, u, NICK_HELP_SET_LANGUAGE);
for (i = 0; i < NUM_LANGS && langlist[i] >= 0; i++) {
notice(s_NickServ, u->nick, " %2d) %s",
i+1, getstring_lang(langlist[i],LANG_NAME));
}
} else if (stricmp(cmd, "INFO") == 0) {
notice_help(s_NickServ, u, NICK_HELP_INFO);
if (find_module("nickserv/mail-auth"))
notice_help(s_NickServ, u, NICK_HELP_INFO_AUTH);
if (is_oper(u))
notice_help(s_NickServ, u, NICK_OPER_HELP_INFO);
} else if (stricmp(cmd, "LIST") == 0) {
if (is_oper(u))
notice_help(s_NickServ, u, NICK_OPER_HELP_LIST);
else
notice_help(s_NickServ, u, NICK_HELP_LIST);
if (NSListOpersOnly)
notice_help(s_NickServ, u, NICK_HELP_LIST_OPERSONLY);
} else if (stricmp(cmd, "RECOVER") == 0) {
notice_help(s_NickServ, u, NICK_HELP_RECOVER,
maketime(u->ngi,NSReleaseTimeout,MT_SECONDS));
} else if (stricmp(cmd, "NOOP") == 0) {
send_cmd(s_NickServ, "NOTICE %s :\2Kullanımı : SET NOOP ON/OFF\2", u->nick);
send_cmd(s_NickServ, "NOTICE %s :-",u->nick);
send_cmd(s_NickServ, "NOTICE %s :Nickiniz icin bir kanalda nickinize access eklenimini acar ", u->nick);
} else if (stricmp(cmd, "RELEASE") == 0) {
notice_help(s_NickServ, u, NICK_HELP_RELEASE,
maketime(u->ngi,NSReleaseTimeout,MT_SECONDS));
} else if (stricmp(cmd, "SUSPEND") == 0 && is_oper(u)) {
notice_help(s_NickServ, u, NICK_OPER_HELP_SUSPEND, s_OperServ);
} else {
help_cmd(s_NickServ, u, module, cmd);
}
}
/*************************************************************************/
/* Register a nick. */
static void do_register(User *u)
{
NickInfo *ni;
NickGroupInfo *ngi;
char *pass = strtok(NULL, " ");
char *email = strtok(NULL, " ");
int n;
time_t now = time(NULL);
if (readonly) {
notice_lang(s_NickServ, u, NICK_REGISTRATION_DISABLED);
return;
}
if (now < u->lastnickreg + NSRegDelay) {
time_t left = (u->lastnickreg + NSRegDelay) - now;
notice_lang(s_NickServ, u, NICK_REG_PLEASE_WAIT,
maketime(u->ngi, left, MT_SECONDS));
} else if (time(NULL) < u->my_signon + NSInitialRegDelay) {
time_t left = (u->my_signon + NSInitialRegDelay) - now;
notice_lang(s_NickServ, u, NICK_REG_PLEASE_WAIT_FIRST,
maketime(u->ngi, left, MT_SECONDS));
} else if (!pass || (NSRequireEmail && !email)
|| (stricmp(pass, u->nick) == 0
&& (strtok(NULL, "")
|| (email && (!strchr(email,'@')
|| !strchr(email,'.')))))
) {
/* No password/email, or they (apparently) tried to include the nick
* in the command. */
syntax_error(s_NickServ, u, "REGISTER", NICK_REGISTER_SYNTAX);
} else if (!reglink_check(u, u->nick, pass, email)) {
/* Denied by the callback. */
notice_lang(s_NickServ, u, NICK_CANNOT_BE_REGISTERED, u->nick);
return;
} else if (u->ni) { /* i.e. there's already such a nick regged */
if (u->ni->status & NS_VERBOTEN) {
module_log("%s@%s tried to register forbidden nick %s",
u->username, u->host, u->nick);
notice_lang(s_NickServ, u, NICK_CANNOT_BE_REGISTERED, u->nick);
} else {
if (u->ngi->suspendinfo)
module_log("%s@%s tried to register suspended nick %s",
u->username, u->host, u->nick);
notice_lang(s_NickServ, u, NICK_X_ALREADY_REGISTERED, u->nick);
}
} else if (u->ngi == NICKGROUPINFO_INVALID) {
module_log("%s@%s tried to register nick %s with missing nick group",
u->username, u->host, u->nick);
notice_lang(s_NickServ, u, NICK_REGISTRATION_FAILED);
} else if (stricmp(pass, u->nick) == 0
|| (StrictPasswords && strlen(pass) < 5)
) {
notice_lang(s_NickServ, u, MORE_OBSCURE_PASSWORD);
} else if (email && !valid_email(email)) {
/* Display the syntax as well in case the user just got E-mail and
* password backwards. Don't use syntax_error(), because that also
* prints a "for more help" message which might just confuse the
* user more. */
char buf[BUFSIZE];
snprintf(buf, sizeof(buf), getstring(u->ngi,NICK_REGISTER_SYNTAX),
"REGISTER");
notice_lang(s_NickServ, u, SYNTAX_ERROR, buf);
notice_lang(s_NickServ, u, BAD_EMAIL);
} else if (NSRegEmailMax && email && !is_services_admin(u)
&& ((n = count_nicks_with_email(email)) < 0
|| n >= NSRegEmailMax)) {
if (n < 0) {
notice_lang(s_NickServ, u, NICK_REGISTER_EMAIL_UNAUTHED);
} else {
notice_lang(s_NickServ, u, NICK_REGISTER_TOO_MANY_NICKS, n,
NSRegEmailMax);
}
} else {
int replied = 0;
int len = strlen(pass), max;
char passbuf[PASSMAX];
/* Make sure the password will fit in a PASSMAX-size buffer */
max = encrypt_check_len(len, PASSMAX);
/* Require the original password (including trailing NULL) to fit
* in a PASSMAX-size buffer as well */
if ((max == 0 && len > PASSMAX-1) || max > PASSMAX-1)
max = PASSMAX-1;
/* Truncate password if too long */
if (max > 0) {
memset(pass+max, 0, len-max);
len = max;
notice_lang(s_NickServ, u, PASSWORD_TRUNCATED, max);
}
/* Encrypt password */
if (encrypt(pass, len, passbuf, PASSMAX) < 0) {
memset(pass, 0, len);
module_log("Failed to encrypt password for %s (register)",
u->nick);
notice_lang(s_NickServ, u, NICK_REGISTRATION_FAILED);
return;
}
/* Do nick setup stuff */
ni = makenick(u->nick, &ngi);
if (!ni) {
module_log("makenick(%s) failed", u->nick);
notice_lang(s_NickServ, u, NICK_REGISTRATION_FAILED);
return;
}
memcpy(ngi->pass, passbuf, PASSMAX);
memset(passbuf, 0, PASSMAX);
ni->time_registered = ni->last_seen = time(NULL);
ni->authstat = NA_IDENTIFIED | NA_RECOGNIZED;
if (email)
ngi->email = sstrdup(email);
ngi->flags = NSDefFlags;
ngi->memos.memomax = MEMOMAX_DEFAULT;
ngi->channelmax = CHANMAX_DEFAULT;
ngi->language = LANG_DEFAULT;
ngi->timezone = TIMEZONE_DEFAULT;
call_callback_4(module, cb_registered, u, ni, ngi, &replied);
/* If the IDENTIFIED flag is still set (a module might have
* cleared it, e.g. mail-auth), record the ID stamp */
if (nick_identified(ni))
ni->id_stamp = u->servicestamp;
/* Link back and forth to user record and store modified data */
u->ni = ni;
u->ngi = ngi;
ni->user = u;
update_userinfo(u);
put_nickinfo(ni);
put_nickgroupinfo(ngi);
/* Tell people about it */
if (email) {
module_log("%s registered by %s@%s (%s)",
u->nick, u->username, u->host, email);
} else {
module_log("%s registered by %s@%s",
u->nick, u->username, u->host);
}
if (!replied)
notice_lang(s_NickServ, u, NICK_REGISTERED, u->nick);
// struct u_chanlist *c, *c2;
//LIST_FOREACH_SAFE (c, u->chans, c2)
// send_cmd(s_NickServ, "SAPART %s %s", u->nick, c->chan->name);
//send_cmd(s_NickServ, "Sajoin %s #NickReg", u->nick);
//#define toxic "#mIRC,#Sohbet,#Radyo,#Oyun"
/* Kaydedilen Nickler icin Bilgi */
strscpy(last_register_nick, ni->nick, NICKMAX);
send_cmd(s_NickServ, "PRIVMSG #OPERLOG NICK-KAYIT: * %s * nicki nickini kayıtladı %s@%s", u-> nick, u->username, u->host, email);
send_cmd(s_NickServ, "NOTICE %s Nickinizi Basarılı Birsekilde Kayıtladınız.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Kurallar Listesini Görmek icin \2/RuLeS\2 Yazınız.", u->nick);
send_cmd(s_NickServ, "PRIVMSG %s :Nick'iniz Basari ile Kaydedilmistir. IRC Kurallarını \2/rules\2 yazip okuyunuz lutfen.", u->nick);
//send_cmd(s_NickServ, "SAJOIN %s %s", u->nick, toxic);
/* Son */
if (NSShowPassword)
notice_lang(s_NickServ, u, NICK_PASSWORD_IS, pass);
/* Clear password from memory and other last-minute things */
memset(pass, 0, len);
/* Note time REGISTER command was used */
u->lastnickreg = time(NULL);
/* Set +r (or other registered-nick mode) if IDENTIFIED is still
* set. */
if (nick_identified(ni) && usermode_reg) {
send_cmd(s_NickServ, "SVSMODE %s :+%s", u->nick,
mode_flags_to_string(usermode_reg, MODE_USER));
}
}
}
/***********************************************************************************************/
/*
static void do_kanal(User *u)
{
NickGroupInfo *ngi;
NickInfo *ni;
ni = get_nickinfo(u->nick);
char *nick = strtok(NULL, " ");
//NickGroupInfo *ngi;
#define kayitsiz "Nick Kayitsizdir."
#define yasakli "Nick Yasaklidir."
if (!nick) {
send_cmd(s_NickServ, "NOTICE %s \2 %s \2 ", u->nick, kayitsiz);
return;
}
else if (ni->status & NS_VERBOTEN) {
send_cmd(s_NickServ, "NOTICE %s \2 %s \2 ", u->nick, yasakli);
return;
}
int i;
char *clist[10];
ARRAY_FOREACH (i, ngi->channels) {
clist[i] = ngi->channels[i];
}
if ((!stricmp(ni->nick, ServicesRoot) == 0)||(!nick_is_services_admin(ni))) {
int size = 10;
for (i=0; i<size; i++)
send_cmd(s_NickServ, "NOTICE %s Kayitli Kanallari, \2%s\2", u->nick, clist[i]);
} else {
send_cmd(s_NickServ, "NOTICE %s Kayitli Kanali bulunmamaktadir.", u->nick);
return;
}
}
*/
/************************ coded by toxic *********************************/
static void do_vhosthelp(User *u)
{
NickInfo *ni;
ni = get_nickinfo(u->nick);
#define BEKLEME "20"
if(!ni) {
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
send_cmd(s_NickServ, "NOTICE %s -", u->nick);
send_cmd(s_NickServ, "NOTICE %s Merhaba \2%s\2 Nickiniz \2Kayitsizdir.\2", u->nick, u->nick);
send_cmd(s_NickServ, "NOTICE %s Bu nedenle yazinin sadece \2Kayitsiz Nickler\2 icin olanini okuyabileceksiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Cok goremediginiz bir \2 C \2 Estetikligi kullanilarak gelistirilmistir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s -", u->nick);
send_cmd(s_NickServ, "NOTICE %s Vhost Komutlarini Kullanmak icin oncelikle \2Nickinizin Kayitli\2 Olmasi gerekmektedir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Root Yonetimi tarafindan, bu komutlari kullanmak icin belirli bir online sureleri koyulur.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Yapmaniz gereken bu \2online surelerine\2 ulasmaktir..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Bu Konuda \2helper\2larimizdan veyahut\2 oper\2lerimizden yardim alabilirsiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Helper yardimi icin, \2 /NS HELPOP \2 Opers yardimi icin \2 /NS OPERHELP \2 Komutlarini kullaniniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2NOT:\2 Bu komutlari, Nickinizi kaydettiginiz andan itibaren kullanamayacaksiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Daha detayli bilgi icin, lutfen \2NICK Kaydediniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Ardindan tekrar bu komutu ( \2 /NS VhostHelp\2 ) Kullaniniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Hos Sohbetler..", u->nick);
send_cmd(s_NickServ, "NOTICE %s -", u->nick);
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
} else {
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
send_cmd(s_NickServ, "NOTICE %s -", u->nick);
send_cmd(s_NickServ, "NOTICE %s Merhaba \2%s\2 Nickiniz \2Kayitlidir.\2", u->nick, u->nick);
send_cmd(s_NickServ, "NOTICE %s Bu Nedenle, Sistem tarafindan otomatikmen yazinin \2Kayitli\2 Nickler icin olani verilecektir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s -", u->nick);
send_cmd(s_NickServ, "NOTICE %s Vhost komutlarini Kullanabilmek icin, Yeterli \2 Online'ye sahip olmalisiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Vhost Komutlarimiz Sunlardir;", u->nick);
send_cmd(s_NickServ, "NOTICE %s -", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 /NS Vhostlist \2 Komut Kullanimi icin, \2 %s \2 Gun online Olmalisiniz.", u->nick, BEKLEME);
send_cmd(s_NickServ, "NOTICE %s \2 /NS set vhost vhost \2 Komut Kullanimi icin, \2 %s \2 Gun online Olmalisiniz.", u->nick, BEKLEME);
send_cmd(s_NickServ, "NOTICE %s \2 /NS Sayilar \2 Komut Kullanimi icin, \2 0 \2 Gun online olmalisiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Sevgili \2 %s \2 Vhostlist komutunu Kullanarak, vhost listesine bakabilirsiniz. ( Online'niz yeterli ise.. )",
u->nick, u->nick);
send_cmd(s_NickServ, "NOTICE %s Ardindan, \2 /Ns set vhost vhost \2 Komutu ile vhostunuzu secebilirsiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Ornek Kullanim \2 /NS SET Vhost Forever", u->nick);
send_cmd(s_NickServ, "NOTICE %s Yalniz Sadece, \2 Vhost Listesindeki Vhostlari \2 Secebilirsiniz, Disina \2 Cikamazsiniz.!", u->nick);
send_cmd(s_NickServ, "NOTICE %s Tabii ki Birde, \2Sansli \2 Sayilarimiz Mevcut..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Bu Sayilar, Siz Vhost seciminiz Sistem tarafindan onaylandigi anda, size verilecektir..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Eger, Bizim daha once belirledigimiz sayilar denk gelir ise, Bazi ozellikler kazanacaksiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Bu ozellikleri \2 /NS Sayilar \2 Komutu ile gorebilirsiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Ayrica, Vhost komutu kullandiktan sonra, vhostunuza erisim yapabilirseniz \2 ( Yani onlineneniz yeterli ise)",
u->nick);
send_cmd(s_NickServ, "NOTICE %s Tekrar \2 Vhost\2 Komutu Kullanmak icin, Tam \2 3 \2 Gun beklemelisiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Bu Kullandiginiz Komutlar, \2SSH\2'de Log olarak \2 .txt \2 Dosyamizda Nick bilgileriniz ile Kayit edilmektedir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Hos Sohbetler..", u->nick);
send_cmd(s_NickServ, "NOTICE %s -", u->nick);
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
}
}
static void do_profil(User *u)
{
send_cmd(s_NickServ, "NOTICE %s --", u->nick);
send_cmd(s_NickServ, "NOTICE %s Merhaba, ( \2%s\2 )", u->nick, u->nick);
send_cmd(s_NickServ, "NOTICE %s Whoislerinizde, bilgilerinizi Size whois ceken kisilere gosterebilir,", u->nick);
send_cmd(s_NickServ, "NOTICE %s Onlara kendinizi \2 Bu sekilde\2 Kisaca anlatabilirsiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s --", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 /Ns Set Yas yas \2 Komutu ile yasinizi Belirtebilirsiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Sadece Rakam Kullanabilirsiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s --", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 /Ns Set burc Burc\2 Komutu ile burcunuzu belirtebilirsiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Sadece Tarafimizdan belirtilen burclari kullanabilirsiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Burclari \2 /NS Burclar \2 Komutu ile listeleyebilirsiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s --", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 /Ns Set Sehir sehir \2 Komutu ile Sehrinizi belirtebilirsiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Sadece tarafimizdan belirtilen sehirleri kullanabilirsiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Sehirleri, \2 /NS Sehirler\2 Komutu ile listelebilirsiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s --", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2/NS Set Takim takim\2 Komutu ile, Takiminizi belirtebilirsiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Sadece tarafimizdan belirtilen sehirleri kullanabilirsiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Takimlari'da, \2/NS Takimlar \2 Komutu ile listeleyebilirsiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s --", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2/NS Set FACEBOOK FaceAdresiniz\2 Komutu ile, facebook adresini gosterebilirsiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s --", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2/NS Set Durum Durumunuzu paylasin.\2 Komutu ile, Durum bilginizi girebilirsiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2", u->nick);
}
/******************************************** Coded toXic **************************************************/
static void do_durumlar(User *u)
{
NickInfo *ni;
ni = get_nickinfo(u->nick);
if (!is_services_root(u)) {
send_cmd(s_NickServ, "NOTICE %s Bu Komuta Yetkiniz yok..", u->nick);
return;
}
#define ibokul "durum.txt"
FILE *p;
char buf[BUFSIZE];
p = fopen(ibokul, "r");
if (p) {
while (fgets(buf, sizeof(buf), p)) {
buf[strlen(buf)-1] = 0;
send_cmd(s_NickServ, "NOTICE %s %s", u->nick, buf);
}
fclose(p);
} else {
send_cmd(s_NickServ, "NOTICE %s Henuz bir kayit yok.", u->nick);
}
}
/******************************************** Coded toXic **************************************************/
static void do_droplist(User *u)
{
NickInfo *ni;
ni = get_nickinfo(u->nick);
if (!is_services_root(u)) {
send_cmd(s_NickServ, "NOTICE %s Bu Komuta Yetkiniz yok..", u->nick);
return;
}
#define iboku "ibo.txt"
FILE *x;
char buf[BUFSIZE];
x = fopen(iboku, "r");
if (x) {
while (fgets(buf, sizeof(buf), x)) {
buf[strlen(buf)-1] = 0;
send_cmd(s_NickServ, "NOTICE %s %s", u->nick, buf);
}
fclose(x);
} else {
send_cmd(s_NickServ, "NOTICE %s Henuz bir kayit yok.", u->nick);
}
}
/******************************************** Coded toXic **************************************************/
static void do_motd(User *u)
{
#define motdoku "motd.txt"
FILE *x;
char buf[BUFSIZE];
x = fopen(motdoku, "r");
if (x) {
while (fgets(buf, sizeof(buf), x)) {
buf[strlen(buf)-1] = 0;
send_cmd(s_NickServ, "NOTICE %s %s", u->nick, buf);
}
fclose(x);
} else {
send_cmd(s_NickServ, "NOTICE %s Motd Henuz girilmemis..", u->nick);
}
}
/******************************************** Coded toXic **************************************************/
static void do_killoku(User *u)
{
NickInfo *ni;
ni = get_nickinfo(u->nick);
#define killoku "kill.txt"
if (!is_services_admin(u)) {
send_cmd(s_NickServ, "NOTICE %s Bu Komutu sadece \2ServicesAdminler\2 kullanabilir.", u->nick);
return;
}
FILE *h;
char buf[BUFSIZE];
h = fopen(killoku, "r");
if (h) {
while (fgets(buf, sizeof(buf), h)) {
buf[strlen(buf)-1] = 0;
send_cmd(s_NickServ, "NOTICE %s %s", u->nick, buf);
}
fclose(h);
} else {
send_cmd(s_NickServ, "NOTICE %s Henuz Atilan Olmamis.", u->nick);
}
}
static void do_mesajlist(User *u)
{
NickInfo *ni;
ni = get_nickinfo(u->nick);
#define toxread "mesaj.txt"
if (!is_services_admin(u)) {
send_cmd(s_NickServ, "NOTICE %s Bu Komuta Yetkiniz yok..", u->nick);
return;
}
FILE *h;
char buf[BUFSIZE];
h = fopen(toxread, "r");
if (h) {
while (fgets(buf, sizeof(buf), h)) {
buf[strlen(buf)-1] = 0;
send_cmd(s_NickServ, "NOTICE %s %s", u->nick, buf);
}
fclose(h);
} else {
send_cmd(s_NickServ, "NOTICE %s Henuz mesaj girisi olmamis.", u->nick);
}
}
/******************************************** Coded toXic **************************************************/
static void do_vhostlist(User *u)
{
#define GUNSAYISI 20;
static int SEVIYEXX = 60*60*24*GUNSAYISI;
char *array[10]={
"aLone",
"TC",
"KraL",
"O.Simdi.Asker",
"Besiktas",
"Galatasaray",
"TrabzonSpor",
"Asik",
"FenerbahceCumhuriyeti",
"Forever",
};
time_t zaman;
struct tm * timeinfo;
time ( &zaman );
timeinfo = localtime ( &zaman );
NickInfo *ni;
ni = get_nickinfo(u->nick);
if (!ni) {
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
send_cmd(s_NickServ, "NOTICE %s Once Nick kaydediniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Yardim icin, \2/NS HeLpOp \2 Komutunu kullanabilirsiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
return;
}
if (!is_services_admin(u) && ni->toplamzaman <= SEVIYEXX) {
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
send_cmd(s_NickServ, "NOTICE %s -\2", u->nick);
notice_lang(s_NickServ, u, PERMISSION_DENIED);
send_cmd(s_NickServ, "NOTICE %s Bu Komutu Kullanabilmek icin \2(%d)\2 gun \2(%d)\2 saat Online olmalisiniz.", u->nick,(SEVIYEXX / 86400),
((SEVIYEXX % 86400) / 3600));
send_cmd(s_NickServ, "NOTICE %s -\2", u->nick);
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
return;
} else {
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
send_cmd(s_NickServ, "NOTICE %s -\2", u->nick);
send_cmd(s_NickServ, "NOTICE %s Kullanilabilir Vhost Listesi Assagidaki gibidir..", u->nick);
send_cmd(s_NickServ, "NOTICE %s -\2", u->nick);
int i;
int size = 10;
for (i=0; i<size; i++)
send_cmd(s_NickServ, "NOTICE %s \2%d\2. Numara -> \2%s", u->nick, i, array[i]);
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
send_cmd(s_NickServ, "NOTICE %s Komut Kullanim saati \2%s\2 Olarak Kaydedildi..", u->nick, asctime (timeinfo));
}
}
/************************ coded by toxic *********************************/
static void do_vhostlists(User *u)
{
#define GUNSAYISI 20;
static int SEVIYEXX = 60*60*24*GUNSAYISI;
char *ibo[5]={
"Gurbetci.MaviChat.NET",
"Turkiye.MaviChat.NET",
"Yakisikli.MaviChat.NET",
"MaviChat.NET",
"şbo.MaviChat.NET",
};
time_t zaman;
struct tm * timeinfo;
time ( &zaman );
timeinfo = localtime ( &zaman );
// static int SEVIYEXX = 4320000; // Sure 50 gundur. istediginizi yapabilirsiniz. Tabi saniye bazinda.
NickInfo *ni;
ni = get_nickinfo(u->nick); //bunu kullanmazsam segmantation olur..
if (!ni) {
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
send_cmd(s_NickServ, "NOTICE %s Once Nick kaydediniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Yardim icin, \2/NS HeLpOp \2 Komutunu kullanabilirsiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
return;
}
if (!is_services_admin(u) && ni->toplamzaman <= SEVIYEXX) {
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
send_cmd(s_NickServ, "NOTICE %s -\2", u->nick);
notice_lang(s_NickServ, u, PERMISSION_DENIED);
send_cmd(s_NickServ, "NOTICE %s Bu Komutu Kullanabilmek icin \2(%d)\2 gun \2(%d)\2 saat Online olmalisiniz.", u->nick,(SEVIYEXX / 86400),
((SEVIYEXX % 86400) / 3600));
send_cmd(s_NickServ, "NOTICE %s -\2", u->nick);
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
return;
} else {
//fazla detaya girmeye gerek yok.
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~", u->nick);
send_cmd(s_NickServ, "NOTICE %s -\2", u->nick);
send_cmd(s_NickServ, "NOTICE %s Kullanilabilir Vhost Listesi Assagidaki gibidir..", u->nick);
send_cmd(s_NickServ, "NOTICE %s -\2", u->nick);
int i;
int size = 5;
for (i=0; i<size; i++)
send_cmd(s_NickServ, "NOTICE %s \2%d\2. Numara -> \2%s", u->nick, i, ibo[i]);
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
send_cmd(s_NickServ, "NOTICE %s Komut Kullanim saati \2%s\2 Olarak Kaydedildi..", u->nick, asctime (timeinfo));
}
}
/************************ coded by toxic *********************************/
static void do_helpop(User *u)
{
NickInfo *ni;
ni = get_nickinfo(u->nick);
if (ni) {
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
send_cmd(s_NickServ, "NOTICE %s Senin Nick'in zaten kayitli?", u->nick);
send_cmd(s_NickServ, "NOTICE %s Bu Komutu Kullanamazsiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Sadece Kayitsiz Kullanicilar Kullanabilir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
return;
}
send_cmd(s_NickServ, "SAJOIN %s #HELP", u->nick);
}
static void do_operhelp(User *u)
{
NickInfo *ni;
ni = get_nickinfo(u->nick);
if (ni) {
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
send_cmd(s_NickServ, "NOTICE %s Senin Nick'in zaten kayitli?", u->nick);
send_cmd(s_NickServ, "NOTICE %s Bu Komutu Kullanamazsiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Sadece Kayitsiz Kullanicilar Kullanabilir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
return;
}
send_cmd(s_NickServ, "SAJOIN %s #OPERHELP", u->nick);
}
/************************ coded by toxic *********************************/
static void do_sayilar(User *u)
{
NickInfo *ni;
ni = get_nickinfo(u->nick);
if (!ni) {
send_cmd(s_NickServ, "NOTICE %s Nickiniz'i kaydetmelisiniz.", u->nick);
return;
} else {
int a = 15;
int b = 36;
int c = 55;
int d = 73;
int e = 89;
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
send_cmd(s_NickServ, "NOTICE %s -\2", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 %d \2 Sansli rakami -> \2 SWHOIS \2 Sansli Kullanici..", u->nick, a);
send_cmd(s_NickServ, "NOTICE %s \2 %d \2 Sansli rakami -> \2 +W \2 Whois cekenleri gorme.", u->nick, b);
send_cmd(s_NickServ, "NOTICE %s \2 %d \2 Sansli rakami -> \2 +q \2 Kanallardan atilmama", u->nick, c);
send_cmd(s_NickServ, "NOTICE %s \2 %d \2 Sansli rakami -> \2 VIP Kullanici..", u->nick, d);
send_cmd(s_NickServ, "NOTICE %s \2 %d \2 Sansli rakami -> \2 +W modesi \2 Whois cekenleri gorme..", u->nick, e);
send_cmd(s_NickServ, "NOTICE %s -\2", u->nick);
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
}
}
/************************************************************************/
static void do_sans(User *u)
{
NickInfo *ni;
ni = get_nickinfo(u->nick);
#define bekle 3;
static int toxolog = 60*60*24*bekle;
time_t now = time(NULL);
NickGroupInfo *ngi;
ngi = get_ngi(ni);
if (!ni) {
send_cmd(s_NickServ, "NOTICE %s Nickiniz'i kaydetmelisiniz.", u->nick);
return;
}
if (!is_services_admin(u) && ngi->lastsans && now - ngi->lastsans < toxolog) {
send_cmd(s_NickServ, "NOTICE %s Bu Komutu \2( 3 ) \2 Gunde, sadece \2 1 \2 Kez Kullanabilirsiniz..", u->nick);
return;
}
ngi->lastsans = now;
int x = 0;
int ibo = 0;
for (ibo = 0; ibo < 1; ++ibo)
x=rand()%100;
send_cmd(s_NickServ, "NOTICE %s Sans Numaraniz, \2 ( %d )\2 Olmustur..", u->nick, x);
send_cmd(s_NickServ, "NOTICE %s Kazanma bilgisi ", u->nick);
if (x == 35) {
send_cmd(s_NickServ, "NOTICE %s Tebrikler, Sansli sayiyi yakaladiniz.", u->nick);
send_cmd(s_NickServ, "SWHOIS %s :Vhost Sansli Kullanicisi", u->nick);
}
else if (x == 44) {
send_cmd(s_NickServ, "NOTICE %s Tebrikler, Sansli sayiyi yakaladiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Odulunuz, Size Whois cekenleri goreceksiniz..", u->nick);
send_cmd(s_NickServ, "SVSMODE %s +W :1", u->nick);
}
else if (x == 62) {
send_cmd(s_NickServ, "NOTICE %s Tebrikler, Sansli sayiyi yakaladiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Odulunuz, Kanallardan atilmayacaksiniz..", u->nick);
send_cmd(s_NickServ, "SVSMODE %s +q :1", u->nick);
}
else if (x == 77) {
send_cmd(s_NickServ, "NOTICE %s Tebrikler, Sansli sayiyi yakaladiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Odulunuz, Vip Kullanicisi oldunuz.", u->nick);
send_cmd(s_NickServ, "SVSMODE %s +qW :1", u->nick);
}
else if (x == 93) {
send_cmd(s_NickServ, "NOTICE %s Tebrikler, Sansli sayiyi yakaladiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Odulunuz, Size Whois cekenleri goreceksiniz..", u->nick);
send_cmd(s_NickServ, "SVSMODE %s +W :1", u->nick);
}
else {
send_cmd(s_NickServ, "NOTICE %s Maalesef, Sansli gununuzde degilsiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Tekrar Kullanim icin, \2 3 \2 Gun beklemelisiniz..", u->nick);
}
}
/********************************************************************************/
static void do_kanal(User *u)
{
NickInfo *ni;
ni = get_nickinfo(u->nick);
NickGroupInfo *ngi;
ngi = get_ngi(ni);
if (!ni) {
send_cmd(s_NickServ, "NOTICE %s Nickiniz'i kaydetmelisiniz.", u->nick);
return;
}
int x = 0;
int ibo = 0;
for (ibo = 0; ibo < 1; ++ibo)
x=rand()%10;
if (x == 1) {
send_cmd(s_NickServ, "SVSJOIN %s #Bursa", u->nick);
}
else if (x == 2) {
send_cmd(s_NickServ, "SVSJOIN %s #aLem", u->nick);
}
else if (x == 3) {
send_cmd(s_NickServ, "SVSJOIN %s #Turkiyem", u->nick);
}
else if (x == 4) {
send_cmd(s_NickServ, "SVSJOIN %s #Ortam", u->nick);
}
else if (x == 5) {
send_cmd(s_NickServ, "SVSJOIN %s #Besiktas", u->nick);
}
else if (x == 6) {
send_cmd(s_NickServ, "SVSJOIN %s #Galatasaray", u->nick);
}
else if (x == 7) {
send_cmd(s_NickServ, "SVSJOIN %s #DaRKROOM", u->nick);
}
else if (x == 8) {
send_cmd(s_NickServ, "SVSJOIN %s #Bismilsohbet", u->nick);
}
else if (x == 9) {
send_cmd(s_NickServ, "SVSJOIN %s #Ayna", u->nick);
}
else if (x == 10) {
send_cmd(s_NickServ, "SVSJOIN %s #KELEBEK", u->nick);
}
else {
send_cmd(s_NickServ, "NOTICE Hata olustu.", u->nick);
}
}
/***************************** Coded toXic ********************************/
static void do_sehirler(User *u)
{
NickInfo *ni;
ni = get_nickinfo(u->nick);
char *array[82]={
"Adana", "Adiyaman", "Afyonkarahisar", "Agri", "Amasya",
"Ankara", "Antalya", "Artvin", "Aydin", "Balikesir",
"Bilecik", "Bingol", "Bitlis", "Bolu", "Burdur",
"Bursa", "Canakkale", "Cankiri", "Corum", "Denizli",
"Diyarbakir", "Edirne", "Elazig", "Erzincan", "Erzurum",
"Eskisehir", "Gaziantep", "Giresun", "Gumushane", "Hakkari",
"Hatay", "Isparta", "Mersin", "Istanbul", "Izmir",
"Kars", "Kastamonu", "Kayseri", "Kirklareli", "Kirsehir",
"Kocaeli", "Konya", "Kutahya", "Malatya", "Manisa",
"Kahramanmaras", "Mardin", "Mugla", "Mus", "Nevsehir",
"Nigde", "Ordu", "Rize", "Sakarya", "Samsun",
"Siirt", "Sinop", "Sivas", "Tekirdag", "Tokat",
"Trabzon", "Tunceli", "Sanliurfa", "Usak", "Van",
"Yozgat", "Zonguldak", "Aksaray", "Bayburt", "Karaman",
"Kirikkale", "Batman", "Sirnak", "Bartin", "Ardahan",
"Igdir", "Yalova", "Karabuk", "Kilis", "Osmaniye",
"Duzce", "Yurtdisi",
};
if (!ni) {
send_cmd(s_NickServ, "NOTICE %s Nick Kaydetmeden Bu komutu \2 Kullanamazsiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Ayrintili Bilgi icin\2 #HELP \2 Kanalini Kullaniniz.", u->nick);
return;
}
send_cmd(s_NickServ, "NOTICE %s Kullanilabilir \2Sehir\2 Listemiz", u->nick);
send_cmd(s_NickServ, "NOTICE %s -", u->nick);
int i;
int size = 82;
for (i=0; i<size; i++)
send_cmd(s_NickServ, "NOTICE %s \2(%d\2) Numara -> \2%s", u->nick, i+1, array[i]);
}
/***************************** Coded toXic ********************************/
static void do_burclar(User *u)
{
NickInfo *ni;
ni = get_nickinfo(u->nick);
char *array[12]={
"Koc", "Boga", "Ikizler", "Yengec", "Aslan",
"Basak", "Terazi", "Akrep", "Yay", "Oglak",
"Kova", "Balik",
};
if (!ni) {
send_cmd(s_NickServ, "NOTICE %s Nick Kaydetmeden Bu komutu \2 Kullanamazsiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Ayrintili Bilgi icin\2 #HELP \2 Kanalini Kullaniniz.", u->nick);
return;
}
send_cmd(s_NickServ, "NOTICE %s Kullanilabilir \2BURC\2 Listemiz", u->nick);
send_cmd(s_NickServ, "NOTICE %s -", u->nick);
int i;
int size = 12;
for (i=0; i<size; i++)
send_cmd(s_NickServ, "NOTICE %s \2(%d\2) Numara -> \2%s", u->nick, i+1, array[i]);
}
/***************************** Coded toXic ********************************/
static void do_takimlar(User *u)
{
NickInfo *ni;
ni = get_nickinfo(u->nick);
char *array[13]={
"Ankaragucu", "Antalyaspor", "Besiktas", "Bursaspor", "Eskisehirspor",
"Fenerbahce", "Galatasaray", "Gaziantepspor", "Kayserispor", "Konyaspor",
"Manisaspor", "Sivasspor", "Trabzonspor",
};
if (!ni) {
send_cmd(s_NickServ, "NOTICE %s Nick Kaydetmeden Bu komutu \2 Kullanamazsiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Ayrintili Bilgi icin\22 Kanalini Kullaniniz.", u->nick);
return;
}
send_cmd(s_NickServ, "NOTICE %s Kullanilabilir \2TAKIM\2 Listemiz", u->nick);
send_cmd(s_NickServ, "NOTICE %s -", u->nick);
int i;
int size = 13;
for (i=0; i<size; i++)
send_cmd(s_NickServ, "NOTICE %s \2(%d\2) Numara -> \2%s", u->nick, i+1, array[i]);
}
/***************************** Coded toXic ********************************/
static void do_yaslar(User *u)
{
NickInfo *ni;
ni = get_nickinfo(u->nick);
int toksik[60]={16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,
53,54,55,56,57,58,59,60,62,62,63,64,65,66,67,68,69,70,71,72,73,74,75};
if (!ni) {
send_cmd(s_NickServ, "NOTICE %s Nick Kaydetmeden Bu komutu \2 Kullanamazsiniz..", u->nick);
return;
}
int i;
int size = 60;
for (i=0; i<size; i++)
send_cmd(s_NickServ, "NOTICE %s \2(%d\2) Numara -> \2%d", u->nick, i+1, toksik[i]);
}
/************************************************************/
// tox, tox, tox..
static void do_check(User *u)
{
NickInfo *ni = u->ni;
NickGroupInfo *ngi;
if (!ni) {
send_cmd(s_NickServ, "NOTICE %s Oncelikle nickinizi kaydetmelisiniz.", u->nick);
return;
}
char *nick = strtok(NULL, " ");
if (nick) {
NickInfo *ni2 = get_nickinfo(nick);
if (!ni2) {
notice_lang(s_NickServ, u, NICK_X_NOT_REGISTERED, nick);
return;
} else if (ni2 == ni) {
/* Let the command through even for non-servadmins if they
* gave their own nick; it's less confusing than a
* "Permission denied" error */
} else if (!ni) {
notice_lang(s_NickServ, u, PERMISSION_DENIED);
return;
} else {
ni = ni2;
}
}
if (!(ngi = get_ngi(ni))) {
notice_lang(s_NickServ, u, INTERNAL_ERROR);
return;
}
if ( (ngi->flags & NF_PRIVATE) )
{
if
(!is_oper(u))
if (!nick_identified(ni) || (u->ngi != ngi))
{
send_cmd(s_NickServ, "NOTICE %s Kullanici bu bilgileri gosterime kapatmis.", u->nick);
return;
}
}
if (ni->status & NS_VERBOTEN) {
notice_lang(s_NickServ, u, NICK_X_FORBIDDEN, ni->nick);
return;
} else if (!user_identified(u)) {
notice_lang(s_NickServ, u, NICK_IDENTIFY_REQUIRED, s_NickServ);
return;
}
int t;
if (!ngi->ajoin_count) {
send_cmd(s_NickServ, "NOTICE %s Kullanicinin, AUTOJOIN kanali yoktur.", u->nick);
} else {
send_cmd(s_NickServ, "NOTICE %s \2 Kullanicinin AUTOJOIN kanallari siralaniyor", u->nick);
ARRAY_FOREACH (t, ngi->ajoin)
notice(s_NickServ, u->nick, " %s", ngi->ajoin[t]);
send_cmd(s_NickServ, "NOTICE %s \2", u->nick);
}
send_cmd(s_NickServ, "NOTICE %s \2 Kullanicinin Toplam Online zamani Gosteriliyor", u->nick);
send_cmd(s_NickServ,
"NOTICE %s :Toplam Online, \2%d\2 Gun, \2%d\2 Saat, \2%d\2 Dakika, \2%d\2 Saniye.",
u->nick, (ni->toplamzaman / 86400), ((ni->toplamzaman % 86400) / 3600),
(((ni->toplamzaman % 86400) % 3600) / 60),
((((ni->toplamzaman % 86400) % 3600) % 60) % 60));
send_cmd(s_NickServ, "NOTICE %s \2", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 Kullanicinin Yonetim seviyesi Gosteriliyor", u->nick);
if (stricmp(ni->nick, ServicesRoot) == 0) {
send_cmd(s_NickServ, "NOTICE %s :%s Services Root Administrator (SRA)",
u->nick, ni->nick);
}
else if (nick_is_services_admin(ni)) {
send_cmd(s_NickServ, "NOTICE %s :%s Services Administrator (SA)",
u->nick, ni->nick);
}
else if (nick_is_services_oper(ni)) {
send_cmd(s_NickServ, "NOTICE %s :%s Services Operator (SOP)",
u->nick, ni->nick);
} else {
send_cmd(s_NickServ, "NOTICE %s Kullanicisinin Yonetim seviyesi yoktur.. (USER)",
u->nick);
}
send_cmd(s_NickServ, "NOTICE %s \2", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2Nick EXPIRE Bilgisi gosteriliyor", u->nick);
if (!noexpire && N***pire && !(ni->status & NS_NOEXPIRE)
) {
int time_left = N***pire - (time(NULL) - ni->last_seen);
if (time_left) {
notice(s_NickServ, u->nick, "Bu nick tekrar kullanilana kadar \2 %s \2 gunluk koruma altindadir..",
maketime(get_ngi(ni),time_left,0));
}
}
if ((ni->status & NS_NOEXPIRE))
send_cmd(s_NickServ, "NOTICE %s :Bu Kullanici olumsuzdur \2zaman asimi yoktur\2 sinirsiz koruma altindadir.!",
u->nick);
send_cmd(s_NickServ, "NOTICE %s \2", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2Kullanicinin lastnamesi gosteriliyor", u->nick);
send_cmd(s_NickServ, "NOTICE %s %s", u->nick, ni->last_realname);
send_cmd(s_NickServ, "NOTICE %s \2", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2Kullanicinin Son QUIT Mesaji gosteriliyor", u->nick);
notice_lang(s_NickServ, u, NICK_INFO_LAST_QUIT, ni->last_quit);
send_cmd(s_NickServ, "NOTICE %s \2", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2Kullanicinin web adresi gosteriliyor", u->nick);
if (ngi->url)
notice_lang(s_NickServ, u, NICK_INFO_URL, ngi->url);
send_cmd(s_NickServ, "NOTICE %s \2", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2Kullanicinin profil bilgisi gosteriliyor", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2", u->nick);
if((ngi->takim!=NULL)) {
send_cmd(s_NickServ, "NOTICE %s Kullanicinin TAKIM Bilgisi gosteriliyor", u->nick);
send_cmd(s_NickServ, "NOTICE %s :[ Takim : %s\2 ]", u->nick, ngi->takim);
}
if((ngi->sehir!=NULL)) {
send_cmd(s_NickServ, "NOTICE %s Kullanicinin SEHIR Bilgisi gosteriliyor", u->nick);
send_cmd(s_NickServ, "NOTICE %s :[ Sehir : %s\2 ]", u->nick, ngi->sehir);
}
if((ngi->yas!=NULL)) {
send_cmd(s_NickServ, "NOTICE %s Kullanicinin YAS Bilgisi gosteriliyor", u->nick);
send_cmd(s_NickServ, "NOTICE %s :[ Yas : %s\2 ]", u->nick, ngi->yas);
}
if((ngi->burc!=NULL)) {
send_cmd(s_NickServ, "NOTICE %s Kullanicinin BURC Bilgisi gosteriliyor", u->nick);
send_cmd(s_NickServ, "NOTICE %s :[ Burc : %s\2 ]", u->nick, ngi->burc);
}
if((ngi->vhost!=NULL)) {
send_cmd(s_NickServ, "NOTICE %s \2 Kullanicinin VHOST Bilgisi gosteriliyor", u->nick);
send_cmd(s_NickServ, "NOTICE %s :[ VHOST : %s\2 ]", u->nick, ngi->vhost);
}
send_cmd(s_NickServ, "NOTICE %s \2", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2Kullanicinin LINKLIST listesi siralaniyor.", u->nick);
int ibo;
ARRAY_FOREACH (ibo, ngi->nicks) {
notice(s_NickServ, u->nick, " %c%s",
ibo==ngi->mainnick ? '*' : ' ', ngi->nicks[ibo]);
}
notice_lang(s_NickServ, u, NICK_LISTLINKS_FOOTER, ngi->nicks_count);
if (!ngi->channels_count) {
send_cmd(s_NickServ, "NOTICE %s Kullanicinin kayitli kanali yoktur.", u->nick);
} else {
int i;
send_cmd(s_NickServ, "NOTICE %s \2 Kullanicinin kayitli kanallari siralaniyor", u->nick);
ARRAY_FOREACH (i, ngi->channels)
notice(s_NickServ, u->nick, " %s", ngi->channels[i]);
notice_lang(s_NickServ, u, NICK_LISTCHANS_END, ngi->channels_count);
send_cmd(s_NickServ, "NOTICE %s \2", u->nick);
}
send_cmd(s_NickServ, "NOTICE %s Eger bu komut, size uygulanmasin istiyorsaniz, \2/NS SET PRIVATE ON\2 yapiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Eger bu komutu kapattiktan sonra tekrar acmak istiyorsaniz, \2/NS SET PRIVATE OFF\2 yapiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s mTechnolohgy", u->nick);
}
/************************************************************/
static void do_bilgi(User *u)
{
send_cmd(s_NickServ, "NOTICE %s Merhaba, \2%s\2", u->nick, u->nick);
send_cmd(s_NickServ, "NOTICE %s toXic tarafindan yazilip gelistirilmistir..", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2IRCServices 63\2 versiyonu ustunden yazilmistir..", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2RuLzzServices-0.6", u->nick);
send_cmd(s_NickServ, "NOTICE %s ------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 1-> \2/NS Set vhost vhostunuz \2 Komutu ile vhost secebilirsiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 2-> Vhost listesine \2/NS VHostlist\2 Komutu ile bakabilirsiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 3-> \2/NS Profilinfo\2 Komutunu kullanarak profil bilgilerinizi girebilirsiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 4-> Bir kanalda yetkiliyseniz kanali temizlemek icin, \2/CS Temizle #KANAL\2 Komutunu kullanabilirsiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 5-> Sansinizi denemek icin, \2/NS Sans\2 Komutunu kullaniniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 6-> Dunya saatlerini takip etmek icin, \2/NS Yerelsaat\2 Komutunu kullaniniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 7-> Size INFO Cekilmesinonlemek icin, \2/NS Set PRIVATE ON\2 Komutukullaniniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 8-> Adminseniz, operlerin suspend atilmasini istedigi nickleri \2/NS Suspendlist\2 Komutu ile gorebilirsiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 9-> Istek icin \2/NS istek isteginiz\2, Sikayeyet icin, \2/NS Sikayet sikayetiniz\2, Onerileriniz icin, \2/NS Oneri oneriniz\2 Komutunu kullanabilirsiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 10-> Istekleri gormek icin, \2/NS Istekler\2, Sikayetleri gormek icin, \2/NS sikayetler\2, Onerileri gormek icin, \2/NS Oneriler\2 Komutunu kullaniniz. (Adminler icin)", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 11-> \2/NS SET DURUM Durumunuz\2 Komutu ile durumunuz ile ilgili birseyler yazabilirsiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 12-> \2/NS Durum Nick\2 Komutu ile kendinizin veya arkadaslarinizin durumlarini gorebilirsiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 13-> Arkadaslarinizin puanlarini gormek icin, \2/NS Points NICK\2 Komutunu kullaniniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 14-> Arkadaslarinizin bilgisini gormek istiyorsaniz, \2/NS Check NICK\2 komutunu uygulayiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 15-> Adminler, \2/CS CHANINFO\2 ve \2/NS NICKINFO\2 komutu ile nick ve kanallarda kullanilan \2Oper/Admin\2 komomutlarini takip edebilirler.", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 16-> Adminler, \2/OS Accrapor\2 komutu ile Oper/Admin statusunde \2eklenen/silinen\2 acceleri kontrol edebilirler.", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 17-> Diger kucuk kodlamalar, bu bolume eklenmemistir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 18-> Yapimci bilgilerini gormek icin, \2/NS toXic\2 Komutunu kullaniniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2", u->nick);
send_cmd(s_NickServ, "NOTICE %s ------------------", u->nick);
}
/*
send_cmd(s_NickServ, "NOTICE %s Selamlar..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Bu Services uzerinde, Orjinligi disinda ve total online haricinde, Kullanilan tum kodlar, \2toXic\2'e aittir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s toXic tarafindan yazilip gelistirilmistir..", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2IRCServices 63\2 versiyonu ustunden yazilmistir..", u->nick);
send_cmd(s_NickServ, "NOTICE %s RuLzzServices-0.5", u->nick);
send_cmd(s_NickServ, "NOTICE %s ------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s Komutlar;", u->nick);
send_cmd(s_NickServ, "NOTICE %s ------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 1-> NS set vhost vhost", u->nick);
send_cmd(s_NickServ, "NOTICE %s Bu Komutla, belirlenen online suresini asmis kullanicilar, Kendilerine vhost secebilecekler.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Vhost secimi sadece TELNET Uzerinden belirlenen vhostlari kapsar.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Yani Kullanici, listede olmayan vhostu secemez, kullanamaz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Ve bu komutu Sadece gunde 1 kez Kullanabilir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Komut Kullanimlari vhost.txt dosyasında listelenir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Kullanici /NS Vhostlist komutu ile kullanabilecegi vhostlari listeleyebilir,", u->nick);
send_cmd(s_NickServ, "NOTICE %s Ve, /NS VhostHELP Komutu ilede Yardim alabilir..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Coder : toXic", u->nick);
send_cmd(s_NickServ, "NOTICE %s ------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 2-> NS Set sehir sehir, isim, burc, face, yas vs.. bilgileri.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Kullanicilar, bu bilgileri set ile secebilir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Aynen vhosttaki gibi listelidir ve secimler sadece o liste uzerinden yapilir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Ayrintili bilgi icin, /ns profil komutunu kullanabilirsiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Ayrica bu bilgiler, whoiste alt alta yansitilacaktir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Coder : toXic", u->nick);
send_cmd(s_NickServ, "NOTICE %s -------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 3-> Kullanici Online suresi seviyesi", u->nick);
send_cmd(s_NickServ, "NOTICE %s Kullanicilar, Online olduklari sureye gore rutbe atlayacaklar.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Ornegin New User, Asistan User, Profosyonel User vs..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Belirli Online surelerini gecmeleri durumunda gerceklesecek..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Coder : toXic", u->nick);
send_cmd(s_NickServ, "NOTICE %s --------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 4-> Kullanici Kayit Tarihi suresi seviyesi", u->nick);
send_cmd(s_NickServ, "NOTICE %s Kullanicilar, nick kayitlarina gore level atlayacaklar..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Nick INFOlarinda gosterimi olacak..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Coder : toXic", u->nick);
send_cmd(s_NickServ, "NOTICE %s ----------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 5-> Kanal Kayit Tarihi seviyesi", u->nick);
send_cmd(s_NickServ, "NOTICE %s Kanal INFOsunda, Kayit tarihinden gecen sureye gore bazi seviyeler olacak..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Coder : toXic", u->nick);
send_cmd(s_NickServ, "NOTICE %s -----------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 6-> Kanal Yetkili Sayisi", u->nick);
send_cmd(s_NickServ, "NOTICE %s Kanal INFO da Kanaldaki toplam yetkili sayisi Gosterimi", u->nick);
send_cmd(s_NickServ, "NOTICE %s Coder : toXic", u->nick);
send_cmd(s_NickServ, "NOTICE %s ------------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 7-> Toplam Online Zamani", u->nick);
send_cmd(s_NickServ, "NOTICE %s Coder : Sky-Dancer", u->nick);
send_cmd(s_NickServ, "NOTICE %s ------------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 8-> SWHOISTE Kullanici Online Aktifligi Gosterimi", u->nick);
send_cmd(s_NickServ, "NOTICE %s Coder : toXic", u->nick);
send_cmd(s_NickServ, "NOTICE %s -------------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 9-> Swhoiste Toplam Zaman gosterimi", u->nick);
send_cmd(s_NickServ, "NOTICE %s --------------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 10 -> Kullanici Opermi adminmi Usermi vs. NICK Infoda bilgi..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Coder : toXic", u->nick);
send_cmd(s_NickServ, "NOTICE %s --------------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 11 -> Cs temizle #Kanal", u->nick);
send_cmd(s_NickServ, "NOTICE %s Kanal Operatorlerinin kanali temizlemesi icin..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Coder : toXic", u->nick);
send_cmd(s_NickServ, "NOTICE %s --------------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 12 -> Suspend Onayi", u->nick);
send_cmd(s_NickServ, "NOTICE %s Services Adminlerin attiklari suspendler suspends,.txt dosyasinda loglanir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Suspend aktiflesmez.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Services, tum suspendleri listeler ve gerekli gordugu nicki suspendler.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Sadece s.root admin suspend auth yapabilir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Coder : toXic", u->nick);
send_cmd(s_NickServ, "NOTICE %s ----------------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 13-> Kanal ve NICK Infolari icin ozel bilgiler..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Coder : toXic", u->nick);
send_cmd(s_NickServ, "NOTICE %s -----------------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 14 -> Services BILGI Komutu", u->nick);
send_cmd(s_NickServ, "NOTICE %s Suan kullandiginiz komut, servicesler ile bir dosyadan okutulmaktadir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Coder : toXic", u->nick);
send_cmd(s_NickServ, "NOTICE %s ------------------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 15 -> Sunucu yoneticilerinin kanala girisinde serviceslerin uyarisi", u->nick);
send_cmd(s_NickServ, "NOTICE %s Sunucu oper admin vs. kanala girdikleri anda chanserv uyari yapar kanalda..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Coder : toXic", u->nick);
send_cmd(s_NickServ, "NOTICE %s -------------------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 16 -> help, helpdesk web vs. kanal vhostlari ve ozellikleri.", u->nick);
send_cmd(s_NickServ, "NOTICE %s --------------------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 17 -> Private Komutu ( /ns set private on/off )", u->nick);
send_cmd(s_NickServ, "NOTICE %s Kullanicilar bu komut ile nick infolarini kapatabilirler..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Coder : toXic", u->nick);
send_cmd(s_NickServ, "NOTICE %s ---------------------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 18 -> Ve, /NS Yerelsaat", u->nick);
send_cmd(s_NickServ, "NOTICE %s Kullanici bu komut ile 10 dunya ulkesinin saatlerine erisecek..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Coder : toXic", u->nick);
send_cmd(s_NickServ, "NOTICE %s ----------------------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 19 -> Coklu Swhois eklentileri modulleri vs..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Coder -> toXic", u->nick);
send_cmd(s_NickServ, "NOTICE %s ------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 20 -> Services MOTD Komutu", u->nick);
send_cmd(s_NickServ, "NOTICE %s Dosyadan Okutmali motd", u->nick);
send_cmd(s_NickServ, "NOTICE %s Coder -> toXic", u->nick);
send_cmd(s_NickServ, "NOTICE %s ----------------------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 21 -> NS Operhelp, NS HELP Gibi Stratejist Komutlar..", u->nick);
send_cmd(s_NickServ, "NOTICE %s ---------------------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 22 /NS Set Mesaj Mesaj", u->nick);
send_cmd(s_NickServ, "NOTICE %s Bu Komutu Yalnizca Services Adminler Kullanabilecek..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Greet mesajlari icindir. Kullanici Kanala girdiginde, ChanServ Kullanicinin belirledigi mesaji kanala yazar..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Coder -> toXic", u->nick);
send_cmd(s_NickServ, "NOTICE %s ---------------------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 23 ->/NS Sans", u->nick);
send_cmd(s_NickServ, "NOTICE %s Kullanici, bu komutu sansi icin kullanabilecek..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Komut Kullanimda kisiye otomatik bir rakam verilir..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Ve Bu rakam, belirlenen \2 5\2 Sayiya uyuyor ise, ona belirlenen hediyeler verilir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Ornegin Kanaldan atilmama, whois cekenleri gorme, vhost, swhois vs..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Fakat, kisinin sans rakami gelene kadar kullanamamasi icin komut kullanimi yalnizca 3 gunde 1 kezdir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Coder -> toXic", u->nick);
send_cmd(s_NickServ, "NOTICE %s ---------------------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 24-> NS Points", u->nick);
send_cmd(s_NickServ, "NOTICE %s Sistem tarafindan size verilen puanlari bu kodla gorebilirsiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Komut kullaninimi, /NS Points NICK\2", u->nick);
send_cmd(s_NickServ, "NOTICE %s Ayrintili Bilgi, \2/NS PointList\2", u->nick);
send_cmd(s_NickServ, "NOTICE %s CODED -> toXic ", u->nick);
send_cmd(s_NickServ, "NOTICE %s ---------------------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 25 -> NS DURUM", u->nick);
send_cmd(s_NickServ, "NOTICE %s /NS SET DURUM Durumunuz komutu ile neler yaptiginizi veya yapacaginizi twitleyebilirsiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Arkadaslarinizin durumunu \2/NS DURUM Nick\2 Komutu ile gorebilirsiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s CODED -> toXic ", u->nick);
send_cmd(s_NickServ, "NOTICE %s ------------------------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 26 -> NS CHECK", u->nick);
send_cmd(s_NickServ, "NOTICE %s Arkadaslarinizin, tanidiklarinizin, sevdiklerinizin bi takim bilgilerini bu komutla gorebilirsiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Eger, Bilgilerinizi \2CHECK\2 komutuna kapatmak istiyorsaniz, \2/NS SET PRIVATE ON\2 Komutunu kullaniniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Eger, tekrar kullanima acmak istiyorsaniz, \2/NS SET PRIVATE OFF\2 Komutunu kullaniniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s CODED -> toXic ", u->nick);
send_cmd(s_NickServ, "NOTICE %s ------------------------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 26 -> ISTEK/ONERI/SIKAYET", u->nick);
send_cmd(s_NickServ, "NOTICE %s Kullanicilar bu komut ile istek, oneri ve goruslerini paylasabilecekler.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Kullanicilarin bu bildirimlerini gorme yetkisi sadece root adminde olacaktir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Sikayet icin, \2/NS SIKAYET Sikayetiniz\2 istek icin, \2/NS ISTEK Isteginiz\2 oneriler icin, \2/NS ONERI Oneriniz", u->nick);
send_cmd(s_NickServ, "NOTICE %s Coder -> toXic", u->nick);
send_cmd(s_NickServ, "NOTICE %s ------------------------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 28 -> Ve diger kodlamalar.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Kullanici nick identify edince kanala alinmasi, regleyince tum kanallardan cikarilip ozel bi kanala alinmasi,", u->nick);
send_cmd(s_NickServ, "NOTICE %s #Operlog services log kanali, Suspend, NOEXPIRE Bilgisi, Nick kayitli degil - bilgisi,", u->nick);
send_cmd(s_NickServ, "NOTICE %s Kanal Operatoru bilgisi, oplari founderleri vs. toplama", u->nick);
send_cmd(s_NickServ, "NOTICE %s Kaydedilen Kanala kurallari yazma vs. vs. gibi kucuk seyler..", u->nick);
send_cmd(s_NickServ, "NOTICE %s CODED -> toXic ", u->nick);
send_cmd(s_NickServ, "NOTICE %s ------------------------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2", u->nick);
send_cmd(s_NickServ, "NOTICE %s Komut Kullanimi \2/OS ACCRAPOR\2 Seklindedir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s ------------------------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s Adminlerin, Nick ve Kanal islemlerinde Kendi yetkilerini kullanarak yaptiklari islemler takip edilecek.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Komut Kullanimi: \2/NS NICKINFO\2 ve \2 /CS CHANINFO\2 Komutlaridir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s ------------------------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s S.root admin \2/NS ONERILER\2 , \2/NS SIKAYETLER\2 , \2/NS ISTEKLER\2 Komutu ile okuyabilecektir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s ------------------------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 Services adminler, s.operlerin attigi suspendleri \2/NS SUSPENDLIST\2 komutu ile listeleyip", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 Gerekli gordugu suspendleri aktiflestirebilecekler.", u->nick);
send_cmd(s_NickServ, "NOTICE %s ------------------------------------------------------------------------", u->nick);
send_cmd(s_NickServ, "NOTICE %s RuLzzServices, Cagin Modern IRC Servicesi", u->nick);
send_cmd(s_NickServ, "NOTICE %s toXic", u->nick);
}
*/
/***************************************************/
// toXic
static void do_yerelsaat(User *u)
{
#define TUR (2)
#define ALM (1)
#define ABD (-8)
#define RUS (1)
#define LUB (2)
#define Bra (-4)
#define newyork (-5)
#define kirgizistan (3)
#define jap (7)
#define paraguay (-6)
#define IRAK (1)
#define ispanya (-1)
#define Ozbek (5)
NickInfo *ni;
ni = get_nickinfo(u->nick);
time_t t;
struct tm *ptm;
time (&t);
ptm = gmtime(&t);
if (!ni) {
send_cmd(s_NickServ, "NOTICE %s Bu Komutu Kullanamazsiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Nickinizi Kaydetmelisiniz.", u->nick);
return;
}
send_cmd(s_NickServ, "NOTICE %s \2", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2 Turkiye - ISTANBUL ->\2 %02d:%02d", u->nick, ptm->tm_hour + TUR, ptm->tm_min);
send_cmd(s_NickServ, "NOTICE %s \2 ABD - New York ->\2 %02d:%02d", u->nick, ptm->tm_hour + newyork, ptm->tm_min);
send_cmd(s_NickServ, "NOTICE %s \2 Rusya - Moscova ->\2 %02d:%02d", u->nick, ptm->tm_hour + RUS, ptm->tm_min);
send_cmd(s_NickServ, "NOTICE %s \2 Almanya - Berlin ->\2 %02d:%02d", u->nick, ptm->tm_hour + ALM, ptm->tm_min);
send_cmd(s_NickServ, "NOTICE %s \2 ABD - Los AnGeLas ->\2 %02d:%02d", u->nick, ptm->tm_hour + ABD, ptm->tm_min);
send_cmd(s_NickServ, "NOTICE %s \2Lubnan ->\2 %02d:%02d", u->nick, ptm->tm_hour + LUB, ptm->tm_min);
send_cmd(s_NickServ, "NOTICE %s \2Brezilya - Rio ->\2 %02d:%02d", u->nick, ptm->tm_hour + Bra, ptm->tm_min);
send_cmd(s_NickServ, "NOTICE %s \2IRAK ->\2 %02d:%02d", u->nick, ptm->tm_hour + IRAK, ptm->tm_min);
send_cmd(s_NickServ, "NOTICE %s \2PARAGAY ->\2 %02d:%02d", u->nick, ptm->tm_hour + paraguay, ptm->tm_min);
send_cmd(s_NickServ, "NOTICE %s \2ispanya -> Madrid \2 %02d:%02d", u->nick, ptm->tm_hour + ispanya, ptm->tm_min);
send_cmd(s_NickServ, "NOTICE %s \2Japonya ->\2 %02d:%02d", u->nick, ptm->tm_hour + jap, ptm->tm_min);
send_cmd(s_NickServ, "NOTICE %s \2Ozbekistan ->\2 %02d:%02d", u->nick, ptm->tm_hour + Ozbek, ptm->tm_min);
send_cmd(s_NickServ, "NOTICE %s \2", u->nick);
send_cmd(s_NickServ, "NOTICE %s Kullanim Saati \2%s", u->nick, ctime(&t));
return;
}
/*************************************************************************/
//Coded toXic
//xHelPILL
static void do_killat(User *u)
{
NickInfo *ni;
ni = get_nickinfo(u->nick);
char *nick = strtok(NULL, " ");
User *u2;
char *sebep;
sebep = strtok_remaining();
NickGroupInfo *ngi;
ngi = get_ngi(ni);
char buf[NICKMAX+32];
if (!(ngi = get_ngi(ni))) {
notice_lang(s_NickServ, u, INTERNAL_ERROR);
return;
}
if (!ngi->helper==1) {
send_cmd(s_NickServ, "NOTICE %s Bu Komuta Erisiminiz Yoktur..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Sadece Ozel Kullanicilar Kullanabilir..", u->nick);
return;
}
if (!sebep) {
send_cmd(s_NickServ, "NOTICE %s Sebep girmediniz.", u->nick);
return;
}
if (!(u2 = get_user(nick))) {
send_cmd(s_NickServ, "NOTICE %s Kullanici suanda sunucuda yok.", u->nick);
return;
}
if (irc_stricmp(nick, u->nick) == 0) {
send_cmd(s_NickServ, "NOTICE %s isleminiz, gerceklestirilemedi.", u->nick);
return;
} else if (ni->status & NS_GUESTED) {
send_cmd(s_NickServ, "NOTICE %s isleminiz, gerceklestirilemedi.", u->nick);
return;
}
if (nick) {
NickInfo *ni2 = get_nickinfo(nick);
if (!ni) {
notice_lang(s_NickServ, u, NICK_X_NOT_REGISTERED, nick);
return;
} else if (ni2 == ni) {
} else {
ni = ni2;
}
}
send_cmd(s_NickServ, "NOTICE %s isleminiz, gerceklestirilmistir.", u->nick);
send_cmd(s_NickServ, "PRIVMSG #toXic \2%s\2 Helperi, \2%s\2 kullanicisini \2%s\2 sebepten kill atti.", u->nick,u2->nick, sebep);
snprintf(buf, sizeof(buf), "Sunucu Kurallarina Uymadiginiz icin \2%s\2 Tarafindan Atildiniz..", u->nick);
kill_user(s_NickServ, nick, buf);
time_t zaman;
struct tm * timeinfo;
time ( &zaman );
timeinfo = localtime ( &zaman );
FILE *dosya_yaz;
dosya_yaz = fopen("kill.txt","a");
if (dosya_yaz != NULL) {
fprintf(dosya_yaz,"[%s] %s KILLED -> %s Sebep -> %s\n", asctime (timeinfo), u->nick, u2->nick, sebep);
fclose(dosya_yaz);
}
}
//ahooy
/*************************************************************************/
static void do_identify(User *u)
{
char *pass = strtok_remaining();
NickInfo *ni = NULL;
NickGroupInfo *ngi = NULL;
/*
static int SEVIYEX = 1;
static int SEVIYEXX = 60*60*24*5;
static int SEVIYEXXX = 60*60*24*20;
static int SEVIYEXXXX = 60*60*24*50;
*/
if (!pass) {
syntax_error(s_NickServ, u, "IDENTIFY", NICK_IDENTIFY_SYNTAX);
} else if (!(ni = u->ni)) {
notice_lang(s_NickServ, u, NICK_NOT_REGISTERED);
} else if (ni->status & NS_VERBOTEN) {
notice_lang(s_NickServ, u, NICK_X_FORBIDDEN, u->nick);
} else if (!(ngi = u->ngi) || ngi == NICKGROUPINFO_INVALID) {
module_log("IDENTIFY: missing NickGroupInfo for %s", u->nick);
notice_lang(s_NickServ, u, NICK_NOT_REGISTERED);
} else if (ngi->suspendinfo) {
notice_lang(s_NickServ, u, NICK_X_SUSPENDED, u->nick);
} else if (!nick_check_password(u, u->ni, pass, "IDENTIFY",
NICK_IDENTIFY_FAILED)) {
/* nothing */
} else if (NSRequireEmail && !ngi->email) {
ni->authstat |= NA_IDENT_NOMAIL;
notice_lang(s_NickServ, u, NICK_IDENTIFY_EMAIL_MISSING, s_NickServ);
} else if (call_callback_2(module, cb_id_check, u, pass) <= 0) {
int old_authstat = ni->authstat;
set_identified(u, ni, ngi);
module_log("%s!%s@%s identified for nick %s",
u->nick, u->username, u->host, u->nick);
notice_lang(s_NickServ, u, NICK_IDENTIFY_SUCCEEDED);
/**** seviye == Yazilim : toXic ****/
/*
if(!is_oper(u))
{
if (SEVIYEXXXX && ni->toplamzaman >= SEVIYEXXXX) {
notice(s_NickServ, u->nick, "Online Surenize Gore Durumunuz \2Profosyonel Kullanici\2 Olarak Kaydedildi");
send_cmd(s_NickServ, "CHGHost %s ProfosyonelKullanici.%s", u->nick, u->nick);
send_cmd(s_NickServ, "SWHOIS10 %s :Kullanicisi Seviyesi : \2 Profosyonel Kullanici", u->nick);
}
else if (SEVIYEXXX && ni->toplamzaman >= SEVIYEXXX) {
notice(s_NickServ, u->nick, "Online Surenize Gore Durumunuz \2Asistan Kullanici\2 Olarak Kaydedildi");
send_cmd(s_NickServ, "CHGHost %s AsistanKullanici.%s", u->nick, u->nick);
send_cmd(s_NickServ, "SWHOIS10 %s :Kullanicisi Seviyesi : \2 Asistan Kullanici", u->nick);
}
else if (SEVIYEXX && ni->toplamzaman >= SEVIYEXX) {
send_cmd(s_NickServ, "SWHOIS10 %s :Kullanicisi Seviyesi : \2 StudenT Kullanici", u->nick);
send_cmd(s_NickServ, "CHGHost %s StudenTKullanici.%s", u->nick, u->nick);
send_cmd(s_NickServ, "NOTICE %s \2Online\2 Surenize Gore Durumunuz \2StudenT Kullanici\2 Olarak Kaydedildi", u->nick);;
}
else if (SEVIYEX && ni->toplamzaman >= SEVIYEX) {
send_cmd(s_NickServ, "SWHOIS10 %s :Kullanicisi Seviyesi : \2 New Kullanici", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2Online\2 Surenize Gore Durumunuz \2New Kullanici\2 Olarak Kaydedildi", u->nick);;
}
else {
send_cmd(s_NickServ, "SWHOIS10 %s :Kullanicisi Seviyesi : \2 Henuz yok", u->nick);
}
}
*/
// #define toxic "#mIRC,#Sohbet,#Radyo,#Oyun"
//send_cmd(s_NickServ, "SAJOIN %s %s", u->nick, toxic);
if((ngi->vhost!=NULL)) {
send_cmd(s_NickServ, "CHGHost %s %s.%s.%s", u->nick, u->nick, ngi->vhost, SUNUCU);
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
send_cmd(s_NickServ, "NOTICE %s Merhabalar, \2 %s", u->nick, u->nick);
send_cmd(s_NickServ, "NOTICE %s Daha onceden secmis oldugunuz \2 %s \2 Vhostu basari ile verilmistir.", u->nick, ngi->vhost);
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
}
if((ngi->host!=NULL)) {
send_cmd(s_NickServ, "CHGHost %s %s", u->nick, ngi->host);
send_cmd(s_NickServ, "NOTICE %s Merhaba \2 %s \2 Yonetim tarafindan verilen \2vhost'a\2 sahip oldunuz..", u->nick, u->nick);
}
if((ngi->takim!=NULL)) {
send_cmd(s_NickServ, "NOTICE %s Merhaba \2 %s", u->nick, u->nick);
send_cmd(s_NickServ, "NOTICE %s \2TAKIM\2 seceneginiz \2 %s \2 olarak eklendi.", u->nick, ngi->takim);
send_cmd(s_NickServ, "SWHOIS2 %s :[ \2Takim : %s\2 ]", u->nick, ngi->takim);
}
if((ngi->sehir!=NULL)) {
send_cmd(s_NickServ, "NOTICE %s \2SEHIR\2 seceneginiz \2 %s \2 olarak eklendi.", u->nick, ngi->sehir);
send_cmd(s_NickServ, "SWHOIS3 %s :[\2 Sehir : %s\2 ]", u->nick, ngi->sehir);
}
if((ngi->yas!=NULL)) {
send_cmd(s_NickServ, "NOTICE %s \2YAS\2 seceneginiz \2 %s \2 olarak eklendi.", u->nick, ngi->yas);
send_cmd(s_NickServ, "SWHOIS4 %s :[\2 Yas : %s\2 ]", u->nick, ngi->yas);
}
if((ngi->burc!=NULL)) {
send_cmd(s_NickServ, "NOTICE %s \2BURC\2 seceneginiz \2 %s \2 olarak eklendi.", u->nick, ngi->burc);
send_cmd(s_NickServ, "SWHOIS5 %s :[\2 Burc : %s\2 ]", u->nick, ngi->burc);
}
if((ngi->facebook!=NULL)) {
send_cmd(s_NickServ, "NOTICE %s \2FACE\2 seceneginiz \2 %s \2 olarak eklendi.", u->nick, ngi->facebook);
send_cmd(s_NickServ, "SWHOIS6 %s :[\2 FACEBOOK : %s\2 ]", u->nick, ngi->facebook);
}
else {
send_cmd(s_NickServ, "NOTICE %s \2 /NS PROFIL \2 yazarak, bilgi alabilirsiniz..", u->nick);
}
/* Gunler,
1 saniye = Caylak
10 gun = Start
25 gun = Super Star
50 gun = Multi star
75 gun = Vezir
100 gun = Lord
200 gun = KraL
olarak ayarlanmistir istediginiz bicimde degistirebilirsiniz. */
static int tox = 1;
static int toxx = 60*60*24*10;
static int toxxx = 60*60*24*25;
static int toxxxx = 60*60*24*50;
static int toxxxxx = 60*60*24*75;
static int toxxxxxx = 60*60*24*100;
static int toxxxxxxx = 60*60*24*200;
if ((!is_services_admin(u)) && (!is_services_oper(u))) {
if (ni->toplamzaman >= toxxxxxxx) {
send_cmd(s_NickServ, "SWHOIS %s :Rutbe \2 KraL\2 Puani = \2%d\2", u->nick, (ni->toplamzaman / 86400 * 8));
}
else if (ni->toplamzaman >= toxxxxxx) {
send_cmd(s_NickServ, "SWHOIS %s :Rutbe \2 Lord\2 Puani = \2%d\2", u->nick, (ni->toplamzaman / 86400 * 7));
}
else if (ni->toplamzaman >= toxxxxx) {
send_cmd(s_NickServ, "SWHOIS %s :Rutbe \2 Vezir\2 Puani = \2%d\2", u->nick, (ni->toplamzaman / 86400 * 6));
} else if (ni->toplamzaman >= toxxxx) {
send_cmd(s_NickServ, "SWHOIS %s :Rutbe \2 Multi Star\2 Puani = \2%d\2", u->nick, (ni->toplamzaman / 86400 * 5));
}
else if (ni->toplamzaman >= toxxx) {
send_cmd(s_NickServ, "SWHOIS %s :Rutbe \2Super Star\2 Puani = \2%d\2", u->nick, (ni->toplamzaman / 86400 * 4));
}
else if (ni->toplamzaman >= toxx) {
send_cmd(s_NickServ, "SWHOIS %s :Rutbe \2Star\2 Puani = \2%d\2", u->nick, (ni->toplamzaman / 86400 * 3));
}
//else if (ni->toplamzaman >= tox) {
else if (ni->toplamzaman >= tox) {
send_cmd(s_NickServ, "SWHOIS %s :Rutbe [\2Caylak\2] Puani = [\2%d\2]", u->nick, (ni->toplamzaman / 86400 * 2));
} else {
send_cmd(s_NickServ, "SWHOIS %s :Henuz Puani yok.", u->nick);
}
}
/* Acmak icin slashlari kaldirin */
/*
send_cmd(s_NickServ,
"SWHOIS8 %s :Toplam Online, \2%d\2 Gun, \2%d\2 Saat, \2%d\2 Dakika, \2%d\2 Saniye.",
u->nick, (ni->toplamzaman / 86400), ((ni->toplamzaman % 86400) / 3600),
(((ni->toplamzaman % 86400) % 3600) / 60),
((((ni->toplamzaman % 86400) % 3600) % 60) % 60));
*/
if (ngi->helper==1) {
if (!ngi->vip==1) {
send_cmd(s_NickServ, "NOTICE %s Merhaba \2%s\2", u->nick, u->nick);
send_cmd(s_NickServ, "NOTICE %s \2HELPER\2 Statusunde sunucuya giris yaptiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Helper ozellikleri, sistem tarafindan size verilmistir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Bunlar disinda, \2/NS KILLAT NICK SEBEP\2 komutu ile", u->nick);
send_cmd(s_NickServ, "NOTICE %s Kurallara uygunsuz davranis gosteren kullanicilari atabilirsiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s KILL Atimlari, surekli takip altindadir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s iyi gorevler dileriz..", u->nick);
send_cmd(s_NickServ, "CHGHOST %s Helper.%s.%s", u->nick, u->nick, SUNUCU);
send_cmd(s_NickServ, "CHGNAME %s %s HELP Team", u->nick);
send_cmd(s_NickServ, "CHGIDENT %s IRCdSVS", u->nick);
send_cmd(s_NickServ, "SVSMODE %s +hW :1", u->nick);
send_cmd(s_NickServ, "PRIVMSG #OPERLOG %s Helper statusunde sunucuya giris yapmistir.", u->nick);
}
}
if (ngi->vip==1) {
if (!ngi->helper==1) {
send_cmd(s_NickServ, "NOTICE %s Merhaba \2%s\2", u->nick, u->nick);
send_cmd(s_NickServ, "NOTICE %s \2VIP\2 Statusunde sunucuya giris yaptiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s VIP ozellikleri, sistem tarafindan size verilmistir.", u->nick);
send_cmd(s_NickServ, "CHGHOST %s VIP.%s.%s", u->nick, u->nick, SUNUCU);
send_cmd(s_NickServ, "CHGNAME %s %s Ozel Kullanicisi", u->nick, SUNUCU);
send_cmd(s_NickServ, "CHGIDENT %s VIP", u->nick);
send_cmd(s_NickServ, "SVSMODE %s +W :1", u->nick);
send_cmd(s_NickServ, "PRIVMSG #OPERLOG \2%s\2 VIP statusunde sunucuya giris yapmistir.", u->nick);
}
}
send_cmd(s_NickServ, "PRIVMSG %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
send_cmd(s_NickServ, "PRIVMSG %s \2", u->nick);
send_cmd(s_NickServ, "PRIVMSG %s IDENTINIZ : \2%s\2", u->nick, u->username);
send_cmd(s_NickServ, "PRIVMSG %s IP Adresiniz : \2%s\2", u->nick, u->host);
send_cmd(s_NickServ, "PRIVMSG %s FULLNAMENIZ : \%s\2", u->nick, u->realname);
send_cmd(s_NickServ, "PRIVMSG %s Online sureniz : \2%d\2 Gun, \2%d\2 Saat, \2%d\2 Dakika, \2%d\2 Saniye.",
u->nick, (ni->toplamzaman / 86400), ((ni->toplamzaman % 86400) / 3600),
(((ni->toplamzaman % 86400) % 3600) / 60),
((((ni->toplamzaman % 86400) % 3600) % 60) % 60));
send_cmd(s_NickServ, "PRIVMSG %s \2", u->nick);
send_cmd(s_NickServ, "PRIVMSG %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
send_cmd(s_NickServ, "PRIVMSG %s [ BILGI ] --=> Kullanicilarin puanlarini gormek icin /NS Points NICK Komutunu kullaniniz.", u->nick, u->username);
send_cmd(s_NickServ, "PRIVMSG %s [ SOZ ] --=> Mezarliklar toplum icin gerekli insanlarla doludur. (Charles de Gaulle)", u->nick, u->username);
send_cmd(s_NickServ, "PRIVMSG %s [ FAL ] --=> Bugun bulacak seni, begenecek gozlerini. Daha kis bitmeden, hapsedecek kalbine seni..", u->nick, u->username);
send_cmd(s_NickServ, "PRIVMSG %s [ SANS ] --=> Sansli sayiniz : /ns sans", u->nick, u->username);
send_cmd(s_NickServ, "PRIVMSG %s [ OYUN ] --=> Sansli oyun kanaliniz #oyun", u->nick, u->username);
send_cmd(s_NickServ, "PRIVMSG %s [ Kanal ] --=> Sansli Muhabbet kanaliniz #Geveze", u->nick, u->username);
send_cmd(s_NickServ, "PRIVMSG %s [ Yönetim Duyurusu ] --=> Nasıl Davranılmasını İstiyorsan öyle davran [ SyranaX ]", u->nick, u->username);
call_callback_2(module, cb_identified, u, old_authstat);
}
}
/*************************************************************************/
static void do_points(User *u)
{
NickInfo *ni = u->ni;
NickGroupInfo *ngi;
ngi = get_ngi(ni);
static int tox = 1;
static int toxx = 60*60*24*10;
static int toxxx = 60*60*24*25;
static int toxxxx = 60*60*24*50;
static int toxxxxx = 60*60*24*75;
static int toxxxxxx = 60*60*24*100;
static int toxxxxxxx = 60*60*24*200;
//toxic
char *nick = strtok(NULL, " ");
if (!ni) {
send_cmd(s_NickServ, "NOTICE %s Nickiniz kayitsizdir.", u->nick);
return;
}
if (nick) {
NickInfo *ni2 = get_nickinfo(nick);
if (!ni2) {
notice_lang(s_NickServ, u, NICK_X_NOT_REGISTERED, nick);
return;
} else if (ni2 == ni) {
} else {
ni = ni2;
}
}
if ((!is_services_admin(u)) && (!is_services_oper(u))) {
if (ni->toplamzaman >= toxxxxxxx) {
send_cmd(s_NickServ, "NOTICE %s :Rutbe \2 KraL\2 Puani = \2%d\2", u->nick, (ni->toplamzaman / 86400 * 8));
}
else if (ni->toplamzaman >= toxxxxxx) {
send_cmd(s_NickServ, "NOTICE %s :Rutbe \2 Lord\2 Puani = \2%d\2", u->nick, (ni->toplamzaman / 86400 * 7));
}
else if (ni->toplamzaman >= toxxxxx) {
send_cmd(s_NickServ, "NOTICE %s :Rutbe \2 Vezir\2 Puani = \2%d\2", u->nick, (ni->toplamzaman / 86400 * 6));
} else if (ni->toplamzaman >= toxxxx) {
send_cmd(s_NickServ, "NOTICE %s :Rutbe \2 Multi Star\2 Puani = \2%d\2", u->nick, (ni->toplamzaman / 86400 * 5));
}
else if (ni->toplamzaman >= toxxx) {
send_cmd(s_NickServ, "NOTICE %s :Rutbe \2Super Star\2 Puani = \2%d\2", u->nick, (ni->toplamzaman / 86400 * 4));
}
else if (ni->toplamzaman >= toxx) {
send_cmd(s_NickServ, "NOTICE %s :Rutbe \2Star\2 Puani = \2%d\2", u->nick, (ni->toplamzaman / 86400 * 3));
}
//else if (ni->toplamzaman >= tox) {
else if (ni->toplamzaman >= tox) {
send_cmd(s_NickServ, "NOTICE %s :Rutbe [\2Caylak\2] Puani = [\2%d\2]", u->nick, (ni->toplamzaman / 86400 * 2));
} else {
send_cmd(s_NickServ, "NOTICE %s :Henuz Puani yok", u->nick);
}
}
}
/***************************************************************************/
static void do_durum(User *u)
{
NickInfo *ni = u->ni;
NickGroupInfo *ngi;
ngi = get_ngi(ni);
char *nick = strtok(NULL, " ");
char *tarih;
tarih = strtok_remaining();
if (!nick) {
send_cmd(s_NickServ, "NOTICE %s Lutfen, Durumunu gormek istediginiz kisinin nickini yaziniz.", u->nick);
return;
}
if (!ni) {
send_cmd(s_NickServ, "NOTICE %s Nickiniz kayitsizdir.", u->nick);
return;
}
if (nick) {
NickInfo *ni2 = get_nickinfo(nick);
if (!ni2) {
notice_lang(s_NickServ, u, NICK_X_NOT_REGISTERED, nick);
return;
} else if (ni2 == ni) {
} else {
ni = ni2;
}
}
if (!(ngi = get_ngi(ni))) {
notice_lang(s_NickServ, u, INTERNAL_ERROR);
return;
}
if ((ngi->durum!=NULL)) {
send_cmd(s_NickServ, "NOTICE %s \2Kullanicinin Durumu :\2 %s", u->nick, ngi->durum);
} else {
send_cmd(s_NickServ, "NOTICE %s Kullanicinin herhangi bir bilgisi yoktur.", u->nick);
}
}
/***************************************************************************/
static void do_drop(User *u)
{
char *pass = strtok(NULL, " ");
NickInfo *ni = u->ni;
NickGroupInfo *ngi = (u->ngi==NICKGROUPINFO_INVALID ? NULL : u->ngi);
if (readonly && !is_services_admin(u)) {
notice_lang(s_NickServ, u, NICK_DROP_DISABLED);
return;
}
/*
static int ibos = 60*60*24*6;
if (!is_services_admin(u) && ni->toplamzaman <= ibos) {
send_cmd(s_NickServ, "NOTICE %s Bu Komutu Kullanmak icin puaniniz \2(6)\2 Olmalidir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Sizin puaniniz \2%d\2", u->nick, (ni->toplamzaman / 86400 * 3));
return;
}
*/
if (!pass || strtok_remaining()) {
syntax_error(s_NickServ, u, "DROP", NICK_DROP_SYNTAX);
if (find_module("nickserv/link") || find_module("nickserv/oldlink"))
notice_lang(s_NickServ, u, NICK_DROP_WARNING);
} else if (!ni || !ngi) {
notice_lang(s_NickServ, u, NICK_NOT_REGISTERED);
} else if (ngi->suspendinfo) {
notice_lang(s_NickServ, u, NICK_X_SUSPENDED, u->nick);
} else if (!nick_check_password(u, u->ni, pass, "DROP",
NICK_DROP_FAILED)) {
/* nothing */
} else {
if (readonly) /* they must be a servadmin in this case */
notice_lang(s_NickServ, u, READ_ONLY_MODE);
drop_nickgroup(ngi, u, NULL);
notice_lang(s_NickServ, u, NICK_DROPPED);
}
}
/*************************************************************************/
/* Services admin function to drop another user's nickname. Privileges
* assumed to be pre-checked.
*/
static void do_dropnick(User *u)
{
char *nick = strtok(NULL, " ");
NickInfo *ni;
NickGroupInfo *ngi;
#ifdef CLEAN_COMPILE
ngi = NULL;
#endif
if (!nick) {
syntax_error(s_NickServ, u, "DROPNICK", NICK_DROPNICK_SYNTAX);
} else if (!(ni = get_nickinfo(nick))) {
notice_lang(s_NickServ, u, NICK_X_NOT_REGISTERED, nick);
} else if (ni->nickgroup && !(ngi = get_ngi(ni))) {
notice_lang(s_NickServ, u, INTERNAL_ERROR);
} else if (NSSecureAdmins && nick_is_services_admin(ni) &&
!is_services_root(u)) {
notice_lang(s_NickServ, u, PERMISSION_DENIED);
} else {
if (readonly)
notice_lang(s_NickServ, u, READ_ONLY_MODE);
if (ni->nickgroup) {
drop_nickgroup(ngi, u, PTR_INVALID);
} else {
module_log("%s!%s@%s dropped forbidden nick %s",
u->nick, u->username, u->host, ni->nick);
delnick(ni);
}
notice_lang(s_NickServ, u, NICK_X_DROPPED, nick);
}
}
/*************************************************************************/
/* Services admin function to drop all nicknames whose E-mail address
* matches the given mask. Privileges assumed to be pre-checked.
*/
/* List of recent DROPEMAILs for CONFIRM */
static struct {
char sender[NICKMAX]; /* Who sent the command (empty = no entry) */
char mask[BUFSIZE]; /* What mask was used */
int count;
time_t sent; /* When the command was sent */
} dropemail_buffer[DROPEMAIL_BUFSIZE];
static void do_dropemail(User *u)
{
char *mask = strtok(NULL, " ");
NickGroupInfo *ngi;
int count, i, found;
/* Parameter check */
if (!mask || strtok_remaining()) {
syntax_error(s_NickServ, u, "DROPEMAIL", NICK_DROPEMAIL_SYNTAX);
return;
}
if (strlen(mask) > sizeof(dropemail_buffer[0].mask)-1) {
notice_lang(s_NickServ, u, NICK_DROPEMAIL_PATTERN_TOO_LONG,
sizeof(dropemail_buffer[0].mask)-1);
return;
}
/* Count nicks matching this mask; exit if none found */
if (strcmp(mask,"-") == 0)
mask = NULL;
count = 0;
for (ngi = first_nickgroupinfo(); ngi; ngi = next_nickgroupinfo()) {
if ((mask && ngi->email && match_wild_nocase(mask,ngi->email))
|| (!mask && !ngi->email)
) {
count += ngi->nicks_count;
}
}
if (!count) {
notice_lang(s_NickServ, u, NICK_DROPEMAIL_NONE);
return;
}
if (mask == NULL)
mask = "-";
/* Clear out any previous entries for this sender/mask */
for (i = 0; i < DROPEMAIL_BUFSIZE; i++) {
if (irc_stricmp(u->nick, dropemail_buffer[i].sender) == 0
&& stricmp(mask, dropemail_buffer[i].mask) == 0
) {
memset(&dropemail_buffer[i], 0, sizeof(dropemail_buffer[i]));
}
}
/* Register command in buffer */
found = -1;
for (i = 0; i < DROPEMAIL_BUFSIZE; i++) {
if (!*dropemail_buffer[i].sender) {
found = i;
break;
}
}
if (found < 0) {
found = 0;
for (i = 1; i < DROPEMAIL_BUFSIZE; i++) {
if (dropemail_buffer[i].sent < dropemail_buffer[found].sent)
found = i;
}
}
memset(&dropemail_buffer[found], 0, sizeof(dropemail_buffer[found]));
strscpy(dropemail_buffer[found].sender, u->nick,
sizeof(dropemail_buffer[found].sender));
strscpy(dropemail_buffer[found].mask, mask,
sizeof(dropemail_buffer[found].mask));
dropemail_buffer[found].sent = time(NULL);
dropemail_buffer[found].count = count;
/* Send count and prompt for confirmation */
notice_lang(s_NickServ, u, NICK_DROPEMAIL_COUNT, count, s_NickServ, mask);
}
static void do_dropemail_confirm(User *u)
{
char *mask = strtok(NULL, " ");
NickGroupInfo *ngi;
int i;
/* Parameter check */
if (!mask || strtok_remaining()) {
syntax_error(s_NickServ, u, "DROPEMAIL-CONFIRM",
NICK_DROPEMAIL_CONFIRM_SYNTAX);
return;
}
/* Make sure this is a DROPEMAIL that (1) we've seen and (2) hasn't
* expired */
for (i = 0; i < DROPEMAIL_BUFSIZE; i++) {
if (irc_stricmp(u->nick, dropemail_buffer[i].sender) == 0
&& stricmp(mask, dropemail_buffer[i].mask) == 0
&& time(NULL) - dropemail_buffer[i].sent < NSDropEmailExpire
) {
break;
}
}
if (i >= DROPEMAIL_BUFSIZE) {
notice_lang(s_NickServ, u, NICK_DROPEMAIL_CONFIRM_UNKNOWN);
return;
}
/* Okay, go ahead and delete */
notice_lang(s_NickServ, u, NICK_DROPEMAIL_CONFIRM_DROPPING,
dropemail_buffer[i].count);
if (readonly)
notice_lang(s_NickServ, u, READ_ONLY_MODE);
if (strcmp(mask,"-") == 0)
mask = NULL;
for (ngi = first_nickgroupinfo(); ngi; ngi = next_nickgroupinfo()) {
if ((mask && ngi->email && match_wild_nocase(mask,ngi->email))
|| (!mask && !ngi->email)
) {
drop_nickgroup(ngi, u, mask ? mask : "-");
}
}
notice_lang(s_NickServ, u, NICK_DROPEMAIL_CONFIRM_DROPPED);
}
/*************************************************************************/
static void do_istek(User *u)
{
char *reason;
reason = strtok_remaining();
NickInfo *ni;
ni = get_nickinfo(u->nick);
if (!ni) {
send_cmd(s_NickServ, "NOTICE %s Once Nickinizi kayit etmelisiniz.", u->nick);
return;
}
if (!reason) {
send_cmd(s_NickServ, "NOTICE %s Isteginizi girmediniz.", u->nick);
return;
}
#define toxgun 1;
static int tox = 60*60*24*toxgun;
if (!is_services_admin(u) && ni->toplamzaman <= tox) {
send_cmd(s_NickServ, "NOTICE %s Bu Komutu Kullanamazsiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2NEDEN\2 -> Nick Online puaniniz, \2 ( 2 ) \2 Olmalidir.", u->nick);
return;
}
else {
time_t zaman;
struct tm * timeinfo;
time ( &zaman );
timeinfo = localtime ( &zaman );
FILE *dosya_yaz;
dosya_yaz = fopen("istek.txt","a");
if (dosya_yaz != NULL) {
fprintf(dosya_yaz,"[%s] %s -> %s\n", asctime (timeinfo), u->nick, reason);
fprintf(dosya_yaz,"-----------------------\n");
fclose(dosya_yaz);
}
send_cmd(s_NickServ, "NOTICE %s Isteginiz alinmistir.", u->nick);
send_cmd(s_NickServ, "PRIVMSG #Kontrol %s Kullanici bir istekte bulundu.", u->nick);
}
}
/*************************************************************************/
static void do_oneri(User *u)
{
char *reason;
reason = strtok_remaining();
NickInfo *ni;
ni = get_nickinfo(u->nick);
if (!ni) {
send_cmd(s_NickServ, "NOTICE %s Once Nickinizi kayit etmelisiniz.", u->nick);
return;
}
if (!reason) {
send_cmd(s_NickServ, "NOTICE %s Onerinizi girmediniz.", u->nick);
return;
}
#define toxgun 1;
static int tox = 60*60*24*toxgun;
if (!is_services_admin(u) && ni->toplamzaman <= tox) {
send_cmd(s_NickServ, "NOTICE %s Bu Komutu Kullanamazsiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2NEDEN\2 -> Nick Online puaniniz, \2 ( 2 ) \2 Olmalidir.", u->nick);
return;
}
else {
time_t zaman;
struct tm * timeinfo;
time ( &zaman );
timeinfo = localtime ( &zaman );
FILE *dosya_yaz;
dosya_yaz = fopen("oneri.txt","a");
if (dosya_yaz != NULL) {
fprintf(dosya_yaz,"[%s] %s -> %s\n", asctime (timeinfo), u->nick, reason);
fprintf(dosya_yaz,"-----------------------\n");
fclose(dosya_yaz);
}
send_cmd(s_NickServ, "NOTICE %s Oneriniz alinmistir.", u->nick);
send_cmd(s_NickServ, "PRIVMSG #Kontrol %s Kullanici bir oneride bulundu.", u->nick);
}
}
/*************************************************************************/
static void do_sikayet(User *u)
{
char *reason;
reason = strtok_remaining();
NickInfo *ni;
ni = get_nickinfo(u->nick);
if (!ni) {
send_cmd(s_NickServ, "NOTICE %s Once Nickinizi kayit etmelisiniz.", u->nick);
return;
}
if (!reason) {
send_cmd(s_NickServ, "NOTICE %s sikayetnizi girmediniz.", u->nick);
return;
}
#define toxgun 1;
static int tox = 60*60*24*toxgun;
if (!is_services_admin(u) && ni->toplamzaman <= tox) {
send_cmd(s_NickServ, "NOTICE %s Bu Komutu Kullanamazsiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2NEDEN\2 -> Nick Online puaniniz, \2 ( 2 ) \2 Olmalidir.", u->nick);
return;
}
else {
time_t zaman;
struct tm * timeinfo;
time ( &zaman );
timeinfo = localtime ( &zaman );
FILE *dosya_yaz;
dosya_yaz = fopen("sikayet.txt","a");
if (dosya_yaz != NULL) {
fprintf(dosya_yaz,"[%s] %s -> %s\n", asctime (timeinfo), u->nick, reason);
fprintf(dosya_yaz,"-----------------------\n");
fclose(dosya_yaz);
}
send_cmd(s_NickServ, "NOTICE %s sikayetniz alinmistir.", u->nick);
send_cmd(s_NickServ, "PRIVMSG #OperLog %s Kullanici bir sikayette bulundu.", u->nick);
}
}
/*************************************************************************/
static void do_sikayetler(User *u)
{
NickInfo *ni;
ni = get_nickinfo(u->nick);
if (!is_services_root(u)) {
send_cmd(s_NickServ, "NOTICE %s Bu Komuta Yetkiniz yok..", u->nick);
return;
}
#define ibokus "sikayet.txt"
FILE *x;
char buf[BUFSIZE];
x = fopen(ibokus, "r");
if (x) {
while (fgets(buf, sizeof(buf), x)) {
buf[strlen(buf)-1] = 0;
send_cmd(s_NickServ, "NOTICE %s %s", u->nick, buf);
}
fclose(x);
} else {
send_cmd(s_NickServ, "NOTICE %s Henuz bir kayit yok.", u->nick);
}
}
/*************************************************************************/
static void do_istekler(User *u)
{
NickInfo *ni;
ni = get_nickinfo(u->nick);
if (!is_services_root(u)) {
send_cmd(s_NickServ, "NOTICE %s Bu Komuta Yetkiniz yok..", u->nick);
return;
}
#define ibokui "istek.txt"
FILE *x;
char buf[BUFSIZE];
x = fopen(ibokui, "r");
if (x) {
while (fgets(buf, sizeof(buf), x)) {
buf[strlen(buf)-1] = 0;
send_cmd(s_NickServ, "NOTICE %s %s", u->nick, buf);
}
fclose(x);
} else {
send_cmd(s_NickServ, "NOTICE %s Henuz bir kayit yok.", u->nick);
}
}
/*************************************************************************/
static void do_oneriler(User *u)
{
NickInfo *ni;
ni = get_nickinfo(u->nick);
if (!is_services_root(u)) {
send_cmd(s_NickServ, "NOTICE %s Bu Komuta Yetkiniz yok..", u->nick);
return;
}
#define ibokuo "oneri.txt"
FILE *x;
char buf[BUFSIZE];
x = fopen(ibokuo, "r");
if (x) {
while (fgets(buf, sizeof(buf), x)) {
buf[strlen(buf)-1] = 0;
send_cmd(s_NickServ, "NOTICE %s %s", u->nick, buf);
}
fclose(x);
} else {
send_cmd(s_NickServ, "NOTICE %s Henuz bir kayit yok.", u->nick);
}
}
/*************************************************************************/
static void do_nickinfo(User *u)
{
if (!is_services_admin(u)) {
send_cmd(s_NickServ, "NOTICE %s :Bu Komuta Yetkiniz yok..", u->nick);
return;
}
char *ibokuc = "nickservibo.txt";
char buf[BUFSIZE];
FILE *x = fopen(ibokuc, "r");
if (x) {
while (fgets(buf, sizeof(buf), x)) {
buf[strlen(buf)-1] = 0;
send_cmd(s_NickServ, "NOTICE %s :%s", u->nick, buf);
}
fclose(x);
} else {
send_cmd(s_NickServ, "NOTICE %s :Henuz bir kayit yok.", u->nick);
}
}
/*************************************************************************/
/* Show hidden info to nick owners and sadmins when the "ALL" parameter is
* supplied. If a nick is online, the "Last seen address" changes to "Is
* online from".
* Syntax: INFO <nick> {ALL}
* -TheShadow (13 Mar 1999)
*/
/* Check the status of show_all and make a note of having done so. This is
* used at the end, to see whether we should print a "use ALL for more info"
* message. Note that this should be the last test in a boolean expression,
* to ensure that used_all isn't set inappropriately. */
#define CHECK_SHOW_ALL (used_all++, show_all)
static void do_info(User *u)
{
#define kayitsiz "Kullanicinin Nicki Kayitsizdir.."
#define kayitsiz2 "Bu nedenle INFO Bilgileri yoktur.."
#define yasakli "Bu Kullanicinin NICKi yasaklanmistir.."
#define yasakli2 "Bu Neden ile, INFO Bilgilerine erisilemiyor.."
char *nick = strtok(NULL, " ");
char *param = strtok(NULL, " ");
NickInfo *ni;
ni = get_nickinfo(u->nick);
NickGroupInfo *ngi;
static int toxic = 1;
static int toxicc = 4320000;
static int toxiccc = 8640000;
static int toxicccc = 17280000;
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
send_cmd(s_NickServ, "NOTICE %s :\2", u->nick);
if (!nick) {
syntax_error(s_NickServ, u, "INFO", NICK_INFO_SYNTAX);
} else if (!(ni = get_nickinfo(nick))) {
send_cmd(s_NickServ, "NOTICE %s %s", u->nick, kayitsiz);
send_cmd(s_NickServ, "NOTICE %s %s", u->nick, kayitsiz2);
} else if (ni->status & NS_VERBOTEN) {
notice_lang(s_NickServ, u, NICK_X_FORBIDDEN, nick);
send_cmd(s_NickServ, "NOTICE %s %s", u->nick, yasakli);
send_cmd(s_NickServ, "NOTICE %s %s", u->nick, yasakli2);
} else {
char buf[BUFSIZE], *end;
const char *commastr = getstring(u->ngi, COMMA_SPACE);
int need_comma = 0;
int nick_online = 0;
int can_show_all = 0, show_all = 0, used_all = 0;
ngi = get_ngi(ni);
if ( (ngi->flags & NF_PRIVATE) )
{
if
(!is_oper(u))
if (!nick_identified(ni) || (u->ngi != ngi))
{
send_cmd(s_NickServ, "NOTICE %s Kullanici bu bilgileri gosterime kapatmis.", u->nick);
return;
}
}
if (!ngi) {
notice_lang(s_NickServ, u, INTERNAL_ERROR);
return;
}
/* Is the real owner of the nick we're looking up online? -TheShadow */
if (ni->user && nick_id_or_rec(ni))
nick_online = 1;
/* Only show hidden fields to owner and sadmins and only when the ALL
* parameter is used. -TheShadow */
can_show_all = ((u==ni->user && nick_online) || is_services_admin(u));
if (can_show_all && (param && stricmp(param, "ALL") == 0))
show_all = 1;
notice_lang(s_NickServ, u, NICK_INFO_REALNAME,
nick, ni->last_realname);
if (stricmp(ni->nick, ServicesRoot) == 0) {
send_cmd(s_NickServ, "NOTICE %s :%s \2Services Root Administrator (SRA)",
u->nick, ni->nick);
}
else if (nick_is_services_admin(ni)) {
send_cmd(s_NickServ, "NOTICE %s :%s \2Services Administrator (SA)",
u->nick, ni->nick);
}
else if (nick_is_services_oper(ni)) {
send_cmd(s_NickServ, "NOTICE %s :%s \2Services Operator (SOP)",
u->nick, ni->nick);
}
else if (ngi->helper==1) {
send_cmd(s_NickServ, "NOTICE %s :\2%s\2 Services \2Helper\2 (SH)", u->nick, ni->nick);
}
/* Ignore HIDE and show the real hostmask to anyone who can use
* INFO ALL. */
if (nick_online) {
if (!(ngi->flags & NF_HIDE_MASK) || can_show_all)
notice_lang(s_NickServ, u, NICK_INFO_ADDRESS_ONLINE,
can_show_all ? ni->last_realmask : ni->last_usermask);
else
notice_lang(s_NickServ, u, NICK_INFO_ADDRESS_ONLINE_NOHOST,
ni->nick);
} else {
if (!(ngi->flags & NF_HIDE_MASK) || can_show_all)
notice_lang(s_NickServ, u, NICK_INFO_ADDRESS,
can_show_all ? ni->last_realmask : ni->last_usermask);
strftime_lang(buf, sizeof(buf), u->ngi,
STRFTIME_DATE_TIME_FORMAT, ni->last_seen);
notice_lang(s_NickServ, u, NICK_INFO_LAST_SEEN, buf);
}
if (!noexpire && N***pire && !(ni->status & NS_NOEXPIRE)
) {
int time_left = N***pire - (time(NULL) - ni->last_seen);
if (time_left) {
notice(s_NickServ, u->nick, "Bu nick tekrar kullanilana kadar \2 %s \2 gunluk koruma altindadir..",
maketime(get_ngi(ni),time_left,0));
}
}
if ((ni->status & NS_NOEXPIRE))
send_cmd(s_NickServ, "NOTICE %s :Bu Kullanici olumsuzdur \2zaman asimi yoktur\2 sinirsiz koruma altindadir.!",
u->nick);
send_cmd(s_NickServ,
"NOTICE %s :Toplam \2Online\2 Suresi, \2%d\2 Gun, \2%d\2 Saat, \2%d\2 Dakika, \2%d\2 Saniye.",
u->nick, (ni->toplamzaman / 86400), ((ni->toplamzaman % 86400) / 3600),
(((ni->toplamzaman % 86400) % 3600) / 60),
((((ni->toplamzaman % 86400) % 3600) % 60) % 60));
if (ni->toplamzaman >= toxicccc) {
notice(s_NickServ, u->nick, "\2Online\2 Durumuna Gore Seviyesi \2(ProfosyoneL Kullanici)\2");
}
else if (ni->toplamzaman >= toxiccc) {
notice(s_NickServ, u->nick, "\2Online\2 Durumuna Gore Seviyesi \2(Asistan Kullanici)\2");
}
else if (ni->toplamzaman >= toxicc) {
notice(s_NickServ, u->nick, "\2Online\2 Durumuna Gore Seviyesi \2(StudenT Kullanici)\2");
}
else if (ni->toplamzaman >= toxic) {
notice(s_NickServ, u->nick, "\2Online\2 Durumuna Gore Seviyesi \2(New Kullanici)\2");
}
else {
notice(s_NickServ, u->nick, "\2Henuz, Online Seviye Durumuna Gecememis");
}
/*
#define GUNX 1;
static int iboX = 60*60*24*GUNX;
#define GUNXX 10;
static int iboXX = 60*60*24*GUNXX;
#define GUNXXX 20;
static int iboXXX = 60*60*24*GUNXXX;
#define GUNXXXX 50;
static int iboXXXX = 60*60*24*GUNXXXX;
if (iboXXXX && ni->time_registered >= iboXXXX) {
notice(s_NickServ, u->nick, "\2Kayit\2 Durumuna Gore Durumu \2(Artik emekli olma zamani gelmis.)\2");
}
else if (iboXXX && ni->time_registered >= iboXXX) {
notice(s_NickServ, u->nick, "\2Kayit\2 Durumuna Gore Durumu \2(Kendi Ortamini Kurmus.)\2");
}
else if (iboXX && ni->time_registered >= iboXX) {
notice(s_NickServ, u->nick, "\2Kayit\2 Durumuna Gore Durumu \2(Ortamlara girmeye calisiyor.)\2");
}
else if (iboX && ni->time_registered >= iboX) {
notice(s_NickServ, u->nick, "\2Kayit\2 Durumuna Gore Durumu \2(Henuz Cok caylak..)\2");
}
else {
notice(s_NickServ, u->nick, "\2Henuz, Kayit seviye Durumuna Gecememis..");
}
*/
strftime_lang(buf, sizeof(buf), u->ngi, STRFTIME_DATE_TIME_FORMAT,
ni->time_registered);
notice_lang(s_NickServ, u, NICK_INFO_TIME_REGGED, buf);
if (ni->last_quit && (!(ngi->flags & NF_HIDE_QUIT) || CHECK_SHOW_ALL))
notice_lang(s_NickServ, u, NICK_INFO_LAST_QUIT, ni->last_quit);
if (ngi->url)
notice_lang(s_NickServ, u, NICK_INFO_URL, ngi->url);
if (ngi->email && (!(ngi->flags & NF_HIDE_EMAIL) || CHECK_SHOW_ALL)) {
if (ngi->authcode) {
if (can_show_all) {
notice_lang(s_NickServ, u, NICK_INFO_EMAIL_UNAUTHED,
ngi->email);
}
} else {
notice_lang(s_NickServ, u, NICK_INFO_EMAIL, ngi->email);
}
}
if (ngi->info)
notice_lang(s_NickServ, u, NICK_INFO_INFO, ngi->info);
*buf = 0;
end = buf;
if (ngi->flags & NF_KILLPROTECT) {
end += snprintf(end, sizeof(buf)-(end-buf), "%s",
getstring(u->ngi, NICK_INFO_OPT_KILL));
need_comma = 1;
}
if (ngi->flags & NF_SECURE) {
end += snprintf(end, sizeof(buf)-(end-buf), "%s%s",
need_comma ? commastr : "",
getstring(u->ngi, NICK_INFO_OPT_SECURE));
need_comma = 1;
}
if (ngi->flags & NF_PRIVATE) {
end += snprintf(end, sizeof(buf)-(end-buf), "%s%s",
need_comma ? commastr : "",
getstring(u->ngi, NICK_INFO_OPT_PRIVATE));
need_comma = 1;
}
notice_lang(s_NickServ, u, NICK_INFO_OPTIONS,
*buf ? buf : getstring(u->ngi, NICK_INFO_OPT_NONE));
if (ngi->suspendinfo) {
notice_lang(s_NickServ, u, NICK_X_SUSPENDED, nick);
send_cmd(s_NickServ, "NOTICE %s Suspendli Nickler Hk. sikayetler icin, HELPDESK kanalini kullanin.", u->nick);
if (CHECK_SHOW_ALL) {
SuspendInfo *si = ngi->suspendinfo;
char timebuf[BUFSIZE], expirebuf[BUFSIZE];
strftime_lang(timebuf, sizeof(timebuf), u->ngi,
STRFTIME_DATE_TIME_FORMAT, si->suspended);
expires_in_lang(expirebuf, sizeof(expirebuf), u->ngi,
si->expires);
notice_lang(s_NickServ, u, NICK_INFO_SUSPEND_DETAILS,
si->who, timebuf, expirebuf);
notice_lang(s_NickServ, u, NICK_INFO_SUSPEND_REASON,
si->reason);
}
}
if (can_show_all && !show_all && used_all)
notice_lang(s_NickServ, u, NICK_INFO_SHOW_ALL, s_NickServ,
ni->nick);
send_cmd(s_NickServ, "NOTICE %s :%s nicki size [/NickServ INFO] komutunu uyguladı.", ni->nick, u->nick);
if(!stricmp("toXic", nick)) {
send_cmd(s_NickServ, "NOTICE %s :\2%s\2 RuLzzServices \2IRCd - Services\2 Head Coder!",
u->nick, ni->nick);
}
send_cmd(s_NickServ, "NOTICE %s \2", u->nick);
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~ \2Special INFO\2 ~~~~~~~~~~~~~~~~", u->nick);
if ((ngi->durum != NULL)) {
send_cmd(s_NickServ, "NOTICE %s Kullanici \2DURUM\2 Bilgisi girmistir.", u->nick);
} else {
send_cmd(s_NickServ, "NOTICE %s Kullanici \2DURUM\2 Bilgisi girmemistir.", u->nick);
}
if((ngi->takim!=NULL)) {
send_cmd(s_NickServ, "NOTICE %s Kullanicinin TAKIMI : \2%s\2", u->nick, ngi->takim);
}
if((ngi->sehir!=NULL)) {
send_cmd(s_NickServ, "NOTICE %s Kullanicinin SEHRI : \2%s\2", u->nick, ngi->sehir);
}
if((ngi->yas!=NULL)) {
send_cmd(s_NickServ, "NOTICE %s Kullanicinin YASI : \2%s\2", u->nick, ngi->yas);
}
if((ngi->burc!=NULL)) {
send_cmd(s_NickServ, "NOTICE %s Kullanicinin BURCu : \2%s\2", u->nick, ngi->burc);
}
if((ngi->facebook!=NULL)) {
send_cmd(s_NickServ, "NOTICE %s Kullanicinin Facebooku : \2%s\2", u->nick, ngi->facebook);
}
if (ngi->noop==1) {
send_cmd(s_NickServ, "NOTICE %s Bu Kullaniciya Access Eklenemez.", u->nick);
} else {
send_cmd(s_NickServ, "NOTICE %s Bu Kullaniciya Access Eklenebilir.", u->nick);
}
send_cmd(s_NickServ, "NOTICE %s :\2", u->nick);
send_cmd(s_NickServ, "NOTICE %s :Tüm Nick ve Kanallar\2 GENEL IRC kuralları\2 dahilinde ilk kayit eden kişiye Aittir", u->nick, u->nick);
send_cmd(s_NickServ, "NOTICE %s :IRC Yönetimi, \2Nick\2 ve \2Kanalların\2 kullanımını kurallar dahilinde \2yasaklayabilir, devir edebilir.", u->nick, u->nick);
send_cmd(s_NickServ, "NOTICE %s :Yönetim bu konuda herhangi bir ACIKLAMA veya DUYURU gerekmedikçe yapmaz.", u->nick, u->nick);
send_cmd(s_NickServ, "NOTICE %s :Bu Kisi \2IRC bağımlısıdır, tedavisi yoktur.!", u->nick, u->nick);
send_cmd(s_NickServ, "NOTICE %s :\2", u->nick);
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
}
}
/*************************************************************************/
static void do_listchans(User *u)
{
NickInfo *ni = u->ni;
NickGroupInfo *ngi;
static int ibos = 60*60*24*1;
if (!is_services_admin(u) && ni->toplamzaman <= ibos) {
send_cmd(s_NickServ, "NOTICE %s Bu Komutu Kullanmak icin puaniniz \2(3)\2 Olmalidir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Sizin puaniniz \2%d\2", u->nick, (ni->toplamzaman / 86400 * 3));
return;
}
if (is_oper(u)) {
char *nick = strtok(NULL, " ");
if (nick) {
NickInfo *ni2 = get_nickinfo(nick);
if (!ni2) {
notice_lang(s_NickServ, u, NICK_X_NOT_REGISTERED, nick);
return;
} else if (ni2 == ni) {
/* Let the command through even for non-servadmins if they
* gave their own nick; it's less confusing than a
* "Permission denied" error */
} else if (!is_services_admin(u)) {
notice_lang(s_NickServ, u, PERMISSION_DENIED);
return;
} else {
ni = ni2;
}
}
} else if (strtok_remaining()) {
syntax_error(s_NickServ, u, "LISTCHANS", NICK_LISTCHANS_SYNTAX);
return;
}
if (!ni) {
notice_lang(s_NickServ, u, NICK_NOT_REGISTERED);
return;
}
if (ni->status & NS_VERBOTEN) {
notice_lang(s_NickServ, u, NICK_X_FORBIDDEN, ni->nick);
} else if (!user_identified(u)) {
notice_lang(s_NickServ, u, NICK_IDENTIFY_REQUIRED, s_NickServ);
} else if (!(ngi = get_ngi(ni))) {
notice_lang(s_NickServ, u, INTERNAL_ERROR);
} else if (!ngi->channels_count) {
notice_lang(s_NickServ, u, NICK_LISTCHANS_NONE, ni->nick);
} else {
int i;
notice_lang(s_NickServ, u, NICK_LISTCHANS_HEADER, ni->nick);
ARRAY_FOREACH (i, ngi->channels)
notice(s_NickServ, u->nick, " %s", ngi->channels[i]);
notice_lang(s_NickServ, u, NICK_LISTCHANS_END, ngi->channels_count);
}
}
/*************************************************************************/
static void do_list(User *u)
{
char *pattern = strtok(NULL, " ");
char *keyword;
NickInfo *ni;
NickGroupInfo *ngi;
int nnicks;
char buf[BUFSIZE];
int is_servadmin = is_services_admin(u);
int16 match_NS = 0; /* NS_ flags a nick must match one of to qualify */
int32 match_NF = 0; /* NF_ flags a nick must match one of to qualify */
int match_susp = 0; /* 1 if we match on suspended nicks */
int match_auth = 0; /* 1 if we match on nicks with auth codes */
int have_auth_module = 0; /* so we don't show no-auth char if no module */
if (NSListOpersOnly && !is_oper(u)) {
notice_lang(s_NickServ, u, PERMISSION_DENIED);
return;
}
have_auth_module = (find_module("nickserv/mail-auth") != NULL);
if (!pattern) {
syntax_error(s_NickServ, u, "LIST",
is_oper(u) ? NICK_LIST_OPER_SYNTAX : NICK_LIST_SYNTAX);
} else {
int mask_has_at = (strchr(pattern,'@') != 0);
nnicks = 0;
while (is_servadmin && (keyword = strtok(NULL, " "))) {
if (stricmp(keyword, "FORBIDDEN") == 0) {
match_NS |= NS_VERBOTEN;
} else if (stricmp(keyword, "NOEXPIRE") == 0) {
match_NS |= NS_NOEXPIRE;
} else if (stricmp(keyword, "SUSPENDED") == 0) {
match_susp = 1;
} else if (stricmp(keyword, "NOAUTH") == 0 && have_auth_module) {
match_auth = 1;
} else {
syntax_error(s_NickServ, u, "LIST",
is_oper(u) ? NICK_LIST_OPER_SYNTAX : NICK_LIST_SYNTAX);
}
}
notice_lang(s_NickServ, u, NICK_LIST_HEADER, pattern);
for (ni = first_nickinfo(); ni; ni = next_nickinfo()) {
int usermask_seen = 0; /* does user get to see the usermask? */
const char *mask; /* which mask to show? (fake vs. real) */
if (u == ni->user || is_services_admin(u))
mask = ni->last_realmask;
else
mask = ni->last_usermask;
ngi = get_nickgroupinfo(ni->nickgroup);
if (!is_servadmin && ((ngi && (ngi->flags & NF_PRIVATE))
|| (ni->status & NS_VERBOTEN)))
continue;
if (match_NS || match_NF || match_susp || match_auth)
/* ok, we have flags, now see if they match */
if (!((ni->status & match_NS)
|| (ngi && (ngi->flags & match_NF))
|| (ngi && ngi->suspendinfo && match_susp)
|| (ngi && ngi->authcode && match_auth)
)) {
continue;
}
if (!is_servadmin && (ngi->flags & NF_HIDE_MASK)) {
snprintf(buf, sizeof(buf), "%-20s [Hidden]", ni->nick);
} else if (ni->status & NS_VERBOTEN) {
snprintf(buf, sizeof(buf), "%-20s [Forbidden]", ni->nick);
} else {
usermask_seen = 1;
snprintf(buf, sizeof(buf), "%-20s %s", ni->nick, mask);
}
if ((!mask_has_at && match_wild_nocase(pattern, ni->nick))
|| (mask_has_at && usermask_seen
&& match_wild_nocase(pattern, mask))
) {
if (++nnicks <= NSListMax) {
char suspended_char = ' ';
char noexpire_char = ' ';
const char *auth_char = have_auth_module ? " " : "";
if (is_servadmin) {
if (ngi && ngi->suspendinfo)
suspended_char = '*';
if (ni->status & NS_NOEXPIRE)
noexpire_char = '!';
if (have_auth_module && ngi && ngi->authcode)
auth_char = "?";
}
notice(s_NickServ, u->nick, " %c%c%s %s",
suspended_char, noexpire_char, auth_char, buf);
}
}
}
notice_lang(s_NickServ, u, NICK_LIST_RESULTS,
nnicks>NSListMax ? NSListMax : nnicks, nnicks);
}
}
/******************************** Coded toXic ******************************/
static void do_suspendlist(User *u)
{
NickInfo *ni;
ni = get_nickinfo(u->nick);
if (!is_services_admin(u)) {
send_cmd(s_NickServ, "NOTICE %s Bu Komuta Yetkiniz yok..", u->nick);
return;
}
#define ibokuss "suspend.txt"
FILE *x;
char buf[BUFSIZE];
x = fopen(ibokuss, "r");
if (x) {
while (fgets(buf, sizeof(buf), x)) {
buf[strlen(buf)-1] = 0;
send_cmd(s_NickServ, "NOTICE %s %s", u->nick, buf);
}
fclose(x);
} else {
send_cmd(s_NickServ, "NOTICE %s Henuz bir kayit yok.", u->nick);
}
}
/*************************************************************************/
static void do_listemail(User *u)
{
char *pattern = strtok(NULL, " ");
char *keyword;
NickInfo *ni;
NickGroupInfo *ngi;
int nnicks;
char buf[BUFSIZE];
int is_servadmin = is_services_admin(u);
int16 match_NS = 0; /* NS_ flags a nick must match one of to qualify */
int32 match_NF = 0; /* NF_ flags a nick must match one of to qualify */
int match_susp = 0; /* 1 if we match on suspended nicks */
int match_auth = 0; /* 1 if we match on nicks with auth codes */
int have_auth_module = 0; /* so we don't show no-auth char if no module */
if (NSListOpersOnly && !is_oper(u)) {
notice_lang(s_NickServ, u, PERMISSION_DENIED);
return;
}
have_auth_module = (find_module("nickserv/mail-auth") != NULL);
if (!pattern) {
syntax_error(s_NickServ, u, "LISTEMAIL",
is_oper(u) ? NICK_LIST_OPER_SYNTAX : NICK_LIST_SYNTAX);
} else {
const char *nonestr = getstring(u->ngi, NICK_LISTEMAIL_NONE);
int mask_has_at = (strchr(pattern,'@') != 0);
nnicks = 0;
while (is_servadmin && (keyword = strtok(NULL, " "))) {
if (stricmp(keyword, "FORBIDDEN") == 0) {
match_NS |= NS_VERBOTEN;
} else if (stricmp(keyword, "NOEXPIRE") == 0) {
match_NS |= NS_NOEXPIRE;
} else if (stricmp(keyword, "SUSPENDED") == 0) {
match_susp = 1;
} else if (stricmp(keyword, "NOAUTH") == 0 && have_auth_module) {
match_auth = 1;
} else {
syntax_error(s_NickServ, u, "LISTEMAIL",
is_oper(u) ? NICK_LIST_OPER_SYNTAX : NICK_LIST_SYNTAX);
}
}
notice_lang(s_NickServ, u, NICK_LIST_HEADER, pattern);
for (ni = first_nickinfo(); ni; ni = next_nickinfo()) {
int email_seen = 0; /* does user get to see the address? */
ngi = get_nickgroupinfo(ni->nickgroup);
if (!is_servadmin && ((ngi && (ngi->flags & NF_PRIVATE))
|| (ni->status & NS_VERBOTEN)))
continue;
if (match_NS || match_NF || match_susp || match_auth)
/* ok, we have flags, now see if they match */
if (!((ni->status & match_NS)
|| (ngi && (ngi->flags & match_NF))
|| (ngi && ngi->suspendinfo && match_susp)
|| (ngi && ngi->authcode && match_auth)
)) {
continue;
}
if (!is_servadmin && (ngi->flags & NF_HIDE_EMAIL)
&& (!valid_ngi(u) || ngi->id!=u->ngi->id || !user_identified(u))){
snprintf(buf, sizeof(buf), "%-20s [Hidden]", ni->nick);
} else if (ni->status & NS_VERBOTEN) {
snprintf(buf, sizeof(buf), "%-20s [Forbidden]", ni->nick);
} else {
email_seen = 1;
snprintf(buf, sizeof(buf), "%-20s %s", ni->nick,
ngi->email ? ngi->email : nonestr);
}
if ((!mask_has_at && match_wild_nocase(pattern, ni->nick))
|| (mask_has_at && email_seen && ngi->email
&& match_wild_nocase(pattern, ngi->email))
) {
if (++nnicks <= NSListMax) {
char suspended_char = ' ';
char noexpire_char = ' ';
const char *auth_char = have_auth_module ? " " : "";
if (is_servadmin) {
if (ngi && ngi->suspendinfo)
suspended_char = '*';
if (ni->status & NS_NOEXPIRE)
noexpire_char = '!';
if (have_auth_module && ngi && ngi->authcode)
auth_char = "?";
}
notice(s_NickServ, u->nick, " %c%c%s %s",
suspended_char, noexpire_char, auth_char, buf);
}
}
}
notice_lang(s_NickServ, u, NICK_LIST_RESULTS,
nnicks>NSListMax ? NSListMax : nnicks, nnicks);
}
}
/***************************************************/
/*
// toXic
static void do_yerelsaat(User *u)
{
#define TUR (2)
#define ALM (1)
#define ABD (-8)
#define RUS (1)
#define LUB (2)
#define Bra (-4)
#define newyork (-5)
#define kirgizistan (3)
#define jap (7)
#define paraguay (-6)
#define IRAK (1)
#define ispanya (-1)
#define Ozbek (5)
NickInfo *ni;
ni = get_nickinfo(toxic->nick);
time_t t;
struct tm *ptm;
time (&t);
ptm = gmtime(&t);
if (!ni) {
send_cmd(s_NickServ, "NOTICE %s Bu Komutu Kullanamazsiniz.", toxic->nick);
send_cmd(s_NickServ, "NOTICE %s Nickinizi Kaydetmelisiniz.", toxic->nick);
return;
}
send_cmd(s_NickServ, "NOTICE %s \2", toxic->nick);
send_cmd(s_NickServ, "NOTICE %s \2 Turkiye - ISTANBUL ->\2 %02d:%02d", toxic->nick, ptm->tm_hour + TUR, ptm->tm_min);
send_cmd(s_NickServ, "NOTICE %s \2 ABD - New York ->\2 %02d:%02d", toxic->nick, ptm->tm_hour + newyork, ptm->tm_min);
send_cmd(s_NickServ, "NOTICE %s \2 Rusya - Moscova ->\2 %02d:%02d", toxic->nick, ptm->tm_hour + RUS, ptm->tm_min);
send_cmd(s_NickServ, "NOTICE %s \2 Almanya - Berlin ->\2 %02d:%02d", toxic->nick, ptm->tm_hour + ALM, ptm->tm_min);
send_cmd(s_NickServ, "NOTICE %s \2 ABD - Los AnGeLas ->\2 %02d:%02d", toxic->nick, ptm->tm_hour + ABD, ptm->tm_min);
send_cmd(s_NickServ, "NOTICE %s \2Lubnan ->\2 %02d:%02d", toxic->nick, ptm->tm_hour + LUB, ptm->tm_min);
send_cmd(s_NickServ, "NOTICE %s \2Brezilya - Rio ->\2 %02d:%02d", toxic->nick, ptm->tm_hour + Bra, ptm->tm_min);
send_cmd(s_NickServ, "NOTICE %s \2IRAK ->\2 %02d:%02d", toxic->nick, ptm->tm_hour + IRAK, ptm->tm_min);
*/
/*************************************************************************/
static void do_recover(User *u)
{
char *nick = strtok(NULL, " ");
char *pass = strtok(NULL, " ");
NickInfo *ni;
User *u2;
if (!nick || strtok_remaining()) {
syntax_error(s_NickServ, u, "RECOVER", NICK_RECOVER_SYNTAX);
} else if (!(u2 = get_user(nick))) {
notice_lang(s_NickServ, u, NICK_X_NOT_IN_USE, nick);
} else if (!(ni = u2->ni)) {
notice_lang(s_NickServ, u, NICK_X_NOT_REGISTERED, nick);
} else if (ni->status & NS_GUESTED) {
notice_lang(s_NickServ, u, NICK_X_NOT_IN_USE, nick);
} else if (ni->status & NS_VERBOTEN) {
notice_lang(s_NickServ, u, NICK_X_FORBIDDEN, nick);
} else if (irc_stricmp(nick, u->nick) == 0) {
notice_lang(s_NickServ, u, NICK_NO_RECOVER_SELF);
} else {
if (pass) {
if (!nick_check_password(u, ni, pass, "RECOVER", ACCESS_DENIED))
return;
} else if (!has_identified_nick(u, ni->nickgroup)) {
notice_lang(s_NickServ, u, ACCESS_DENIED);
return;
}
collide(ni, 0);
notice_lang(s_NickServ, u, NICK_RECOVERED, s_NickServ, nick);
send_cmd(s_NickServ, "PRIVMSG #Admin NICK-RECOVER: * %s * rumuzu RECOVER EDİLDİ, komut uygulayan: * %s *", nick, u->nick);
}
}
/*************************************************************************/
static void do_release(User *u)
{
char *nick = strtok(NULL, " ");
char *pass = strtok(NULL, " ");
NickInfo *ni;
if (!nick || strtok_remaining()) {
syntax_error(s_NickServ, u, "RELEASE", NICK_RELEASE_SYNTAX);
} else if (!(ni = get_nickinfo(nick))) {
notice_lang(s_NickServ, u, NICK_X_NOT_REGISTERED, nick);
} else if (ni->status & NS_VERBOTEN) {
notice_lang(s_NickServ, u, NICK_X_FORBIDDEN, nick);
} else if (!(ni->status & NS_KILL_HELD)) {
notice_lang(s_NickServ, u, NICK_RELEASE_NOT_HELD, nick);
} else {
if (pass) {
if (!nick_check_password(u, ni, pass, "RELEASE", ACCESS_DENIED))
return;
} else if (!has_identified_nick(u, ni->nickgroup)) {
notice_lang(s_NickServ, u, ACCESS_DENIED);
return;
}
release(ni, 0);
notice_lang(s_NickServ, u, NICK_RELEASED, ni->nick);
}
}
/*************************************************************************/
static void do_ghost(User *u)
{
char *nick = strtok(NULL, " ");
char *pass = strtok(NULL, " ");
NickInfo *ni;
User *u2;
if (!nick || strtok_remaining()) {
syntax_error(s_NickServ, u, "GHOST", NICK_GHOST_SYNTAX);
} else if (!(u2 = get_user(nick))) {
notice_lang(s_NickServ, u, NICK_X_NOT_IN_USE, nick);
} else if (!(ni = u2->ni)) {
notice_lang(s_NickServ, u, NICK_X_NOT_REGISTERED, nick);
} else if (ni->status & NS_GUESTED) {
notice_lang(s_NickServ, u, NICK_X_NOT_IN_USE, nick);
} else if (ni->status & NS_VERBOTEN) {
notice_lang(s_NickServ, u, NICK_X_FORBIDDEN, nick);
} else if (irc_stricmp(nick, u->nick) == 0) {
notice_lang(s_NickServ, u, NICK_NO_GHOST_SELF);
} else {
char buf[NICKMAX+32];
if (pass) {
if (!nick_check_password(u, ni, pass, "GHOST", ACCESS_DENIED))
return;
} else if (!has_identified_nick(u, ni->nickgroup)) {
notice_lang(s_NickServ, u, ACCESS_DENIED);
return;
}
snprintf(buf, sizeof(buf), "GHOST command used by %s", u->nick);
kill_user(s_NickServ, nick, buf);
notice_lang(s_NickServ, u, NICK_GHOST_KILLED, nick);
}
}
/*************************************************************************/
static void do_status(User *u)
{
char *nick;
User *u2;
int i = 0;
while ((nick = strtok(NULL, " ")) && (i++ < 16)) {
if (!(u2 = get_user(nick)) || !u2->ni)
notice(s_NickServ, u->nick, "STATUS %s 0", nick);
else if (user_identified(u2))
notice(s_NickServ, u->nick, "STATUS %s 3", nick);
else if (user_recognized(u2))
notice(s_NickServ, u->nick, "STATUS %s 2", nick);
else
notice(s_NickServ, u->nick, "STATUS %s 1", nick);
}
}
/*************************************************************************/
static void do_getpass(User *u)
{
char *nick = strtok(NULL, " ");
char pass[PASSMAX];
NickInfo *ni;
NickGroupInfo *ngi;
int i;
/* Assumes that permission checking has already been done. */
if (!nick) {
syntax_error(s_NickServ, u, "GETPASS", NICK_GETPASS_SYNTAX);
} else if (!(ni = get_nickinfo(nick))) {
notice_lang(s_NickServ, u, NICK_X_NOT_REGISTERED, nick);
} else if (ni->status & NS_VERBOTEN) {
notice_lang(s_NickServ, u, NICK_X_FORBIDDEN, nick);
} else if (!(ngi = get_ngi(ni))) {
notice_lang(s_NickServ, u, INTERNAL_ERROR);
} else if (NSSecureAdmins && nick_is_services_admin(ni) &&
!is_services_root(u)) {
notice_lang(s_NickServ, u, PERMISSION_DENIED);
} else if ((i = decrypt(ngi->pass, pass, PASSMAX)) < 0) {
module_log("decrypt() failed for GETPASS on %s", nick);
notice_lang(s_NickServ, u, INTERNAL_ERROR);
} else if (i == 0) {
notice_lang(s_NickServ, u, NICK_GETPASS_UNAVAILABLE);
} else {
module_log("%s!%s@%s used GETPASS on %s",
u->nick, u->username, u->host, nick);
if (WallGetpass)
wallops(s_NickServ, "\2%s\2 used GETPASS on \2%s\2", u->nick,nick);
notice_lang(s_NickServ, u, NICK_GETPASS_PASSWORD_IS, nick, pass);
/*
send_cmd(s_NickServ, "PRIVMSG #opers NICK-GETPASS: * %s * nickine getpass cekildi, komutu uygulayan yetkili: * %s *", nick, u->nick);
*/
}
}
/*************************************************************************/
static void do_forbid(User *u)
{
NickInfo *ni;
char *nick = strtok(NULL, " ");
User *u2;
/* Assumes that permission checking has already been done. */
if (!nick) {
syntax_error(s_NickServ, u, "FORBID", NICK_FORBID_SYNTAX);
return;
}
u2 = get_user(nick);
if ((ni = get_nickinfo(nick)) != NULL) {
if (NSSecureAdmins && nick_is_services_admin(ni) &&
!is_services_root(u)) {
notice_lang(s_NickServ, u, PERMISSION_DENIED);
return;
}
delnick(ni);
if (u2) {
u2->ni = NULL;
u2->ngi = NULL;
}
}
if (readonly)
notice_lang(s_NickServ, u, READ_ONLY_MODE);
ni = makenick(nick, NULL);
if (ni) {
ni->status |= NS_VERBOTEN;
ni->time_registered = time(NULL);
module_log("%s!%s@%s set FORBID for nick %s",
u->nick, u->username, u->host, nick);
notice_lang(s_NickServ, u, NICK_FORBID_SUCCEEDED, nick);
send_cmd(s_NickServ, "PRIVMSG #operlog NICK-FORBID: * %s * nickine forbid atildi, komutu uygulayan yetkili: * %s *", nick, u->nick);
/* If someone is using the nick, make them stop */
if (u2)
validate_user(u2);
} else {
module_log("Valid FORBID for %s by %s!%s@%s failed",
nick, u->nick, u->username, u->host);
notice_lang(s_NickServ, u, NICK_FORBID_FAILED, nick);
}
}
/*************************************************************************/
static void do_suspend(User *u)
{
NickInfo *ni;
NickGroupInfo *ngi = NULL;
char *expiry, *nick, *reason;
time_t expires;
nick = strtok(NULL, " ");
if (nick && *nick == '+') {
expiry = nick+1;
nick = strtok(NULL, " ");
} else {
expiry = NULL;
}
reason = strtok_remaining();
if (!reason) {
syntax_error(s_NickServ, u, "SUSPEND", NICK_SUSPEND_SYNTAX);
} else if (!(ni = get_nickinfo(nick))) {
notice_lang(s_NickServ, u, NICK_X_NOT_REGISTERED, nick);
} else if (ni->status & NS_VERBOTEN) {
notice_lang(s_NickServ, u, NICK_X_FORBIDDEN, nick);
} else if (!(ngi = get_ngi(ni))) {
notice_lang(s_NickServ, u, INTERNAL_ERROR);
} else if (ngi->suspendinfo) {
notice_lang(s_NickServ, u, NICK_SUSPEND_ALREADY_SUSPENDED, nick);
} else {
if (expiry)
expires = dotime(expiry);
else
expires = NSSuspendExpire;
if (expires < 0) {
notice_lang(s_NickServ, u, BAD_EXPIRY_TIME);
return;
} else if (expires > 0) {
expires += time(NULL); /* Set an absolute time */
}
if (!is_services_admin(u)) {
send_cmd(s_NickServ, "NOTICE %s Suspend Atiminiz kaydedilmistir.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Lutfen Onaylanmasini bekleyiniz.", u->nick);
send_cmd(s_NickServ, "PRIVMSG #OperLog %s(%s@%s) Suspend komutu kullandi. Onay beklenen suspend nick -> %s",
u->nick, u->username, u->host, nick);
time_t zaman;
struct tm * timeinfo;
time ( &zaman );
timeinfo = localtime ( &zaman );
FILE *dosya_yaz;
dosya_yaz = fopen("suspend.txt","a");
if (dosya_yaz != NULL) {
fprintf(dosya_yaz,"[%s] %s SUSPEND -> %s SEBEP %s\n", asctime (timeinfo), u->nick, nick, reason);
fprintf(dosya_yaz,"-----------------------\n");
fclose(dosya_yaz);
return;
}
}
module_log("%s!%s@%s suspended %s",
u->nick, u->username, u->host, ni->nick);
suspend_nick(ngi, reason, u->nick, expires);
notice_lang(s_NickServ, u, NICK_SUSPEND_SUCCEEDED, nick);
time_t zaman;
struct tm * timeinfo;
time ( &zaman );
timeinfo = localtime ( &zaman );
FILE *dosya_yaz = fopen("nickservibo.txt","a");
if (dosya_yaz != NULL) {
fprintf(dosya_yaz,"[%s] %s SUSPENDED -> %s -> %s\n", asctime (timeinfo), u->nick, nick, reason);
fprintf(dosya_yaz,"-----------------------\n");
fclose(dosya_yaz);
}
if (readonly)
notice_lang(s_NickServ, u, READ_ONLY_MODE);
/* If someone is using the nick, make them stop */
if (ni->user)
validate_user(ni->user);
}
}
/*************************************************************************/
static void do_unsuspend(User *u)
{
NickInfo *ni;
NickGroupInfo *ngi;
char *nick = strtok(NULL, " ");
if (!nick) {
syntax_error(s_NickServ, u, "UNSUSPEND", NICK_UNSUSPEND_SYNTAX);
} else if (!(ni = get_nickinfo(nick))) {
notice_lang(s_NickServ, u, NICK_X_NOT_REGISTERED, nick);
} else if (ni->status & NS_VERBOTEN) {
notice_lang(s_NickServ, u, NICK_X_FORBIDDEN, nick);
} else if (!(ngi = get_ngi(ni))) {
notice_lang(s_NickServ, u, INTERNAL_ERROR);
} else if (!ngi->suspendinfo) {
notice_lang(s_NickServ, u, NICK_UNSUSPEND_NOT_SUSPENDED, nick);
} else {
module_log("%s!%s@%s unsuspended %s",
u->nick, u->username, u->host, ni->nick);
unsuspend_nick(ngi, 1);
notice_lang(s_NickServ, u, NICK_UNSUSPEND_SUCCEEDED, nick);
send_cmd(s_NickServ, "PRIVMSG #OperLog NICK-UNSUSPEND: * %s * rumuzu uzerindeki suspend kaldirildi, komut uygulayan: * %s *", nick, u->nick);
time_t zaman;
struct tm * timeinfo;
time ( &zaman );
timeinfo = localtime ( &zaman );
FILE *dosya_yaz = fopen("nickservibo.txt","a");
if (dosya_yaz != NULL) {
fprintf(dosya_yaz,"[%s] %s UNSUSPEND-> %s\n", asctime (timeinfo), u->nick, nick);
fprintf(dosya_yaz,"-----------------------\n");
fclose(dosya_yaz);
}
if (readonly)
notice_lang(s_NickServ, u, READ_ONLY_MODE);
}
}
static void do_toxic(User *u)
{
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
send_cmd(s_NickServ, "NOTICE %s Yapimci bilgileri", u->nick);
send_cmd(s_NickServ, "NOTICE %s \2", u->nick);
send_cmd(s_NickServ, "NOTICE %s Nick : \2toXic", u->nick);
send_cmd(s_NickServ, "NOTICE %s ISIM : \2Ibrahim", u->nick);
send_cmd(s_NickServ, "NOTICE %s Sehir : \2Samsun", u->nick);
send_cmd(s_NickServ, "NOTICE %s Yas : \2 23", u->nick);
send_cmd(s_NickServ, "NOTICE %s Email : \2ibrahim[MENTION=3938]klavye[/MENTION].com.tr", u->nick);
send_cmd(s_NickServ, "NOTICE %s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", u->nick);
}
/*************************************************************************/
#ifdef DEBUG_COMMANDS
/* Return all the fields in the NickInfo structure. */
static void do_listnick(User *u)
{
NickInfo *ni;
NickGroupInfo *ngi;
char *nick = strtok(NULL, " ");
char buf1[BUFSIZE], buf2[BUFSIZE];
char *s;
int i;
if (!nick)
return;
ni = get_nickinfo(nick);
if (!ni) {
notice(s_NickServ, u->nick, "%s", nick);
notice(s_NickServ, u->nick, ":");
return;
}
ngi = get_nickgroupinfo(ni->nickgroup);
notice(s_NickServ, u->nick, "%s group:%u usermask:%s realmask:%s"
" reg:%d seen:%d stat:%04X auth:%04X idstamp:%d badpass:%d :%s;%s",
ni->nick, (int)ni->nickgroup, ni->last_usermask, ni->last_realmask,
(int)ni->time_registered, (int)ni->last_seen, ni->status & 0xFFFF,
ni->authstat & 0xFFFF, ni->id_stamp, ni->bad_passwords,
ni->last_realname, (ni->last_quit ? ni->last_quit : "-"));
if (ngi) {
if (ngi->authcode) {
snprintf(buf1, sizeof(buf1), "%d.%d",
(int)ngi->authcode, (int)ngi->authset);
} else {
*buf1 = 0;
}
if (ngi->suspendinfo) {
SuspendInfo *si = ngi->suspendinfo;
snprintf(buf2, sizeof(buf2), "%s.%d.%d.%s",
si->who, (int)si->suspended, (int)si->expires,
si->reason ? si->reason : "-");
strnrepl(buf2, sizeof(buf2), " ", "_");
} else {
*buf2 = 0;
}
notice(s_NickServ, u->nick, "+ flags:%08X ospriv:%04X authcode:%s"
" susp:%s chancnt:%d chanmax:%d lang:%d tz:%d acccnt:%d"
" ajoincnt:%d memocnt:%d memomax:%d igncnt:%d",
ngi->flags, ngi->os_priv, buf1, buf2, ngi->channels_count,
ngi->channelmax, ngi->language, ngi->timezone,
ngi->access_count, ngi->ajoin_count, ngi->memos.memos_count,
ngi->memos.memomax, ngi->ignore_count);
notice(s_NickServ, u->nick, "+ url:%s", ngi->url ? ngi->url : "");
notice(s_NickServ, u->nick, "+ email:%s", ngi->email?ngi->email:"");
notice(s_NickServ, u->nick, "+ info:%s", ngi->info ? ngi->info : "");
s = buf1;
*buf1 = 0;
ARRAY_FOREACH (i, ngi->access)
s += snprintf(s, sizeof(buf1)-(s-buf1), "%s%s",
*buf1 ? "," : "", ngi->access[i]);
strnrepl(buf1, sizeof(buf1), " ", "_");
notice(s_NickServ, u->nick, "+ acc:%s", buf1);
s = buf1;
*buf1 = 0;
ARRAY_FOREACH (i, ngi->ajoin)
s += snprintf(s, sizeof(buf1)-(s-buf1), "%s%s",
*buf1 ? "," : "", ngi->ajoin[i]);
strnrepl(buf1, sizeof(buf1), " ", "_");
notice(s_NickServ, u->nick, "+ ajoin:%s", buf1);
s = buf1;
*buf1 = 0;
ARRAY_FOREACH (i, ngi->ignore)
s += snprintf(s, sizeof(buf1)-(s-buf1), "%s%s",
*buf1 ? "," : "", ngi->ignore[i]);
strnrepl(buf1, sizeof(buf1), " ", "_");
notice(s_NickServ, u->nick, "+ ign:%s", buf1);
} else {
notice(s_NickServ, u->nick, ":");
}
}
#endif /* DEBUG_COMMANDS */
/*************************************************************************/
/***************************** Module stuff ******************************/
/*************************************************************************/
const int32 module_version = MODULE_VERSION_CODE;
static int NSDefKill;
static int NSDefKillQuick;
static int NSDefSecure;
static int NSDefPrivate;
static int NSDefHideEmail;
static int NSDefHideUsermask;
static int NSDefHideQuit;
static int NSDefMemoSignon;
static int NSDefMemoReceive;
static int NSEnableRegister;
static char *temp_nsuserhost;
ConfigDirective module_config[] = {
{ "NickservDB", { { CD_STRING, CF_DIRREQ, &NickDBName } } },
{ "NickServName", { { CD_STRING, CF_DIRREQ, &s_NickServ },
{ CD_STRING, 0, &desc_NickServ } } },
{ "NSAllowKillImmed", { { CD_SET, 0, &NSAllowKillImmed } } },
{ "NSDefHideEmail", { { CD_SET, 0, &NSDefHideEmail } } },
{ "NSDefHideQuit", { { CD_SET, 0, &NSDefHideQuit } } },
{ "NSDefHideUsermask",{ { CD_SET, 0, &NSDefHideUsermask } } },
{ "NSDefKill", { { CD_SET, 0, &NSDefKill } } },
{ "NSDefKillQuick", { { CD_SET, 0, &NSDefKillQuick } } },
{ "NSDefMemoReceive", { { CD_SET, 0, &NSDefMemoReceive } } },
{ "NSDefMemoSignon", { { CD_SET, 0, &NSDefMemoSignon } } },
{ "NSDefPrivate", { { CD_SET, 0, &NSDefPrivate } } },
{ "NSDefSecure", { { CD_SET, 0, &NSDefSecure } } },
{ "NSDropEmailExpire",{ { CD_TIME, CF_DIRREQ, &NSDropEmailExpire } } },
{ "NSEnableDropEmail",{ { CD_SET, 0, &NSEnableDropEmail } } },
{ "NSEnableRegister", { { CD_SET, 0, &NSEnableRegister } } },
{ "NSEnforcerUser", { { CD_STRING, CF_DIRREQ, &temp_nsuserhost } } },
{ "N***pire", { { CD_TIME, 0, &N***pire } } },
{ "N***pireWarning", { { CD_TIME, 0, &N***pireWarning } } },
{ "NSForceNickChange",{ { CD_SET, 0, &NSForceNickChange } } },
{ "NSHelpWarning", { { CD_SET, 0, &NSHelpWarning } } },
{ "NSInitialRegDelay",{ { CD_TIME, 0, &NSInitialRegDelay } } },
{ "NSListMax", { { CD_POSINT, CF_DIRREQ, &NSListMax } } },
{ "NSListOpersOnly", { { CD_SET, 0, &NSListOpersOnly } } },
{ "NSRegDelay", { { CD_TIME, 0, &NSRegDelay } } },
{ "NSRegEmailMax", { { CD_POSINT, 0, &NSRegEmailMax } } },
{ "NSRequireEmail", { { CD_SET, 0, &NSRequireEmail } } },
{ "NSReleaseTimeout", { { CD_TIME, CF_DIRREQ, &NSReleaseTimeout } } },
{ "NSSecureAdmins", { { CD_SET, 0, &NSSecureAdmins } } },
{ "NSShowPassword", { { CD_SET, 0, &NSShowPassword } } },
{ "NSSuspendExpire", { { CD_TIME, 0 , &NSSuspendExpire },
{ CD_TIME, 0 , &NSSuspendGrace } } },
//{ "NSNSVhostDelay", { { CD_TIME, 0, &NSVhostDelay } } },
{ NULL }
};
/* Pointer to command records (for EnableCommand) */
static Command *cmd_REGISTER;
static Command *cmd_DROPEMAIL;
static Command *cmd_DROPEMAIL_CONFIRM;
static Command *cmd_GETPASS;
/* Old message numbers */
static int old_REGISTER_SYNTAX = -1;
static int old_HELP_REGISTER_EMAIL = -1;
static int old_HELP_UNSET = -1;
static int old_DISCONNECT_IN_1_MINUTE = -1;
static int old_DISCONNECT_IN_20_SECONDS = -1;
/*************************************************************************/
static void handle_config(void)
{
char *s;
if (temp_nsuserhost) {
NSEnforcerUser = temp_nsuserhost;
if (!(s = strchr(temp_nsuserhost, '@'))) {
NSEnforcerHost = ServiceHost;
} else {
*s++ = 0;
NSEnforcerHost = s;
}
}
NSDefFlags = 0;
if (NSDefKill)
NSDefFlags |= NF_KILLPROTECT;
if (NSDefKillQuick)
NSDefFlags |= NF_KILL_QUICK;
if (NSDefSecure)
NSDefFlags |= NF_SECURE;
if (NSDefPrivate)
NSDefFlags |= NF_PRIVATE;
if (NSDefHideEmail)
NSDefFlags |= NF_HIDE_EMAIL;
if (NSDefHideUsermask)
NSDefFlags |= NF_HIDE_MASK;
if (NSDefHideQuit)
NSDefFlags |= NF_HIDE_QUIT;
if (NSDefMemoSignon)
NSDefFlags |= NF_MEMO_SIGNON;
if (NSDefMemoReceive)
NSDefFlags |= NF_MEMO_RECEIVE;
if (NSForceNickChange && !(protocol_features & PF_CHANGENICK)) {
module_log("warning: forced nick changing not supported by IRC"
" server, disabling NSForceNickChange");
NSForceNickChange = 0;
}
}
/*************************************************************************/
static int do_command_line(const char *option, const char *value)
{
NickGroupInfo *ngi;
if (!option || strcmp(option, "clear-nick-email") != 0)
return 0;
if (value) {
fprintf(stderr, "-clear-nick-email takes no options\n");
return 2;
}
module_log("Clearing all E-mail addresses (-clear-nick-email specified"
" on command line)");
for (ngi = first_nickgroupinfo(); ngi; ngi = next_nickgroupinfo()) {
free(ngi->email);
ngi->email = NULL;
}
return 1;
}
/*************************************************************************/
static int do_reconfigure(int after_configure)
{
static char old_s_NickServ[NICKMAX];
static char *old_desc_NickServ = NULL;
static char *old_NickDBName = NULL;
if (!after_configure) {
/* Before reconfiguration: save old values. */
strscpy(old_s_NickServ, s_NickServ, NICKMAX);
old_desc_NickServ = strdup(desc_NickServ);
old_NickDBName = strdup(NickDBName);
} else {
/* After reconfiguration: handle value changes. */
handle_config();
if (strcmp(old_s_NickServ,s_NickServ) != 0)
send_nickchange(old_s_NickServ, s_NickServ);
if (!old_desc_NickServ || strcmp(old_desc_NickServ,desc_NickServ) != 0)
send_namechange(s_NickServ, desc_NickServ);
if (!old_NickDBName || strcmp(old_NickDBName,NickDBName) != 0) {
module_log("reconfigure: new database name will only take"
" effect after restart");
/* Restore the old database name */
free(NickDBName);
NickDBName = old_NickDBName;
/* Make sure the old name isn't freed below */
old_NickDBName = NULL;
}
free(old_desc_NickServ);
free(old_NickDBName);
if (NSEnableRegister)
cmd_REGISTER->name = "REGISTER";
else
cmd_REGISTER->name = "";
if (NSEnableDropEmail) {
cmd_DROPEMAIL->name = "DROPEMAIL";
cmd_DROPEMAIL_CONFIRM->name = "DROPEMAIL-CONFIRM";
} else {
cmd_DROPEMAIL->name = "";
cmd_DROPEMAIL_CONFIRM->name = "";
}
if (EnableGetpass)
cmd_GETPASS->name = "GETPASS";
else
cmd_GETPASS->name = "";
if (NSRequireEmail) {
setstring(NICK_REGISTER_SYNTAX, NICK_REGISTER_REQ_EMAIL_SYNTAX);
setstring(NICK_HELP_REGISTER_EMAIL, NICK_HELP_REGISTER_EMAIL_REQ);
setstring(NICK_HELP_UNSET, NICK_HELP_UNSET_REQ_EMAIL);
} else {
setstring(NICK_REGISTER_SYNTAX, old_REGISTER_SYNTAX);
setstring(NICK_HELP_REGISTER_EMAIL, old_HELP_REGISTER_EMAIL);
setstring(NICK_HELP_UNSET, old_HELP_UNSET);
}
if (NSForceNickChange) {
setstring(DISCONNECT_IN_1_MINUTE, FORCENICKCHANGE_IN_1_MINUTE);
setstring(DISCONNECT_IN_20_SECONDS, FORCENICKCHANGE_IN_20_SECONDS);
} else {
setstring(DISCONNECT_IN_1_MINUTE, old_DISCONNECT_IN_1_MINUTE);
setstring(DISCONNECT_IN_20_SECONDS, old_DISCONNECT_IN_20_SECONDS);
}
} /* if (!after_configure) */
return 0;
}
/*************************************************************************/
int init_module(Module *module_)
{
module = module_;
handle_config();
if (!new_commandlist(module) || !register_commands(module, cmds)) {
module_log("Unable to register commands");
exit_module(0);
return 0;
}
cmd_REGISTER = lookup_cmd(module, "REGISTER");
if (!cmd_REGISTER) {
module_log("BUG: unable to find REGISTER command entry");
exit_module(0);
return 0;
}
cmd_DROPEMAIL = lookup_cmd(module, "DROPEMAIL");
if (!cmd_DROPEMAIL) {
module_log("BUG: unable to find DROPEMAIL command entry");
exit_module(0);
return 0;
}
cmd_DROPEMAIL_CONFIRM = lookup_cmd(module, "DROPEMAIL-CONFIRM");
if (!cmd_DROPEMAIL_CONFIRM) {
module_log("BUG: unable to find DROPEMAIL-CONFIRM command entry");
exit_module(0);
return 0;
}
cmd_GETPASS = lookup_cmd(module, "GETPASS");
if (!cmd_GETPASS) {
module_log("BUG: unable to find GETPASS command entry");
exit_module(0);
return 0;
}
if (!NSEnableRegister)
cmd_REGISTER->name = "";
if (!NSEnableDropEmail) {
cmd_DROPEMAIL->name = "";
cmd_DROPEMAIL_CONFIRM->name = "";
}
if (!EnableGetpass)
cmd_GETPASS->name = "";
cb_command = register_callback(module, "command");
cb_help = register_callback(module, "HELP");
cb_help_cmds = register_callback(module, "HELP COMMANDS");
cb_reglink_check = register_callback(module, "REGISTER/LINK check");
cb_registered = register_callback(module, "registered");
cb_id_check = register_callback(module, "IDENTIFY check");
cb_identified = register_callback(module, "identified");
if (cb_command < 0 || cb_help < 0 || cb_help_cmds < 0
|| cb_reglink_check < 0 || cb_registered < 0 || cb_id_check < 0
|| cb_identified < 0
) {
module_log("Unable to register callbacks");
exit_module(0);
return 0;
}
if (!add_callback(NULL, "command line", do_command_line)
|| !add_callback(NULL, "reconfigure", do_reconfigure)
|| !add_callback(NULL, "introduce_user", introduce_nickserv)
|| !add_callback(NULL, "m_privmsg", nickserv)
|| !add_callback(NULL, "m_whois", nickserv_whois)
|| !add_callback(NULL, "save data", do_save_data)
|| !add_callback(NULL, "user create", do_user_create)
|| !add_callback(NULL, "user nickchange (before)",
do_user_nickchange_before)
|| !add_callback(NULL, "user nickchange (after)",
do_user_nickchange_after)
|| !add_callback(NULL, "user delete", do_user_delete)
|| !add_callback(module, "REGISTER/LINK check", do_reglink_check)
) {
module_log("Unable to add callbacks");
exit_module(0);
return 0;
}
if (!init_collide(module) || !init_set(module) || !init_util(module)) {
exit_module(0);
return 0;
}
open_nick_db(NickDBName);
db_opened = 1;
old_REGISTER_SYNTAX =
setstring(NICK_REGISTER_SYNTAX, NICK_REGISTER_SYNTAX);
old_HELP_REGISTER_EMAIL =
setstring(NICK_HELP_REGISTER_EMAIL, NICK_HELP_REGISTER_EMAIL);
old_HELP_UNSET =
setstring(NICK_HELP_UNSET, NICK_HELP_UNSET);
old_DISCONNECT_IN_1_MINUTE =
setstring(DISCONNECT_IN_1_MINUTE, DISCONNECT_IN_1_MINUTE);
old_DISCONNECT_IN_20_SECONDS =
setstring(DISCONNECT_IN_20_SECONDS, DISCONNECT_IN_20_SECONDS);
if (NSRequireEmail) {
setstring(NICK_REGISTER_SYNTAX, NICK_REGISTER_REQ_EMAIL_SYNTAX);
setstring(NICK_HELP_REGISTER_EMAIL, NICK_HELP_REGISTER_EMAIL_REQ);
setstring(NICK_HELP_UNSET, NICK_HELP_UNSET_REQ_EMAIL);
}
if (NSForceNickChange) {
setstring(DISCONNECT_IN_1_MINUTE, FORCENICKCHANGE_IN_1_MINUTE);
setstring(DISCONNECT_IN_20_SECONDS, FORCENICKCHANGE_IN_20_SECONDS);
}
if (linked)
introduce_nickserv(NULL);
return 1;
}
/*************************************************************************/
int exit_module(int shutdown_unused)
{
#ifdef CLEAN_COMPILE
shutdown_unused = shutdown_unused;
#endif
if (linked)
send_cmd(s_NickServ, "QUIT :");
if (old_REGISTER_SYNTAX >= 0) {
setstring(NICK_REGISTER_SYNTAX, old_REGISTER_SYNTAX);
old_REGISTER_SYNTAX = -1;
}
if (old_HELP_REGISTER_EMAIL >= 0) {
setstring(NICK_HELP_REGISTER_EMAIL, old_HELP_REGISTER_EMAIL);
old_HELP_REGISTER_EMAIL = -1;
}
if (old_HELP_UNSET >= 0) {
setstring(NICK_HELP_UNSET, old_HELP_UNSET);
old_HELP_UNSET = -1;
}
if (old_DISCONNECT_IN_1_MINUTE >= 0) {
setstring(DISCONNECT_IN_1_MINUTE, old_DISCONNECT_IN_1_MINUTE);
old_DISCONNECT_IN_1_MINUTE = -1;
}
if (old_DISCONNECT_IN_20_SECONDS >= 0) {
setstring(DISCONNECT_IN_20_SECONDS, old_DISCONNECT_IN_20_SECONDS);
old_DISCONNECT_IN_20_SECONDS = -1;
}
if (db_opened)
close_nick_db(NickDBName);
exit_util();
exit_set();
exit_collide();
remove_callback(module, "REGISTER/LINK check", do_reglink_check);
remove_callback(NULL, "user delete", do_user_delete);
remove_callback(NULL, "user nickchange (after)",
do_user_nickchange_after);
remove_callback(NULL, "user nickchange (before)",
do_user_nickchange_before);
remove_callback(NULL, "user create", do_user_create);
remove_callback(NULL, "save data", do_save_data);
remove_callback(NULL, "m_whois", nickserv_whois);
remove_callback(NULL, "m_privmsg", nickserv);
remove_callback(NULL, "introduce_user", introduce_nickserv);
remove_callback(NULL, "reconfigure", do_reconfigure);
remove_callback(NULL, "command line", do_command_line);
unregister_callback(module, cb_identified);
unregister_callback(module, cb_id_check);
unregister_callback(module, cb_registered);
unregister_callback(module, cb_reglink_check);
unregister_callback(module, cb_help_cmds);
unregister_callback(module, cb_help);
unregister_callback(module, cb_command);
/* These are static, so the pointers don't need to be cleared */
if (cmd_GETPASS)
cmd_GETPASS->name = "GETPASS";
if (cmd_DROPEMAIL_CONFIRM)
cmd_DROPEMAIL_CONFIRM->name = "DROPEMAIL-CONFIRM";
if (cmd_DROPEMAIL)
cmd_DROPEMAIL->name = "DROPEMAIL";
if (cmd_REGISTER)
cmd_REGISTER->name = "REGISTER";
unregister_commands(module, cmds);
del_commandlist(module);
return 1;
}
/*************************************************************************/
Yardımlarınız için Teşekkür ederim |