result=chanserv_asprintf(result,"I can be triggered by various forms of speech, all which must be addressed to me, in one of the following formats: %s %s %s or even %s . In my database, you can find a topic by saying my nick, <topic> . eg; \37%s nuke\37 . To do a search on a word, or partial text, just type: search <text> or dsearch <text> , eg; \37search nuke\37.",
result=chanserv_asprintf(result,"I can also be triggered with even more human formats: \37%s who is bill gates?\37 . You can also phrase it as a question: \37%s where is msie?\37 . For a list of commands use \37help commands\37 . For more info about me, visit http://www.darkbot.org/ .",
returnchanserv_asprintf(NULL,"My !setinfo variables are: ^ nick, % Number of joins, & Channel, $ user@host. Example: !setinfo ^ has joined & % times!! (also, if you make the first char of your SETINFO a \"+\" the setinfo will be shown as an ACTION).");
/* The help system uses the first alias for each command for the list of commands.
* So make the first alias the most meaningful, and keep the list sorted by that first alias.
*/
structchanserv_commandchanserv_commands[]=
{
{NORMAL_COMMAND,1,1,chanserv_add,{"ADD","REMEMBER","SAVE","STORE",NULL},"<topic> <text>","Add a topic and it's text."},
{PASSWORD_COMMAND,3,4,chanserv_add_user,{"ADDUSER",NULL,NULL,NULL,NULL},"<#channel|#*> <user@host> <level> [password]","Add a user to the access list."},
{SAFE_COMMAND,2,2,chanserv_alarm,{"ALARM","ALARMCLOCK",NULL,NULL,NULL},"<time type: d/h/m><time> <text to say>","Set some text to be said by the bot at a later time."},
#if DO_CHANBOT_CRAP == 1
{DANGER_COMMAND,3,1,chanserv_autotopic,{"AUTOTOPIC",NULL,NULL,NULL,NULL},"<channel topic>","Refreshes the channel topic every thirty minutes (set to \"0\" to turn off)."},
#endif
#ifndef WIN32
{DANGER_COMMAND,3,0,chanserv_backup,{"BACKUP",NULL,NULL,NULL,NULL},NULL,"Create a backup of the database."},
{NORMAL_COMMAND,0,1,chanserv_google,{"GOOGLE",NULL,NULL,NULL,NULL},"<text>","Look up the text on google."},
#endif
{INFO_COMMAND,0,0,chanserv_help,{"HELP",NULL,NULL,NULL,NULL},"[command]","Show some help text to the user."},
{INFO_COMMAND,0,1,chanserv_idle,{"IDLE",NULL,NULL,NULL,NULL},"<nick>","Shows how long the user has been idle."},
{DANGER_COMMAND,1,1,chanserv_ignore,{"IGNORE",NULL,NULL,NULL,NULL},"<nick>","Get bot to ignore a user."},
{INFO_COMMAND,0,0,chanserv_info,{"INFO",NULL,NULL,NULL,NULL},NULL,"Shows some information about bot and it's activity."},
{INFO_COMMAND,0,0,chanserv_info_2,{"INFO2",NULL,NULL,NULL,NULL},NULL,"Shows when the bot was compiled, and lines processed since startup."},
{INFO_COMMAND,2,0,chanserv_info_size,{"INFOSIZE","DBSIZE",NULL,NULL,NULL},NULL,"Show size of the database."},
{INFO_COMMAND,0,1,chanserv_isop,{"ISOP",NULL,NULL,NULL,NULL},"<nick>","Is user a channel op?"},
{DANGER_COMMAND,2,1,chanserv_join,{"JOIN","J",NULL,NULL,NULL},"<#channel>","Get bot to join a channel."},
{INFO_COMMAND,0,0,chanserv_joins_show,{"JOINS?",NULL,NULL,NULL,NULL},NULL,"Shows the number of user joins bot has seen in this channel since startup."},
#if DO_CHANBOT_CRAP == 1
{DANGER_COMMAND,3,1,chanserv_kick,{"KICK","WHACK","K","NAIL",NULL},"[#channel] <nick> [reason]","Kick a user off the channel."},
#endif
{INFO_COMMAND,0,0,chanserv_language,{"LANGUAGE","LANG",NULL,NULL,NULL},NULL,"Shows the language that bot is currently speaking."},
{DANGER_COMMAND,2,0,chanserv_leave,{"LEAVE","PART","L","P",NULL},"[#channel]","Get bot to leave the channel."},
{INFO_COMMAND,0,1,chanserv_length,{"LENGTH",NULL,NULL,NULL,NULL},"<text>","Show the length of the text."},
{INFO_COMMAND,0,0,chanserv_location_show,{"LOCATION?",NULL,NULL,NULL,NULL},NULL,"Shows what servers are available and in use."},
{PASSWORD_COMMAND,0,1,chanserv_login,{"LOGIN",NULL,NULL,NULL,NULL},"<password>","Gives you access to high level bot commands if you are on the access list."},
{DANGER_COMMAND,3,1,chanserv_op,{"OP",NULL,NULL,NULL,NULL},"[#channel] <nicks>","Add channel operator status to users."},
#endif
{INFO_COMMAND,0,0,chanserv_os_show,{"OS",NULL,NULL,NULL,NULL},NULL,"Show the operating system that bot is running on."},
{PASSWORD_COMMAND,0,2,chanserv_password,{"PASSWORD","PASS","PASSWD",NULL,NULL},"<old password> <new password>","Change your bot access list password."},
{DANGER_COMMAND,3,0,chanserv_performs,{"PERFORMS",NULL,NULL,NULL,NULL},NULL,"Perform the tasks in the perform.ini startup script."},
#if DO_CHANBOT_CRAP == 1
{DANGER_COMMAND,3,1,chanserv_perm_ban,{"PERMBAN","SHITLIST",NULL,NULL,NULL},"<user@host> [reason]","Adds a user to the permanent ban list."},
{INFO_COMMAND,0,0,chanserv_perm_bans_list,{"PERMBANS?",NULL,NULL,NULL,NULL},NULL,"Shows how many permanent bans there are."},
{DANGER_COMMAND,RAND_LEVEL,1,chanserv_random_stuff,{"RANDOMSTUFF","RANDSTUFF","RS",NULL,NULL},"<text>","Add random stuff to say."},
{INFO_COMMAND,0,0,chanserv_random_stuff_list,{"RANDOMSTUFF?","RANDSTUFF?",NULL,NULL,NULL},NULL,"Shows time until next random thing is said."},
#endif
{DANGER_COMMAND,3,1,chanserv_raw,{"RAW",NULL,NULL,NULL,NULL},"<raw data>","Get bot to send raw IRC data."},
#ifndef WIN32
{INFO_COMMAND,0,0,chanserv_rdb,{"RDB",NULL,NULL,NULL,NULL},"[topic]","Display information about the random databases."},
#endif
{DANGER_COMMAND,3,3,chanserv_repeat,{"REPEAT","TIMER",NULL,NULL,NULL},"<number> <delay> <raw data>","Get bot to send raw IRC data a number of times."},
{NORMAL_COMMAND,1,1,chanserv_replace,{"REPLACE",NULL,NULL,NULL,NULL},"<topic> <text>","Replace the text of a topic."},
{DANGER_COMMAND,3,0,chanserv_restart,{"RESTART","REHASH",NULL,NULL,NULL},NULL,"Restart the bot."},
{INFO_COMMAND,0,1,chanserv_search,{"SEARCH","LOOK","FIND",NULL,NULL},"<text>","Search in the topics."},
{INFO_COMMAND,0,1,chanserv_seen,{"SEEN",NULL,NULL,NULL,NULL},"<nick>","Show the last time a user was seen."},
{DANGER_COMMAND,3,1,chanserv_jump,{"SERVER","JUMP",NULL,NULL,NULL},"<server> [port]","Switch bot to a different server."},
{DANGER_COMMAND,3,1,chanserv_setchan,{"SETCHAN",NULL,NULL,NULL,NULL},"<new #channel>","Set the default channel."},
{DANGER_COMMAND,3,1,chanserv_setchar,{"SETCHAR",NULL,NULL,NULL,NULL},"<new command char>","Set the command character."},
{DANGER_COMMAND,1,1,chanserv_setinfo,{"SETINFO",NULL,NULL,NULL,NULL},"<new user greeting|0>","Set your greeting from the bot when you join a channel."},
{DANGER_COMMAND,3,1,chanserv_setnick,{"SETNICK",NULL,NULL,NULL,NULL},"<new nick>","Set the bot's default nick."},
{DANGER_COMMAND,3,1,chanserv_setuser,{"SETUSER",NULL,NULL,NULL,NULL},"<new userid>","Set the bot's userid (requires a restart)."},
{SAFE_COMMAND,SLEEP_LEVEL,0,chanserv_sleep,{"SLEEP","HUSH",NULL,NULL,NULL},NULL,"Deactivate bot for a period."},
{INFO_COMMAND,0,0,chanserv_stats,{"STATS",NULL,NULL,NULL,NULL},"[nick]","Shows statistics about questions answered."},
#if TAF == 1
{NORMAL_COMMAND,0,1,chanserv_taf,{"TAF",NULL,NULL,NULL,NULL},"<city or code>","Get raw TAF weather data."},
#endif
#if DO_CHANBOT_CRAP == 1
{DANGER_COMMAND,2,1,chanserv_teaseop,{"TEASEOP","TO",NULL,NULL,NULL},"<nick>","Tease a user with channel operator status."},
#endif
{INFO_COMMAND,0,2,chanserv_tell,{"TELL",NULL,NULL,NULL,NULL},"<nick> [ABOUT] <topic>","Get bot to recall a topic to a user."},
#if DO_CHANBOT_CRAP == 1
{DANGER_COMMAND,2,0,chanserv_topic,{"TOPIC","T",NULL,NULL,NULL},"<channel topic>","Change the channels topic."},
#endif
{DANGER_COMMAND,1,1,chanserv_unignore,{"UNIGNORE",NULL,NULL,NULL,NULL},"<nick>","Get bot to stop ignoring a user."},