X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2Fbot_NeonServ.c;h=9bb2acf6b1e382233d1c931e1934fe2af187515f;hb=09378f3830dc76e8c02b7a5eb515ae4875395b48;hp=df781e6be824f13bee0d62e7057dd47a90cea89f;hpb=e992d795db27be68593e92b9a999f872f7f751f8;p=NeonServV5.git diff --git a/src/bot_NeonServ.c b/src/bot_NeonServ.c index df781e6..9bb2acf 100644 --- a/src/bot_NeonServ.c +++ b/src/bot_NeonServ.c @@ -1,4 +1,4 @@ -/* bot_NeonServ.c - NeonServ v5.0 +/* bot_NeonServ.c - NeonServ v5.1 * Copyright (C) 2011 Philipp Kreil (pk910) * * This program is free software: you can redistribute it and/or modify @@ -57,6 +57,7 @@ static const struct default_language_entry msgtab[] = { {"NS_NO_ACCESS", "You lack sufficient access to use this command."}, {"NS_USER_PROTECTED", "Sorry, $b%s$b is protected."}, /* {ARGS: "TestUser"} */ {"NS_SERVICE_IMMUNE", "$b%s$b may not be kicked, killed, banned, or deopped."}, /* {ARGS: "TestUser"} */ + {"NS_YOU_PROTECTED", "You may not kick or ban yourself."}, {"NS_TABLE_NONE", " None"}, {"NS_TABLE_COUNT", "Found $b%d$b matches."}, /* {ARGS: 5} */ {"NS_BAN_ALREADY_ADDED", "$b%s$b is already banned in %s."}, /* {ARGS: "*!*@moeeep.*", "#TestChan"} */ @@ -105,6 +106,7 @@ static const struct default_language_entry msgtab[] = { {"NS_MDELUSER_DONE", "Deleted $b%d$b account(s) matching $b%s$b with access from $b%d$b to $b%d$b from the %s user list."}, /* {ARGS: 10, "Test*", 1, 200, "#TestChan"} */ {"NS_TRIM_DURATION_TOO_SHORT", "You must include a minimum inactivity duration of at least %d seconds to trim."}, {"NS_TRIM_DONE", "Trimmed $b%d users$b with access from %d to %d from the %s user list who were inactive for at least %s."}, /* {ARGS: 10, 1, 100, "#TestChan", "10 days"} */ + {"NS_TRIM_BAN_DONE", "Trimmed $b%d bans$b from the %s ban list who were banned for at least %s."}, {"NS_GIVEOWNER_SELF", "You cannot give ownership to your own account."}, {"NS_GIVEOWNER_TIMEOUT", "You must wait %s before you can give ownership of $b%s$b to someone else."}, /* {ARGS: "5 hours", "#TestChan"} */ {"NS_GIVEOWNER_CONFIRM", "To really give ownership to $b%1$s$b, you must use 'giveownership *%1$s %2$s'."}, /* {ARGS: "TestUser", "abc123"} */ @@ -308,11 +310,13 @@ static const struct default_language_entry msgtab[] = { {"NS_INFO_REGISTRAR", "Registered by:"}, {"NS_INFO_OWNERLOG", "Ownership transfer history for $b%s$b:"}, {"NS_INFO_OWNERCHANGE", " from %s to %s on %s"}, + {"NS_RENAME_DONE", "Renamed $b%s$b to $b%s$b."}, + {"NS_RENAME_FAIL", "Failed renaming $b%s$b."}, + {"NS_FUN_DISABLED", "Fun commands are disabled in %s."}, {NULL, NULL} }; -/* TODO: -trim bans +/* TODO: cmd_neonserv_open.c set modelock cmd_neonserv_modcmd.c @@ -322,7 +326,6 @@ cmd_neonserv_expire.c cmd_neonserv_unvisited.c cmd_neonserv_merge.c cmd_neonserv_dnrsearch.c -cmd_neonserv_rename.c cmd_neonserv_iplocate.c cmd_neonserv_calc.c */ @@ -376,7 +379,13 @@ static void neonserv_bot_ready(struct ClientSocket *client) { } static void neonserv_trigger_callback(struct ChanNode *chan, char *trigger) { - strcpy(trigger, "+"); + MYSQL_RES *res; + MYSQL_ROW row; + loadChannelSettings(chan); + printf_mysql_query("SELECT `trigger` FROM `bot_channels` LEFT JOIN `bots` ON `botid` = `bots`.`id` WHERE `chanid` = '%d' AND `botclass` = '%d'", chan->channel_id, BOTID); + res = mysql_use(); + row = mysql_fetch_row(res); + strcpy(trigger, (strlen(row[0]) ? row[0] : "+")); } static void start_bots() { @@ -502,6 +511,7 @@ void init_NeonServ() { USER_COMMAND("events", neonserv_cmd_events, 0, "1", CMDFLAG_REQUIRE_CHAN | CMDFLAG_REGISTERED_CHAN | CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH); USER_COMMAND("command", neonserv_cmd_command, 1, NULL, 0); USER_COMMAND("info", neonserv_cmd_info, 0, NULL, CMDFLAG_REQUIRE_CHAN | CMDFLAG_REGISTERED_CHAN); + USER_COMMAND("extscript", neonserv_cmd_extscript, 0, NULL, CMDFLAG_EMPTY_ARGS); #undef USER_COMMAND #define OPER_COMMAND(NAME,FUNCTION,PARAMCOUNT,GACCESS,FLAGS) register_command(BOTID, NAME, FUNCTION, PARAMCOUNT, NULL, GACCESS, FLAGS) @@ -529,6 +539,8 @@ void init_NeonServ() { OPER_COMMAND("setrank", neonserv_cmd_setrank, 1, 1000, CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH | CMDFLAG_OPLOG); OPER_COMMAND("assignrank", neonserv_cmd_assignrank,2, 1000, CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH | CMDFLAG_OPLOG); OPER_COMMAND("listrank", neonserv_cmd_listrank, 0, 1, CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH | CMDFLAG_OPLOG); + OPER_COMMAND("rename", neonserv_cmd_rename, 2, 300, CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH | CMDFLAG_OPLOG); + OPER_COMMAND("unvisited", neonserv_cmd_unvisited, 0, 400, CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH | CMDFLAG_OPLOG); #undef OPER_COMMAND start_bots();