cleanup/
/*
 * Playground+ - clist.h
 * All the commands that can be executed from within the talker
 * (Cleaned up version by Silver)
 * ---------------------------------------------------------------------------
 */

#ifdef INTERCOM
  #include "intercom_glue.h"
#endif

/* a */
extern command_func a_who;  /* aw */
extern command_func abort_shutdown;  /* abort */
extern command_func acc_engage;  /* accept */
extern command_func ad;  /* a\" a\' ad au */
extern command_func ad_news_list;  /* adnews */
extern command_func ad_news_post;  /* adpost */
extern command_func ad_news_read;  /* adread */
extern command_func add_auto;  /* +auto */
extern command_func add_exit;  /* +exit */
#ifdef INTERCOM
  extern command_func add_intercom_server;  /* add_server */
#endif /* INTERCOM */
extern command_func add_lag;  /* lag */
extern command_func adminemote;  /* a; a: ae */
extern command_func adminsing;  /* a( a) as */
extern command_func adminthink;  /* a* a~ at */
extern command_func ammend_to_log;  /* amend ammend */
extern command_func assist_player;  /* assist */
extern command_func autos_com;  /* autos */

/* b */
extern command_func banish_edit;  /* bedit */
extern command_func banish_player;  /* banish */
extern command_func bar;  /* bar */
#ifdef INTERCOM
  extern command_func bar_talker;  /* bar */
#endif /* INTERCOM */
extern command_func barge;  /* barge */
extern command_func beep;  /* beep */
extern command_func beep_tell;  /* & yell */
extern command_func beepat_friends;  /* yf */
extern command_func beepat_others_friends;  /* yfo yo */
extern command_func blank_all_aliases;  /* blank_alias */
extern command_func blank_email;  /* blank_email */
extern command_func blank_list;  /* blank_list */
extern command_func blank_something;  /* blank */
extern command_func block;  /* block */
extern command_func block_all_channels;  /* blockchans */
extern command_func block_beeps;  /* nobeep */
extern command_func block_blinks;  /* noblink */
extern command_func block_ftells;  /* blockfriends */
extern command_func block_room_descriptions;  /* blockdesc */
extern command_func block_su;  /* off_duty */
extern command_func blocktells;  /* blocktells */
extern command_func boot_out;  /* boot */
extern command_func bop_with_wielded_item;  /* bop */
extern command_func bounce;  /* bounce */
extern command_func bump_off;  /* bump */
extern command_func buy_object;  /* buy */
extern command_func byebye;  /* quit */

/* c */
extern command_func calc_mailinglist;  /* list_emails */
#ifdef AUTOSHUTDOWN
  extern command_func cancel_as;  /* cancel_as */
#endif /* AUTOSHUTDOWN */
extern command_func cancel_engage;  /* cancel */
extern command_func ce;  /* c; c: ce */
extern command_func change_auto_base;  /* speed */
extern command_func change_command_privs;  /* change_command_privs */
extern command_func change_email;  /* email */
extern command_func change_list_absolute;  /* flist */
extern command_func change_password;  /* passwd password */
extern command_func change_player_limits;  /* chlim */
extern command_func change_room_entermsg;  /* entermsg */
extern command_func change_room_id;  /* id */
extern command_func change_room_name;  /* name */
extern command_func chanhi;  /* ch_hi */
extern command_func check;  /* check chekc */
extern command_func check_alist;  /* list */
extern command_func check_autos;  /* autos */
extern command_func check_banish_status;  /* ckban */
extern command_func check_email;  /* email */
extern command_func check_entry;  /* entry */
extern command_func check_exits;  /* exits */
extern command_func check_idle;  /* idle */
extern command_func check_info;  /* info */
extern command_func check_room;  /* info room */
extern command_func check_rooms;  /* check chekc rooms */
extern command_func check_updates;  /* updates */
extern command_func check_wrap;  /* wrap */
extern command_func clear_git;  /* ungit */
extern command_func clear_list;  /* clist */
extern command_func clear_screen;  /* cls */
#ifdef INTERCOM
  extern command_func close_intercom;  /* close */
#endif /* INTERCOM */
extern command_func close_to_newbies;  /* newbies */
extern command_func close_to_ressies;  /* ressies */
extern command_func comments;  /* comments lss seesess */
extern command_func confirm_password;  /* confirm */
extern command_func converse_mode_off;  /* end */
extern command_func converse_mode_on;  /* converse */
extern command_func create_gag;  /* gag */
extern command_func create_new_room;  /* create */
extern command_func create_object;  /* create */
extern command_func cs;  /* c( c) cs */
extern command_func ct;  /* c* c~ ct */
extern command_func cu;  /* c\" c\' ch cu */
extern command_func customize_colors;  /* colorize colourise colourize */

/* d */
extern command_func decap_player;  /* decap */
extern command_func declare_flirt;  /* flirt */
extern command_func define_alias;  /* alias define */
extern command_func define_logoff_macro;  /* deflogoff deflogout logoff logout */
extern command_func define_logon_macro;  /* deflogin deflogon login logon */
extern command_func define_recon_macro;  /* defrecon recon */
extern command_func delete_all_items;  /* all_delete */
extern command_func delete_gag;  /* ungag */
#ifdef INTERCOM
  extern command_func delete_intercom_server;  /* delete_server */
#endif /* INTERCOM */
extern command_func delete_item;  /* delete */
extern command_func delete_items;  /* blank_items */
extern command_func delete_received;  /* delete */
extern command_func delete_room;  /* delete */
extern command_func delete_sent;  /* remove */
extern command_func delete_social;  /* delete_social */
extern command_func dest_note;  /* rm_note */
extern command_func dibbs;  /* dibbs */
extern command_func disclaim;  /* disclaim */
extern command_func divorce;  /* divorce */
extern command_func do_backup;  /* backup */
extern command_func do_grab;  /* grab */
extern command_func do_ping;  /* ping */
extern command_func do_save;  /* save */
extern command_func drink_item;  /* drink */
extern command_func dumb;  /* dumb */
extern command_func dump_com;  /* dump */
extern command_func dynamic_defrag_rooms;  /* defrag */
extern command_func dynamic_dfstats;  /* dfstats */
extern command_func dynamic_validate_rooms;  /* dfcheck */

/* e */
extern command_func earmuffs;  /* earmuffs */
extern command_func eat_item;  /* eat */
extern command_func echo;  /* + echo */
extern command_func echo_shout;  /* !+ !- yecho */
extern command_func echoall;  /* aecho */
extern command_func echoreply;  /* [- [+ oreply */
extern command_func echoroomall;  /* becho */
extern command_func edcash;  /* edcash */
extern command_func edfirst;  /* edfirst */
extern command_func edidle;  /* edidle */
extern command_func edit_back_line;  /* - */
extern command_func edit_delete_line;  /* del */
extern command_func edit_end;  /* end */
extern command_func edit_file;  /* edit_file */
extern command_func edit_forward_line;  /* + */
extern command_func edit_goto_bottom;  /* bot */
extern command_func edit_goto_line;  /* g */
extern command_func edit_goto_top;  /* top */
extern command_func edit_help;  /* ? help */
extern command_func edit_move_lines;  /* move */
extern command_func edit_quit;  /* quit */
extern command_func edit_replace_lines;  /* replace */
extern command_func edit_search;  /* s */
extern command_func edit_search_and_replace;  /* sr */
extern command_func edit_search_next;  /* n */
extern command_func edit_set_padding;  /* pad */
extern command_func edit_show_version;  /* version */
extern command_func edit_social;  /* edit_social */
extern command_func edit_stats;  /* stats */
extern command_func edit_toggle_autotruncate;  /* trunc */
extern command_func edit_toggle_formatting;  /* format */
extern command_func edit_toggle_insert;  /* insert */
extern command_func edit_toggle_paragraph;  /* para */
extern command_func edit_toggle_pretty;  /* pretty */
extern command_func edit_view;  /* view */
extern command_func edit_view_commands;  /* commands */
extern command_func edit_view_line;  /* l */
extern command_func edit_wipe;  /* wipe */
extern command_func editor_search_string;  /* s */
extern command_func edtime;  /* edtime */
extern command_func eightball;  /* mball */
extern command_func emergency;  /* emergency */
extern command_func emote;  /* ; : emote */
extern command_func emote_shout;  /* !; !: yemote */
extern command_func emoted_wall;  /* ewall */
extern command_func ereply;  /* [ ereply */
extern command_func examine_item;  /* ix */
extern command_func examine_social;  /* xs */
extern command_func exclude;  /* exclude */
extern command_func exit_mail_mode;  /* end */
extern command_func exit_news_mode;  /* end */
extern command_func exit_room_mode;  /* end */
extern command_func extend;  /* extend */

/* f */
extern command_func fake_nuke_player;  /* scare */
extern command_func fingerpaint;  /* fingerpaint */
extern command_func fix_list;  /* fix_list */
extern command_func followup;  /* followup afollowup */
extern command_func forcehelp;  /* forcehelp */
extern command_func forward_letter;  /* forward aforward xforward */
extern command_func friend;  /* friend */
extern command_func friend_mailblock;  /* blockfmail */
extern command_func friended;  /* friended */

/* g */
extern command_func game_hi;  /* game_hi */
extern command_func gender;  /* gender */
extern command_func get_ps;  /* psx */
extern command_func give_item;  /* give */
extern command_func global_nofriend;  /* blocklist */
extern command_func go_comfy;  /* comfy */
extern command_func go_home;  /* home mindscape */
extern command_func go_main;  /* leave main */
extern command_func go_quiet;  /* quiet */
extern command_func go_relaxed;  /* potty */
extern command_func go_room;  /* go */
extern command_func grab;  /* grabme */
extern command_func grabable;  /* grabable */
extern command_func grant;  /* grant */
extern command_func grep;  /* grep */

/* h */
#ifdef HC_CHANNEL
  extern command_func h_who;  /* hw */
  extern command_func hd;  /* h\" h\' hd hu */
  extern command_func he;  /* h; h: he */
#endif /* HC_CHANNEL */
extern command_func help;  /* ? help man */
extern command_func hichan;  /* dsc_hi */
extern command_func hide;  /* hide */
extern command_func hide_bachelor_status;  /* nobachelor */
extern command_func hitells;  /* hitells */
#ifdef HC_CHANNEL
  extern command_func hs;  /* h( h) hs */
  extern command_func ht;  /* h* h~ ht */
#endif /* HC_CHANNEL */

/* i */
#ifdef INTERCOM
  extern command_func i_who;  /* iw */
  extern command_func ie;  /* ie */
#endif /* INTERCOM */
extern command_func ignore;  /* ignore */
extern command_func ignoreemoteprefix;  /* noeprefix */
extern command_func ignoreprefix;  /* noprefix */
extern command_func inform;  /* inform */
extern command_func inform_room_enter;  /* notify */
extern command_func informed_who;  /* iwho */
#ifdef INTERCOM
  extern command_func intercom_banish;  /* banish */
  extern command_func intercom_banish_name;  /* banish_name */
  extern command_func intercom_bar_name;  /* bar_name */
  extern command_func intercom_change_address;  /* change_address */
  extern command_func intercom_change_alias;  /* change_alias */
  extern command_func intercom_change_name;  /* change_name */
  extern command_func intercom_change_port;  /* change_port */
  extern command_func intercom_command;  /* intercom */
  extern command_func intercom_dynamic;  /* dynamic */
  extern command_func intercom_hide;  /* hide */
  extern command_func intercom_home;  /* home */
  extern command_func intercom_locate_name;  /* locate */
  extern command_func intercom_ping;  /* ping */
  extern command_func intercom_reboot;  /* reboot */
  extern command_func intercom_request_stats;  /* stats */
  extern command_func intercom_site_move;  /* announce_move */
  extern command_func intercom_slist;  /* slist */
  extern command_func intercom_unbanish_name;  /* unbanish_name */
  extern command_func intercom_unbar_name;  /* unbar_name */
  extern command_func intercom_unhide;  /* unhide */
  extern command_func intercom_update_servers;  /* update_servers */
  extern command_func intercom_version;  /* version */
#endif /* INTERCOM */
extern command_func inventory;  /* i inv inventory */
extern command_func invite;  /* invite */
extern command_func invites_list;  /* invites */
#ifdef INTERCOM
  extern command_func is;  /* is */
  extern command_func it;  /* it */
#endif /* INTERCOM */
extern command_func item_set_classes;  /* setbit */
#ifdef INTERCOM
  extern command_func iu;  /* ih iu */
#endif /* INTERCOM */

/* j */
extern command_func join;  /* join */
extern command_func join_channel;  /* join_chan */

/* k */
extern command_func key;  /* key */
extern command_func kill_angel;  /* kill_angel */

/* l */
extern command_func leave_channel;  /* leave_chan */
extern command_func lesser_warn;  /* ask */
extern command_func library_copy;  /* libcopy */
extern command_func library_examine;  /* libexam */
extern command_func library_list;  /* liblist */
extern command_func list_admins;  /* lad */
extern command_func list_all_gags;  /* gwho */
extern command_func list_all_notes;  /* list_all_notes */
extern command_func list_builders;  /* list_builders lsb */
extern command_func list_channels;  /* list_chans lsc */
extern command_func list_couples;  /* list_couples */
extern command_func list_creators;  /* list_creators lsk */
extern command_func list_friendblock;  /* friendblock */
#ifdef INTERCOM
  extern command_func list_intercom_servers;  /* list */
#endif /* INTERCOM */
extern command_func list_mailblock;  /* mailblock */
extern command_func list_ministers;  /* list_min lsm */
extern command_func list_news;  /* news check view */
extern command_func list_news_groups;  /* groups */
extern command_func list_nofaccess;  /* nofriend */
extern command_func list_notes;  /* list_notes */
#ifdef ROBOTS
  extern command_func list_robots;  /* list_robots */
#endif /* ROBOTS */
extern command_func list_shareroom;  /* shareroom */
extern command_func list_spods;  /* list_spods lsp */
extern command_func listdumb;  /* lst */
extern command_func listfind;  /* find */
extern command_func listgits;  /* list_gits lsg */
extern command_func lnew;  /* list_new lsn */
extern command_func load_socials_command;  /* load_socials */
extern command_func look;  /* look l */
extern command_func lsu;  /* list_su lsu */
extern command_func lsz;  /* lsz */

/* m */
extern command_func m_who;  /* cw */
extern command_func mail_command;  /* mail */
extern command_func make_git;  /* git su_comment */
extern command_func make_new_character;  /* make */
extern command_func marry;  /* marry */
extern command_func marry_edit;  /* medit */
extern command_func master_search_command;  /* search */
extern command_func mindseye;  /* homeview mindseye */
extern command_func mode;  /* mode */
extern command_func motd;  /* motd */
extern command_func muffle;  /* muffle */
#ifdef ALLOW_MULTIS
  extern command_func multi_block;  /* blockmulti */
  extern command_func multi_idle;  /* idle_multi */
  extern command_func multi_kill;  /* kill_multi */
  extern command_func multi_list;  /* list_multi */
  extern command_func multi_remove;  /* rm_multi */
#endif /* ALLOW_MULTIS */

/* n */
extern command_func nban;  /* newbie_ban */
extern command_func net_anul_all;  /* anul */
extern command_func net_propose;  /* propose */
extern command_func netstat;  /* netstat */
extern command_func new;  /* new vnew */
extern command_func new_blankpass;  /* blankpass */
extern command_func newbie_allow;  /* allow */
extern command_func newbie_deny;  /* deny */
extern command_func newexamine;  /* examine x */
extern command_func newfinger;  /* f finger */
extern command_func news_checkown_command;  /* checkown */
extern command_func news_command;  /* news */
extern command_func news_help;  /* ? help man */
extern command_func news_read_next;  /* next */
extern command_func news_setsticky_command;  /* stick */
extern command_func news_stats;  /* stats */
extern command_func newthink;  /* ~ think */
extern command_func no_msgs;  /* nomsg */
extern command_func noisy;  /* noisy */
extern command_func nopager;  /* nopager */
extern command_func nopropose;  /* no_propose no_proposals */
extern command_func nuke_player;  /* nuke */
extern command_func nwho;  /* w */

/* o */
#ifdef NEW_RES_CODE
  extern command_func object_to_ressie;  /* obj */
#endif /* NEW_RES_CODE */
extern command_func off_lsu;  /* off_lsu */
extern command_func on_duty;  /* on_duty */
extern command_func on_lsu;  /* on_lsu */
#ifdef INTERCOM
  extern command_func open_intercom;  /* open */
#endif /* INTERCOM */
extern command_func override;  /* override */

/* p */
extern command_func p_who;  /* pw */
extern command_func paper_rock_scissors;  /* prs */
extern command_func pe;  /* d; d: de p; p: pe */
extern command_func pemote;  /* :: :; ;; ;: pemote */
extern command_func pemote_shout;  /* !;; !:: pyemote */
extern command_func pg_version;  /* summink_version version */
extern command_func pinfo_command;  /* pinfo */
extern command_func play_wif_item;  /* play */
extern command_func player_flags_verbose;  /* flags */
extern command_func player_stats;  /* pstats */
extern command_func post_news;  /* post apost */
extern command_func prefer;  /* prefer */
extern command_func premote;  /* <: ,: <; ,; premote */
extern command_func premote_friends;  /* pf */
extern command_func premote_others_friends;  /* pfo po */
extern command_func preply;  /* [: [; preply */
extern command_func prison_player;  /* jail */
extern command_func privs;  /* privs */
extern command_func ps;  /* d( d) ds p( p) ps */
#ifdef PC
  extern command_func psuedo_person;  /* pseudo */
#endif /* PC */
extern command_func pt;  /* d* d~ dt p* p~ pt */
extern command_func pu;  /* d\" d\' du p\" p\' ph pu */
extern command_func public_com;  /* public */
extern command_func pulldown;  /* shutdown */
extern command_func purge_gaglist;  /* blank_gags */
extern command_func purge_list;  /* purge_list */

/* q */
extern command_func quit_with_message;  /* mquit */
extern command_func qwho_old;  /* fwho qwho */

/* r */
extern command_func read_article;  /* read */
extern command_func read_letter;  /* read */
extern command_func read_sent;  /* readsent */
#ifdef SEAMLESS_REBOOT
  extern command_func reboot_command;  /* reboot */
#endif /* SEAMLESS_REBOOT */
extern command_func recap;  /* recap */
extern command_func recho;  /* - recho */
extern command_func recho_friends;  /* ef */
extern command_func recho_others_friends;  /* efo eo */
extern command_func redtape;  /* redtape */
extern command_func reject;  /* reject */
extern command_func relink_note;  /* relink */
extern command_func reload;  /* reload */
extern command_func remote;  /* < , remote */
extern command_func remote_friends;  /* rf */
extern command_func remote_others_friends;  /* { rfo ro */
extern command_func remote_think;  /* * rt rthink */
extern command_func remove_article;  /* remove */
extern command_func remove_auto;  /* -auto */
extern command_func remove_exit;  /* -exit */
extern command_func remove_from_others_list;  /* rm_list */
extern command_func remove_move;  /* rm_move */
extern command_func remove_privs;  /* remove */
extern command_func remove_shout;  /* rm_shout */
extern command_func remove_sing;  /* rm_sing */
extern command_func rename_player;  /* rename */
extern command_func repeat_mistell;  /* re repeat */
extern command_func reply;  /* ] reply */
extern command_func reply_letter;  /* reply areply xreply */
extern command_func report_error;  /* bug */
extern command_func report_idea;  /* idea suggest */
extern command_func reportto;  /* reportto rpt */
extern command_func res_count;  /* res_count */
extern command_func res_me;  /* res_me */
extern command_func reset_list;  /* rlist */
extern command_func reset_session;  /* reset_session */
extern command_func reset_sneeze;  /* reset_sneeze */
extern command_func reset_total_idle;  /* reset_idle */
extern command_func resident;  /* res resident validate */
extern command_func restore_files;  /* restore */
extern command_func room_antising;  /* chamber */
extern command_func room_bolt;  /* bolt */
extern command_func room_command;  /* room */
extern command_func room_edit;  /* edit */
extern command_func room_entry;  /* entrance */
extern command_func room_exitmsgs_ok;  /* exitmsg_con */
extern command_func room_isolate;  /* isolate */
extern command_func room_link;  /* link */
extern command_func room_linkable;  /* linkable */
extern command_func room_lock;  /* lock */
extern command_func room_lockable;  /* lockable */
extern command_func room_open;  /* open */
extern command_func room_soundproof;  /* soundproof */
extern command_func rsing;  /* ( rsing */
extern command_func rsing_others_friends;  /* sfo so */
extern command_func rt_others_friends;  /* rtfo rto */
extern command_func rthink_friends;  /* rtf */

/* s */
extern command_func s_who;  /* sw */
extern command_func same_site;  /* site */
extern command_func saved_warning;  /* swarn */
extern command_func say;  /* ' ` \" say */
extern command_func sban;  /* site_ban */
extern command_func screen_newbies;  /* screen */
extern command_func script;  /* script */
extern command_func see_echo;  /* seeecho */
extern command_func see_player_whois;  /* whois */
extern command_func see_suhistory;  /* suh */
extern command_func sell_item;  /* sell */
extern command_func send_letter;  /* post apost xpost */
extern command_func set_age;  /* age */
extern command_func set_alt_email;  /* url */
#ifdef AUTOSHUTDOWN
  extern command_func set_auto_shutdown;  /* autoshutdown */
#endif /* AUTOSHUTDOWN */
extern command_func set_birthday;  /* bday birthday */
extern command_func set_blockmsg;  /* blockmsg */
extern command_func set_comment;  /* comment */
extern command_func set_converse_prompt;  /* cprompt */
extern command_func set_description;  /* desc description */
extern command_func set_enter_msg;  /* entermsg */
extern command_func set_exitmsg;  /* exitmsg */
extern command_func set_favorites;  /* favorite favourite */
extern command_func set_home;  /* sethome */
extern command_func set_hometown;  /* hometown */
extern command_func set_icq;  /* icq */
extern command_func set_idle_msg;  /* idlemsg */
extern command_func set_ignore_msg;  /* ignoremsg */
extern command_func set_irl_name;  /* irl_name */
extern command_func set_list;  /* slist */
extern command_func set_log_priv;  /* chaccess */
extern command_func set_login_room;  /* connect_room */
extern command_func set_logoffmsg;  /* disconnectmsg logoutmsg logoffmsg */
extern command_func set_logonmsg;  /* connectmsg loginmsg logonmsg */
extern command_func set_made_from;  /* madefrom made_from */
extern command_func set_plan;  /* plan */
extern command_func set_pretitle;  /* prefix */
extern command_func set_prompt;  /* prompt */
extern command_func set_screenlock;  /* screenlock xlock */
extern command_func set_session;  /* session */
extern command_func set_social_attribute;  /* setsoc */
extern command_func set_spod_class;  /* spod_class */
extern command_func set_term_width;  /* linewrap */
extern command_func set_time_delay;  /* jetlag */
extern command_func set_title;  /* title */
extern command_func set_word_wrap;  /* wordwrap */
extern command_func set_yes_session;  /* seetitle */
extern command_func shout;  /* ! shout */
extern command_func show_exits;  /* showexits */
extern command_func show_logs;  /* clog */
extern command_func show_rank_equivs;  /* ranks */
extern command_func show_screen_queue;  /* squeue */
extern command_func show_spodlist;  /* spodlist spods */
extern command_func sing;  /* ) sing */
extern command_func sing_friends;  /* sf */
extern command_func sing_shout;  /* !) !( ysing */
extern command_func sitem_set_value;  /* setval */
extern command_func slots;  /* slots */
extern command_func sneeze;  /* evict sneeze */
extern command_func soft_eject;  /* drag */
extern command_func spank;  /* force */
extern command_func splat_player;  /* splat */
extern command_func sreply;  /* [( [) sreply */
extern command_func staff_list;  /* staff */
extern command_func start_new_social;  /* create_social */
#ifdef COMMAND_STATS
  extern command_func statcommands;  /* statcommands */
#endif /* COMMAND_STATS */
#ifdef ROBOTS
  extern command_func store_robot;  /* store */
#endif /* ROBOTS */
extern command_func straight_home;  /* ghome */
extern command_func su;  /* s\' s\" su */
extern command_func su_examine;  /* y z */
extern command_func su_hilited;  /* su_hi */
extern command_func suemote;  /* s; s: se su: */
extern command_func suicide;  /* suicide */
extern command_func sumotd;  /* sumotd */
extern command_func super_help;  /* shelp */
extern command_func sus_news_list;  /* snews */
extern command_func sus_news_post;  /* spost */
extern command_func sus_news_read;  /* sread */
extern command_func susing;  /* s) s( ss */
extern command_func suthink;  /* s~ st */
extern command_func swho;  /* swho */
extern command_func sync_all_by_user;  /* syncall */
extern command_func sync_files;  /* sync */
extern command_func sync_socials_command;  /* syncsocials */

/* t */
extern command_func tell;  /* > . tell */
extern command_func tell_friends;  /* tf */
extern command_func tell_others_friends;  /* } tfo to */
extern command_func think_shout;  /* !~ !* ythink */
extern command_func thinkin_wall;  /* twall */
extern command_func timeprompt;  /* timeprompt */
extern command_func toggle_anonymous;  /* noanon */
extern command_func toggle_block_items;  /* blockitems */
extern command_func toggle_block_logins;  /* blocklogins */
extern command_func toggle_color;  /* color colour */
extern command_func toggle_email_site_flags;  /* toggle */
extern command_func toggle_friend_inform;  /* login_fwho logon_fwho */
extern command_func toggle_iacga;  /* iacga */
extern command_func toggle_list;  /* tlist */
extern command_func toggle_mail_inform;  /* inform */
extern command_func toggle_news_inform;  /* inform */
extern command_func toggle_news_login;  /* login */
extern command_func toggle_no_bops;  /* nobops */
extern command_func toggle_no_gift;  /* nogift */
extern command_func toggle_noprs;  /* blockgames no_games nogames no_prs noprs */
extern command_func toggle_quiet_edit;  /* quiet */
extern command_func toggle_singblock;  /* singblock */
extern command_func toggle_system_color;  /* syscolor syscolour */
extern command_func toggle_tags;  /* show */
extern command_func trace;  /* trace */
extern command_func trans_fn;  /* trans */
extern command_func transfer_room;  /* transfer */
extern command_func treply;  /* [* [~ treply */
extern command_func ttt_cmd;  /* ttt */
extern command_func twho;  /* twho */

/* u */
extern command_func unbanish;  /* unbanish */
#ifdef INTERCOM
  extern command_func unbar_talker;  /* unbar */
#endif /* INTERCOM */
extern command_func unconverse;  /* unconverse */
extern command_func undefine_alias;  /* undefine */
extern command_func undumb;  /* undumb */
extern command_func unjail;  /* unjail */
extern command_func unsplat;  /* unsplat */
#ifdef ROBOTS
  extern command_func unstore_robot;  /* unstore */
#endif /* ROBOTS */
extern command_func use_search;  /* etrace itrace xref */

/* v */
extern command_func validate_email;  /* validate_email */
#ifdef LAST
  extern command_func viewLast;  /* last */
#endif /* LAST */
extern command_func view_alias;  /* lsa */
extern command_func view_check_commands;  /* commands */
extern command_func view_commands;  /* c commands */
#ifdef INTERCOM
  extern command_func view_intercom_commands;  /* commands */
#endif /* INTERCOM */
extern command_func view_ip;  /* ip lsi */
extern command_func view_list;  /* list */
extern command_func view_mail_commands;  /* commands */
extern command_func view_news_commands;  /* commands */
extern command_func view_note;  /* view_note */
extern command_func view_others_aliases;  /* val */
extern command_func view_others_list;  /* vlist */
extern command_func view_people_and_flags;  /* view_flags */
extern command_func view_player_email;  /* mails */
extern command_func view_player_url;  /* list_url lsw */
extern command_func view_received;  /* mail check chekc view */
extern command_func view_review;  /* history review */
extern command_func view_room_commands;  /* commands */
extern command_func view_room_key_commands;  /* commands */
extern command_func view_saved_lists;  /* res_list list_res lsr */
extern command_func view_sent;  /* sent */
extern command_func view_slots_panels;  /* slot_panels */
extern command_func view_store;  /* list_obj list_objects lso */
extern command_func view_time;  /* time */
extern command_func visit;  /* visit */
extern command_func vlog;  /* vlog */
extern command_func vscript;  /* vemerg vscript */

/* w */
extern command_func wake;  /* wake */
extern command_func wall;  /* wall */
extern command_func wall_to_supers;  /* suwall */
extern command_func warn;  /* warn */
extern command_func wear_item;  /* wear */
extern command_func where;  /* where */
extern command_func whisper;  /* = whisper */
extern command_func who;  /* who */
extern command_func wield_item;  /* wield */
extern command_func with;  /* with */

/* y */
extern command_func yoyo;  /* yoyo */
extern command_func yreply;  /* [& yreply */

/* z */
extern command_func z_who;  /* zw */
extern command_func zc;  /* zc */
extern command_func zdel;  /* zdel */
extern command_func ze;  /* z; z: ze */
extern command_func zs;  /* z( z) zs */
extern command_func zt;  /* z* z~ zt */
extern command_func zu;  /* z\" z\' zh zu */


/* dummy commands for stack checks */

struct command input_to = {"input_to fn", 0, 0, 0, 0, 0, 0};
struct command timer = {"timer fn", 0, 0, 0, 0, 0, 0};

/* command list for editor */

struct command  editor_list[] = {
   {"+", edit_forward_line, 0, 0, 1, 0, 0},
   {"-", edit_back_line, 0, 0, 1, 0, 0},
   {"?", edit_help, 0, 0, 0, 0, 0},
   {"bot", edit_goto_bottom, 0, 0, 1, 0, 0},
   {"commands", edit_view_commands, 0, 0, 1, 0, 0},
   {"del", edit_delete_line, 0, 0, 1, 0, 0},
   {"end", edit_end, 0, 0, 1, 0, 0},
   {"format", edit_toggle_formatting, 0, 0, 1, 0, 0},
   {"g", edit_goto_line, 0, 0, 1, 0, 0},
   {"help", edit_help, 0, 0, 1, 0, 0},
   {"insert", edit_toggle_insert, 0, 0, 1, 0, 0},
   {"l", edit_view_line, 0, 0, 1, 0, 0},
   {"move", edit_move_lines, 0, 0, 1, 0, 0},
   {"n", edit_search_next, 0, 0, 1, 0, 0},
   {"pad", edit_set_padding, 0, 0, 1, 0, 0},
   {"para", edit_toggle_paragraph, 0, 0, 1, 0, 0},
   {"pretty", edit_toggle_pretty, 0, 0, 1, 0, 0},
   {"quiet", toggle_quiet_edit, 0, 0, 1, 0, 0},
   {"quit", edit_quit, 0, 0, 1, 0, 0},
   {"replace", edit_replace_lines, 0, 0, 1, 0, 0},
   {"s", edit_search, 0, 0, 1, 0, 0},
   {"stats", edit_stats, 0, 0, 1, 0, 0},
   {"top", edit_goto_top, 0, 0, 1, 0, 0},
   {"trunc", edit_toggle_autotruncate, 0, 0, 1, 0, 0},
   {"version", edit_show_version, 0, 0, 1, 0, 0},
   {"view", edit_view, 0, 0, 1, 0, 0},
   {"wipe", edit_wipe, 0, 0, 1, 0, 0},
   {0, 0, 0, 0, 0, 0, 0}
};

/* command list for the room function */

struct command  keyroom_list[] = {
   {"+exit", add_exit, BUILD, 0, 1, 0, 0},
   {"-exit", remove_exit, BUILD, 0, 1, 0, 0},
   {"?", help, 0, 0, 0, 0, 0},
   {"check", check_rooms, BUILD, 0, 1, 0, 0},
   {"chekc", check_rooms, BUILD, 0, 1, 0, 0},
   {"commands", view_room_key_commands, BUILD, 0, 1, 0, 0},
   {"end", exit_room_mode, BUILD, 0, 1, 0, 0},
   {"entermsg", change_room_entermsg, BUILD, 0, 1, 0, 0},
   {"exits", check_exits, BUILD, 0, 1, 0, 0},
   {"go", go_room, BUILD, 0, 1, 0, 0},
   {"help", help, 0, 0, 0, 0, 0},
   {"info", check_room, BUILD, 0, 1, 0, 0},
   {"linkable", room_linkable, BUILD, 0, 1, 0, 0},
   {"lock", room_lock, BUILD, 0, 1, 0, 0},
   {"lockable", room_lockable, BUILD, 0, 1, 0, 0},
   {"look", look, BUILD, 0, 1, 0, 0},
   {"name", change_room_name, BUILD, 0, 1, 0, 0},
   {"open", room_open, BUILD, 0, 1, 0, 0},
   {"trans", trans_fn, BUILD, 0, 1, 0, 0},
   {0, 0, 0, 0, 0, 0, 0}
};

#ifdef INTERCOM
struct command intercom_list[] = {
   {"add_server",add_intercom_server,LOWER_ADMIN,0, 1, 0, 0},
   {"announce_move",intercom_site_move,ADMIN,1,0},
   {"banish", intercom_banish, SU, 0, 1, 0, 0},
   {"banish_name", intercom_banish_name, SU, 0, 1, 0, 0},
   {"bar", bar_talker, SU, 0, 1, 0, 0},
   {"bar_name", intercom_bar_name, SU, 0, 1, 0, 0},
   {"change_address",intercom_change_address,LOWER_ADMIN,0,1,0,0},
   {"change_alias",intercom_change_alias,LOWER_ADMIN,0,1,0,0},
   {"change_name",intercom_change_name,LOWER_ADMIN,0,1,0,0},
   {"change_port",intercom_change_port,LOWER_ADMIN,0,1,0,0},
   {"close",close_intercom,SU,0,1,0,0},
   {"commands", view_intercom_commands, BASE,0, 1, 0,0},
   {"delete_server",delete_intercom_server,LOWER_ADMIN,0,1,0,0},
   {"dynamic", intercom_dynamic, ADMIN, 0, 1, 0, 0},
   {"hide", intercom_hide, SU, 0, 1, 0, 0},
   {"home", intercom_home, 0, 1, 0},
   {"list",list_intercom_servers,BASE,0,1,0,0},
   {"locate",intercom_locate_name,BASE,1,0},
   {"open",open_intercom,SU,0,1,0,0},
   {"ping",intercom_ping,SU, 0,1, 0,0},
   {"reboot",intercom_reboot,LOWER_ADMIN,0,1,0,0},
   {"slist",intercom_slist,BASE,0,1,0,0},
  {0, 0, 0, 0, 0, 0, 0}
};
#endif

/* room commands */

struct command  room_list[] = {
   {"+auto", add_auto, BUILD, 0, 1, 0, 0},
   {"+exit", add_exit, BUILD, 0, 1, 0, 0},
   {"-auto", remove_auto, BUILD, 0, 1, 0, 0},
   {"-exit", remove_exit, BUILD, 0, 1, 0, 0},
   {"?", help, 0, 0, 0, 0, 0},
   {"autos", autos_com, BUILD, 0, 1, 0, 0},
   {"bolt", room_bolt, BUILD, 0, 1, 0, 0},
   {"chamber", room_antising, BUILD, 0, 1, 0, 0},
   {"check", check_rooms, BUILD, 0, 1, 0, 0},
   {"chekc", check_rooms, BUILD, 0, 1, 0, 0},
   {"commands", view_room_commands, BUILD, 0, 1, 0, 0},
   {"create", create_new_room, BUILD, 0, 1, 0, 0},
   {"delete", delete_room, BUILD, 0, 1, 0, 0},
   {"edit", room_edit, BUILD, 0, 1, 0, 0},
   {"end", exit_room_mode, BUILD, 0, 1, 0, 0},
   {"entermsg", change_room_entermsg, BUILD, 0, 1, 0, 0},
   {"entrance", room_entry, BUILD, 0, 1, 0, 0},
   {"exitmsg_con", room_exitmsgs_ok, BUILD, 0, 1, 0, 0},
   {"exits", check_exits, BUILD, 0, 1, 0, 0},
   {"go", go_room, BUILD, 0, 1, 0, 0},
   {"help", help, 0, 0, 1, 0, 0},
   {"home", go_home, BUILD, 0, 1, 0, 0},
   {"id", change_room_id, BUILD, 0, 1, 0, 0},
   {"info", check_room, BUILD, 0, 1, 0, 0},
   {"isolate", room_isolate, BUILD, 0, 1, 0, 0},
   {"link", room_link, BUILD, 0, 1, 0, 0},
   {"linkable", room_linkable, BUILD, 0, 1, 0, 0},
   {"lock", room_lock, BUILD, 0, 1, 0, 0},
   {"lockable", room_lockable, BUILD, 0, 1, 0, 0},
   {"look", look, BUILD, 0, 1, 0, 0},
   {"name", change_room_name, BUILD, 0, 1, 0, 0},
   {"notify", inform_room_enter, BUILD, 0, 1, 0, 0},
   {"open", room_open, BUILD, 0, 1, 0, 0},
   {"sethome", set_home, BUILD, 0, 1, 0, 0},
   {"soundproof", room_soundproof, BUILD, 0, 1, 0, 0},
   {"speed", change_auto_base, BUILD, 0, 1, 0, 0},
   {"trans", trans_fn, BUILD, 0, 1, 0, 0},
   {"transfer", transfer_room, ADMIN, 0, 1, 0, 0},
   {0, 0, 0, 0, 0, 0, 0}
};

/* command list for the check function */

struct command  check_list[] = {
   {"?", help, 0, 0, 0, 0, 0},
   {"autos", check_autos, BUILD, 0, 1, 0, 0},
   {"commands", view_check_commands, 0, 0, 1, 0, 0},
   {"email", check_email, 0, 0, 1, 0, 0},
   {"entry", check_entry, 0, 0, 1, 0, 0},
   {"exits", check_exits, 0, 0, 1, 0, 0},
   {"flags", player_flags_verbose, 0, 0, 1, 0, 0},
   {"help", help, 0, 0, 1, 0, 0},
   {"info", check_info, ADMIN, 0, 1, 0, 0},
   {"ip", view_ip, (SU | ADMIN), 0, 1, 0, 0},
   {"list", check_alist, LIST, 0, 1, 0, 0},
   {"mail", view_received, MAIL, 0, 1, 0, 0},
   {"mails", view_player_email, ADMIN, 0, 1, 0, 0},
   {"news", list_news, 0, 0, 1, 0, 0},
   {"res_list", view_saved_lists, ADMIN, 0, 1, 0, 0},
   {"room", check_room, 0, 0, 1, 0, 0},
   {"rooms", check_rooms, BUILD, 0, 1, 0, 0},
   {"sent", view_sent, MAIL, 0, 1, 0, 0},
   {"snews", sus_news_list, PSU, 0, 1, 0, 0},
   {"updates", check_updates, (LOWER_ADMIN | ADMIN), 0, 1, 0, 0},
   {"wrap", check_wrap, 0, 0, 1, 0, 0},
{0, 0, 0, 0, 0, 0, 0}};

/* news commands */

struct command  news_list[] =
{
   {"?", news_help, 0, 0, 0, 0},
   {"afollowup", followup, MAIL, 0, 1, 0},
   {"apost", post_news, MAIL, 0, 1, 0},
   {"check", list_news, 0, 0, 1, 0},
   {"checkown", news_checkown_command, MAIL, 0, 1, 0},
   {"commands", view_news_commands, 0, 0, 1, 0},
   {"end", exit_news_mode, 0, 0, 1, 0},
   {"followup", followup, MAIL, 0, 1, 0},
   {"groups", list_news_groups, 0, 0, 1, 0},
   {"help", news_help, 0, 0, 1, 0},
   {"inform", toggle_news_inform, 0, 0, 1, 0},
   {"login", toggle_news_login, BASE, 0, 1, 0},
   {"man", news_help, 0, 0, 1, 0},
   {"next", news_read_next, 0, 0, 1, 0},
   {"post", post_news, MAIL, 0, 1, 0},
   {"read", read_article, 0, 0, 1, 0},
   {"remove", remove_article, MAIL, 0, 1, 0},
   {"stats", news_stats, ADMIN, 0, 1, 0},
   {"stick", news_setsticky_command, ADMIN, 0, 1, 0},
   {"view", list_news, 0, 0, 1, 0},
   {0, 0, 0, 0, 0, 0}
};


/* command list for the mail sub command */

struct command  mail_list[] = {
   {"?", help, 0, 0, 0, 0, 0},
   {"aforward", forward_letter, MAIL, 0, 1, 0, 0},
   {"apost", send_letter, MAIL, 0, 1, 0, 0},
   {"areply", reply_letter, MAIL, 0, 1, 0, 0},
   {"check", view_received, 0, 0, 1, 0, 0},
   {"chekc", view_received, 0, 0, 1, 0, 0},
   {"commands", view_mail_commands, MAIL, 0, 1, 0, 0},
   {"delete", delete_received, MAIL, 0, 1, 0, 0},
   {"end", exit_mail_mode, MAIL, 0, 1, 0, 0},
   {"forward", forward_letter, MAIL, 0, 1, 0, 0},
   {"help", help, 0, 0, 1, 0, 0},
   {"inform", toggle_mail_inform, 0, 0, 1, 0, 0},
   {"noanon", toggle_anonymous, 0, 0, 1, 0, 0},
   {"post", send_letter, MAIL, 0, 1, 0, 0},
   {"read", read_letter, MAIL, 0, 1, 0, 0},
   {"readsent", read_sent, MAIL, 0, 1, 0, 0},
   {"remove", delete_sent, MAIL, 0, 1, 0, 0},
   {"reply", reply_letter, MAIL, 0, 1, 0, 0},
   {"sent", view_sent, MAIL, 0, 1, 0, 0},
   {"view", view_received, MAIL, 0, 1, 0, 0},
   {"xforward", forward_letter, MAIL, ADMIN, 1, 0, 0},
   {"xpost", send_letter, MAIL, ADMIN, 1, 0, 0},
   {"xreply", reply_letter, MAIL, ADMIN, 1, 0, 0},
{0, 0, 0, 0, 0, 0, 0}};


/* restricted command list for naughty peoples */

struct command  restricted_list[] = {
   {"'", say, 0, 0, 0, 0, 0},
   {":", emote, 0, 0, 0, 0, 0},
   {"::", pemote, 0, 0, 0, 0, 0},
   {":;", pemote, 0, 0, 0, 0, 0},
   {";", emote, 0, 0, 0, 0, 0},
   {";:", pemote, 0, 0, 0, 0, 0},
   {";;", pemote, 0, 0, 0, 0, 0},
   {"=", whisper, 0, 0, 0, 0, 0},
   {"?", help, 0, 0, 1, 0, 0},
   {"\"", say, 0, 0, 0, 0, 0},
   {"`", say, 0, 0, 0, 0, 0},
   {"emote", emote, 0, 0, 1, 0, 0},
   {"help", help, 0, 0, 1, 0, 0},
   {"l", look, 0, 0, 1, 0, 0},
   {"look", look, 0, 0, 1, 0, 0},
   {"pemote", pemote, 0, 0, 1, 0, 0},
   {"say", say, 0, 0, 1, 0, 0},
   {"whisper", whisper, 0, 0, 1, 0, 0},
{0, 0, 0, 0, 0, 0, 0}};

/* this is the main command list */

/* commands with:
   INVISc     - will not be shown on the actual list 
   SPAMc      - will trigger the anti-spam code if used excessively
   F_SWEARc   - will always be filtered for swearing
   M_SWEARc   - will only be filtered for swearing in the main rooms */

struct command  complete_list[] = {	/* alphabetic! */

/* non a-z */
{"!", shout, 0, 0, 0, 0, COMMc|F_SWEARc|SPAMc},
{"!(", sing_shout, 0, 0, 0, 0, F_SWEARc|INVISc},
{"!)", sing_shout, 0, 0, 0, 0, COMMc|F_SWEARc|SPAMc},
{"!*", think_shout, 0, 0, 0, 0, INVISc|F_SWEARc},
{"!+", echo_shout, ECHO_PRIV, 0, 0, 0, COMMc|F_SWEARc|SPAMc},
{"!-", echo_shout, ECHO_PRIV, 0, 0, 0, INVISc},
{"!:", emote_shout, 0, 0, 0, 0, INVISc},
{"!::", pemote_shout, 0, 0, 0, 0, INVISc},
{"!;", emote_shout, 0, 0, 0, 0, COMMc|F_SWEARc|SPAMc},
{"!;;", pemote_shout, 0, 0, 0, 0, COMMc|F_SWEARc|SPAMc},
{"!~", think_shout, 0, 0, 0, 0, COMMc|F_SWEARc|SPAMc},
{"&", beep_tell, BASE, 0, 0, 0, COMMc|SPAMc},
{"'", say, 0, 0, 0, 0, COMMc|M_SWEARc|SPAMc},
{"(", rsing, 0, 0, 0, 0, COMMc|SPAMc},
{")", sing, 0, 0, 0, 0, COMMc|M_SWEARc|SPAMc},
{"*", remote_think, 0, 0, 0, 0, COMMc|SPAMc},
{"+", echo, ECHO_PRIV, 0, 0, 0, COMMc|M_SWEARc|SPAMc},
{",", remote, 0, 0, 0, 0, COMMc|SPAMc},
{",:", premote, 0, 0, 0, 0, (COMMc|SPAMc|INVISc)},
{",;", premote, 0, 0, 0, 0, COMMc|SPAMc},
{"-", recho, ECHO_PRIV, 0, 0, 0, COMMc|SPAMc},
{".", tell, 0, 0, 0, 0, COMMc|SPAMc},
{":", emote, 0, 0, 0, 0, COMMc|M_SWEARc|SPAMc},
{"::", pemote, 0, 0, 0, 0, (COMMc|M_SWEARc|SPAMc|INVISc)},
{":;", pemote, 0, 0, 0, 0, (COMMc|M_SWEARc|SPAMc|INVISc)},
{";", emote, 0, 0, 0, 0, COMMc|M_SWEARc|SPAMc},
{";:", pemote, 0, 0, 0, 0, (COMMc|M_SWEARc|SPAMc|INVISc)},
{";;", pemote, 0, 0, 0, 0, COMMc|M_SWEARc|SPAMc},
{"<", remote, 0, 0, 0, 0, COMMc|SPAMc},
{"<:", premote, 0, 0, 0, 0, (COMMc|SPAMc|INVISc)},
{"<;", premote, 0, 0, 0, 0, COMMc|SPAMc},
{"=", whisper, 0, 0, 0, 0, COMMc|SPAMc},
{">", tell, 0, 0, 0, 0, COMMc|SPAMc},
{"?", help, 0, 0, 0, 0, (INFOc|MISCc)},
{"[", ereply, 0, 0, 0, 0, COMMc|SPAMc},
{"[&", yreply, BASE, 0, 0, 0, COMMc|SPAMc},
{"[(", sreply, 0, 0, 0, 0, INVISc},
{"[)", sreply, 0, 0, 0, 0, COMMc|SPAMc},
{"[*", treply, 0, 0, 0, 0, INVISc},
{"[+", echoreply, ECHO_PRIV, 0, 0, 0, COMMc|SPAMc},
{"[-", echoreply, ECHO_PRIV, 0, 0, 0, INVISc},
{"[:", preply, 0, 0, 0, 0, INVISc},
{"[;", preply, 0, 0, 0, 0, COMMc|SPAMc},
{"[~", treply, 0, 0, 0, 0, COMMc|SPAMc},
{"\"", say, 0, 0, 0, 0, COMMc|M_SWEARc|SPAMc},
{"]", reply, 0, 0, 0, 0, COMMc|SPAMc},
{"`", say, 0, 0, 0, 0, (COMMc|M_SWEARc|SPAMc|INVISc)},
{0, 0, 0, 0, 0, 0, 0},

/* a */
{"a(", adminsing, (LOWER_ADMIN | ADMIN | ADC), 0, 0, 0, INVISc},
{"a)", adminsing, (LOWER_ADMIN | ADMIN | ADC), 0, 0, 0, INVISc},
{"a*", adminthink, (LOWER_ADMIN | ADMIN | ADC), 0, 0, 0, INVISc},
{"a:", adminemote, (LOWER_ADMIN | ADMIN | ADC), 0, 0, 0, INVISc},
{"a;", adminemote, (LOWER_ADMIN | ADMIN | ADC), 0, 0, 0, INVISc},
{"a\"", ad, (LOWER_ADMIN | ADMIN | ADC), 0, 0, 0, INVISc},
{"a\'", ad, (LOWER_ADMIN | ADMIN | ADC), 0, 0, 0, INVISc},
{"abort", abort_shutdown, LOWER_ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"accept", acc_engage, BASE, 0, 1, 0, MISCc},
{"ad", ad, (LOWER_ADMIN | ADMIN | ADC), 0, 1, 0, INVISc|ADMINc},
{"adnews", ad_news_list, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"adpost", ad_news_post, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"adread", ad_news_read, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"ae", adminemote, (LOWER_ADMIN | ADMIN | ADC), 0, 1, 0, ADMINc},
{"aecho", echoall, ADMIN, 0, 1, 0, ADMINc},
{"age", set_age, 0, 0, 1, 0, DESCc},
{"alias", define_alias, BASE, 0, 1, 0, MISCc},
{"all_delete", delete_all_items, ADMIN, 0, 1, 0, ITEMc},
{"allow", newbie_allow, SU, 0, 1, 0, SUPERc},
{"amend", ammend_to_log, PSU, 0, 1, 0, SUPERc},
{"ammend", ammend_to_log, PSU, 0, 1, 0, INVISc},
{"anul", net_anul_all, ADMIN, 0, 1, 0, ADMINc},
{"as", adminsing, LOWER_ADMIN|ADC, 0, 1, 0, ADMINc},
{"ask", lesser_warn, (SU|WARN), 0, 1, 0, SUPERc|NOMATCHc},
{"assist", assist_player, SU, 0, 1, 0, SUPERc|NOMATCHc},
{"at", adminthink, (LOWER_ADMIN | ADMIN | ADC), 0, 1, 0, ADMINc},
{"au", ad, (LOWER_ADMIN | ADMIN | ADC), 0, 1, 0, ADMINc},
#ifdef AUTOSHUTDOWN
  {"autoshutdown", set_auto_shutdown, ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
#endif /* AUTOSHUTDOWN */
{"aw", a_who, (LOWER_ADMIN | ADMIN | ADC), 0, 1, 0, ADMINc},
{"a~", adminthink, (LOWER_ADMIN | ADMIN | ADC), 0, 0, 0, INVISc},
{0, 0, 0, 0, 0, 0, 0},

/* b */
{"backup", do_backup, ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"banish", banish_player, (ASU | ADMIN), 0, 1, 0, SUPERc|NOMATCHc},
{"bar", bar, LIST, 0, 1, 0, LISTc},
{"barge", barge, ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"bday", set_birthday, 0, 0, 1, 0, DESCc},
{"becho", echoroomall, ADMIN, 0, 1, 0, ADMINc},
{"bedit", banish_edit, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"beep", beep, LIST, 0, 1, 0, LISTc},
{"birthday", set_birthday, 0, 0, 1, 0, (INVISc|DESCc)},
{"blank", blank_something, SU, 0, 1, 0, SUPERc|NOMATCHc},
{"blank_alias", blank_all_aliases, BASE, 0, 1, 0, MISCc},
{"blank_email", blank_email, (LOWER_ADMIN | ADMIN), 0, 1, 0, ADMINc|NOMATCHc},
{"blank_gags", purge_gaglist, 0, 0, 1, 0, MISCc},
{"blank_items", delete_items, BASE, 0, 1, 0, ITEMc},
{"blank_list", blank_list, LIST, 0, 1, 0, LISTc},
{"blankpass", new_blankpass, (ASU | ADMIN), 0, 1, 0, SUPERc|NOMATCHc},
{"block", block, LIST, 0, 1, 0, LISTc},
{"blockchans", block_all_channels, BASE, 0, 1, 0, SYSc},
{"blockdesc", block_room_descriptions, 0, 0, 1, 0, SYSc},
{"blockfmail", friend_mailblock, LIST, 0, 1, 0, SYSc},
{"blockfriends", block_ftells, LIST, 0, 1, 0, SYSc},
{"blockgames", toggle_noprs, 0, 0, 1, 0, MISCc},
{"blockitems", toggle_block_items, 0, 0, 1, 0, (SYSc|ITEMc)},
{"blocklist", global_nofriend, LIST, 0, 1, 0, LISTc},
{"blocklogins", toggle_block_logins, 0, 0, 1, 0, SYSc},
{"blockmsg", set_blockmsg, BASE, 0, 1, 0, DESCc},
#ifdef ALLOW_MULTIS
  {"blockmulti", multi_block, 0, 0, 1, 0, SYSc},
#endif /* ALLOW_MULTIS */
{"blocktells", blocktells, 0, 0, 1, 0, SYSc},
{"boot", boot_out, BUILD, 0, 1, 0, ROOMc},
{"bop", bop_with_wielded_item, BASE, 0, 1, 0, ITEMc|SPAMc},
{"bounce", bounce, 0, 0, 1, 0, MOVEc},
{"bug", report_error, 0, 0, 1, 0, MISCc},
{"bump", bump_off, LOWER_ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"buy", buy_object, BASE, 0, 1, 0, ITEMc},
{0, 0, 0, 0, 0, 0, 0},

/* c */
{"c", view_commands, 0, 0, 1, 0, INVISc},
{"c(", cs, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"c)", cs, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"c*", ct, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"c:", ce, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"c;", ce, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"c\"", cu, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"c\'", cu, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"cancel", cancel_engage, BASE, 0, 1, 0, MISCc},
#ifdef AUTOSHUTDOWN
  {"cancel_as", cancel_as, ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
#endif /* AUTOSHUTDOWN */
{"ce", ce, 0, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"ch", cu, 0, 0, 1, 0, SPAMc|INVISc|F_SWEARc},
{"ch_hi", chanhi, 0, 0, 1, 0, SYSc},
{"chaccess", set_log_priv, ADMIN, 0, 1, 0, ADMINc},
{"change_command_privs", change_command_privs, HCADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"check", check, 0, 0, 1, 0, INFOc},
{"chekc", check, 0, 0, 1, 0, (INFOc|INVISc)},
{"chlim", change_player_limits, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"ckban", check_banish_status, SU, 0, 1, 0, SUPERc},
{"clist", clear_list, LIST, 0, 1, 0, LISTc},
{"clog", show_logs, SU, 0, 1, 0, SUPERc},
{"cls", clear_screen, 0, 0, 1, 0, MISCc},
{"color", toggle_color, 0, 0, 1, 0, SYSc},
{"colorize", customize_colors, 0, 0, 1, 0, SYSc},
{"colour", toggle_color, 0, 0, 1, 0, INVISc},
{"colourise", customize_colors, 0, 0, 1, 0, INVISc},
{"colourize", customize_colors, 0, 0, 1, 0, INVISc},
{"comfy", go_comfy, SU, 0, 1, 0, SUPERc},
{"commands", view_commands, 0, 0, 1, 0, MISCc},
{"comment", set_comment, 0, 0, 1, 0, MISCc},
{"comments", comments, 0, 0, 1, 0, (MISCc|INFOc)},
{"confirm", confirm_password, SU, 0, 1, 0, SUPERc},
{"connect_room", set_login_room, BASE, 0, 1, 0, (SYSc|ROOMc)},
{"connectmsg", set_logonmsg, BASE, 0, 1, 0, INVISc},
{"converse", converse_mode_on, BASE, 0, 1, 0, MISCc},
{"cprompt", set_converse_prompt, BASE, 0, 1, 0, MISCc},
{"create", create_object, BUILDER, 0, 1, 0, ITEMc},
{"create_social", start_new_social, SPECIALK, 0, 1, 0, SOCIALc},
{"cs", cs, 0, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"ct", ct, 0, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"cu", cu, 0, 0, 1, 0, F_SWEARc|SPAMc|COMMc},
{"cw", m_who, 0, 0, 1, 0, INFOc},
{"c~", ct, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{0, 0, 0, 0, 0, 0, 0},

/* d */
{"d(", ps, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"d)", ps, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"d*", pt, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"d:", pe, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"d;", pe, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"d\"", pu, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"d\'", pu, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"de", pe, SPOD, 0, 1, 0, INVISc|F_SWEARc|SPAMc},
{"decap", decap_player, SU, 0, 1, 0, SUPERc|NOMATCHc},
{"define", define_alias, BASE, 0, 1, 0, MISCc},
{"deflogin", define_logon_macro, BASE, 0, 1, 0, INVISc},
{"deflogoff", define_logoff_macro, BASE, 0, 1, 0, MISCc},
{"deflogon", define_logon_macro, BASE, 0, 1, 0, MISCc},
{"deflogout", define_logoff_macro, BASE, 0, 1, 0, INVISc},
{"defrag", dynamic_defrag_rooms, ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"defrecon", define_recon_macro, BASE, 0, 1, 0, MISCc},
{"delete", delete_item, BUILDER|ASU, 0, 1, 0, ITEMc},
{"delete_social", delete_social, (SPECIALK | ADMIN), 0, 1, 0, SOCIALc},
{"deny", newbie_deny, SU, 0, 1, 0, SUPERc},
{"desc", set_description, 0, 0, 1, 0, DESCc},
{"description", set_description, 0, 0, 1, 0, (DESCc|INVISc)},
{"dfcheck", dynamic_validate_rooms, ADMIN, 0, 1, 0, ADMINc},
{"dfstats", dynamic_dfstats, ADMIN, 0, 1, 0, ADMINc},
{"dibbs", dibbs, SU, 0, 1, 0, SUPERc|NOMATCHc},
{"disclaim", disclaim, ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"disconnectmsg", set_logoffmsg, BASE, 0, 1, 0, INVISc},
{"divorce", divorce, MINISTER, 0, 1, 0, INVISc},
{"drag", soft_eject, SU, 0, 1, 0, SUPERc|NOMATCHc},
{"drink", drink_item, BASE, 0, 1, 0, ITEMc},
{"ds", ps, SPOD, 0, 1, 0, INVISc|F_SWEARc|SPAMc},
{"dsc_hi", hichan, BASE, 0, 1, 0, MISCc},
{"dt", pt, SPOD, 0, 1, 0, INVISc|F_SWEARc|SPAMc},
{"du", pu, SPOD, 0, 1, 0, INVISc|F_SWEARc|SPAMc},
{"dumb", dumb, (DUMB | SU), 0, 1, 0, (MISCc|SUPERc|NOMATCHc)},
{"dump", dump_com, (LOWER_ADMIN | ADMIN), 0, 1, 0, ADMINc|NOMATCHc},
{"d~", pt, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{0, 0, 0, 0, 0, 0, 0},

/* e */
{"earmuffs", earmuffs, 0, 0, 1, 0, SYSc},
{"eat", eat_item, BASE, 0, 1, 0, ITEMc},
{"echo", echo, ECHO_PRIV, 0, 1, 0, COMMc|M_SWEARc|SPAMc},
{"edcash", edcash, ADMIN, 0, 1, 0, ADMINc},
{"edfirst", edfirst, ADMIN, 0, 1, 0, ADMINc},
{"edidle", edidle, ADMIN, 0, 1, 0, ADMINc},
{"edit_file", edit_file, ADMIN, 0, 1, 0, ADMINc},
{"edit_social", edit_social, SPECIALK, 0, 1, 0, SOCIALc},
{"edtime", edtime, ADMIN, 0, 1, 0, ADMINc},
{"ef", recho_friends, ECHO_PRIV, LIST, 1, 0, COMMc|SPAMc},
{"efo", recho_others_friends, ECHO_PRIV, 0, 1, 0, COMMc|SPAMc},
{"email", change_email, 0, 0, 1, 0, SYSc},
{"emergency", emergency, 0, 0, 1, 0, MISCc},
{"emote", emote, 0, 0, 1, 0, COMMc|M_SWEARc|SPAMc},
{"end", converse_mode_off, BASE, 0, 1, 0, MISCc},
{"entermsg", set_enter_msg, 0, 0, 1, 0, DESCc},
{"eo", recho_others_friends, ECHO_PRIV, 0, 1, 0, INVISc|SPAMc},
{"ereply", ereply, 0, 0, 1, 0, COMMc|SPAMc},
{"etrace", use_search, ADMIN, 0, 1, 0, ADMINc},
{"evict", sneeze, (SU | ADMIN), HOUSE, 1, 0, SUPERc|NOMATCHc},
{"ewall", emoted_wall, (LOWER_ADMIN | ADMIN), 0, 1, 0, ADMINc|NOMATCHc|SPAMc},
{"examine", newexamine, 0, 0, 1, 0, INFOc},
{"exclude", exclude, 0, 0, 1, 0, COMMc|M_SWEARc|SPAMc},
{"exitmsg", set_exitmsg, BASE, 0, 1, 0, DESCc},
{"exits", check_exits, 0, 0, 1, 0, (INFOc|ROOMc)},
{"extend", extend, SU, 0, 1, 0, SUPERc},
{0, 0, 0, 0, 0, 0, 0},

/* f */
{"f", newfinger, 0, 0, 1, 0, INFOc},
{"favorite", set_favorites, 0, 0, 1, 0, DESCc},
{"favourite", set_favorites, 0, 0, 1, 0, INVISc},
{"find", listfind, LIST, 0, 1, 0, LISTc},
{"finger", newfinger, 0, 0, 1, 0, INFOc},
{"fingerpaint", fingerpaint, 0, 0, 1, 0, MISCc},
{"fix_list", fix_list, ADMIN, 0, 1, 0, ADMINc},
{"flirt", declare_flirt, LIST, 0, 1, 0, MISCc},
{"flist", change_list_absolute, LIST, 0, 1, 0, LISTc},
{"force", spank, ADMIN, 0, 1, 0, ADMINc|INVISc},
{"forcehelp", forcehelp, SU, 0, 1, 0, SUPERc},
{"friend", friend, LIST, 0, 1, 0, LISTc},
{"friendblock", list_friendblock, LIST, 0, 1, 0, LISTc},
{"friended", friended, BASE, 0, 1, 0, LISTc},
{"fwho", qwho_old, LIST, 0, 1, 0, (INFOc|LISTc)},
{0, 0, 0, 0, 0, 0, 0},

/* g */
{"gag", create_gag, 0, 0, 1, 0, MISCc},
{"game_hi", game_hi, 0, 0, 1, 0, SYSc},
{"gender", gender, 0, 0, 1, 0, MISCc},
{"ghome", straight_home, BUILD, 0, 1, 0, (SYSc|ROOMc)},
{"git", make_git, SU, 0, 1, 0, SUPERc},
{"give", give_item, BASE, 0, 1, 0, ITEMc},
{"go", go_room, 0, 0, 1, 0, MOVEc},
{"grab", do_grab, 0, 0, 1, 0, MISCc},
{"grabable", grabable, 0, 0, 1, 0, INFOc},
{"grabme", grab, LIST, 0, 1, 0, LISTc},
{"grant", grant, (SU|HCADMIN), 0, 1, 0, SUPERc|NOMATCHc},
{"grep", grep, (LOWER_ADMIN|ADMIN), 0, 1, 0, ADMINc},
{"gwho", list_all_gags, 0, 0, 1, 0, MISCc},
{0, 0, 0, 0, 0, 0, 0},

/* h */
#ifdef HC_CHANNEL
  {"h(", hs, HCADMIN, 0, 0, 0, INVISc},
  {"h)", hs, HCADMIN, 0, 0, 0, INVISc},
  {"h*", ht, HCADMIN, 0, 0, 0, INVISc},
  {"h:", he, HCADMIN, 0, 0, 0, INVISc},
  {"h;", he, HCADMIN, 0, 0, 0, INVISc},
  {"h\"", hd, HCADMIN, 0, 0, 0, INVISc},
  {"h\'", hd, HCADMIN, 0, 0, 0, INVISc},
  {"hd", hd, HCADMIN, 0, 1, 0, ADMINc|SPAMc},
  {"he", he, HCADMIN, 0, 1, 0, ADMINc|SPAMc},
#endif /* HC_CHANNEL */
{"help", help, 0, 0, 1, 0, (INFOc|MISCc)},
{"hide", hide, 0, 0, 1, 0, (SYSc|MISCc)},
{"history", view_review, 0, 0, 1, 0, MISCc},
{"hitells", hitells, 0, 0, 1, 0, SYSc},
{"home", go_home, BUILD, 0, 1, 0, MOVEc},
{"hometown", set_hometown, BASE, 0, 1, 0, DESCc},
{"homeview", mindseye, BUILD, 0, 1, 0, (ROOMc|INFOc)},
#ifdef HC_CHANNEL
  {"hs", hs, HCADMIN, 0, 1, 0, ADMINc|SPAMc},
  {"ht", ht, HCADMIN, 0, 1, 0, ADMINc|SPAMc},
  {"hu", hd, HCADMIN, 0, 1, 0, ADMINc|SPAMc},
  {"hw", h_who, HCADMIN, 0, 1, 0, ADMINc},
  {"h~", ht, HCADMIN, 0, 0, 0, INVISc},
#endif /* HC_CHANNEL */
{0, 0, 0, 0, 0, 0, 0},

/* i */
{"i", inventory, BASE, 0, 1, 0, ITEMc},
{"iacga", toggle_iacga, 0, 0, 1, 0, SYSc},
{"icq", set_icq, BASE, 0, 1, 0, DESCc},
{"idea", report_idea, BASE, 0, 1, 0, MISCc},
{"idle", check_idle, 0, 0, 1, 0, INFOc},
#ifdef ALLOW_MULTIS
  {"idle_multi", multi_idle, 0, 0, 1, 0, INFOc},
#endif /* ALLOW_MULTIS */
{"idlemsg", set_idle_msg, 0, 0, 1, 0, DESCc},
{"ignore", ignore, LIST, 0, 1, 0, LISTc},
{"ignoremsg", set_ignore_msg, LIST, 0, 1, 0, DESCc},
{"inform", inform, LIST, 0, 1, 0, LISTc},
#ifdef INTERCOM
  {"intercom", intercom_command, BASE, 0, 1, 0, COMMc|SPAMc},
#endif /* INTERCOM */
{"inv", inventory, BASE, 0, 1, 0, INVISc},
{"inventory", inventory, BASE, 0, 1, 0, ITEMc},
{"invite", invite, LIST, 0, 1, 0, LISTc},
{"invites", invites_list, 0, 0, 1, 0, INFOc},
{"irl_name", set_irl_name, BASE, 0, 1, 0, DESCc},
#ifdef INTERCOM
  {"is", is, BASE, 0, 1, 0, COMMc|SPAMc},
  {"it", it, BASE, 0, 1, 0, COMMc|SPAMc},
#endif /* INTERCOM */
{"itrace", use_search, ADMIN, 0, 1, 0, ADMINc},
#ifdef INTERCOM
  {"iu", iu, BASE, 0, 1, 0, COMMc|SPAMc},
  {"iw", i_who, BASE, 0, 1, 0, INFOc},
#endif /* INTERCOM */
{"iwho", informed_who, LIST, 0, 1, 0, (INFOc|LISTc)},
{"ix", examine_item, BASE, 0, 1, 0, ITEMc},
{0, 0, 0, 0, 0, 0, 0},

/* j */
{"jail", prison_player, (SU | ADMIN), 0, 1, 0, SUPERc|NOMATCHc},
{"jetlag", set_time_delay, 0, 0, 1, 0, (SYSc|MISCc)},
{"join", join, 0, 0, 1, 0, MOVEc},
{"join_chan", join_channel, BASE, 0, 1, 0, MISCc},
{0, 0, 0, 0, 0, 0, 0},

/* k */
{"key", key, LIST, 0, 1, 0, LISTc},
{"kill_angel", kill_angel, LOWER_ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
#ifdef ALLOW_MULTIS
  {"kill_multi", multi_kill, 0, 0, 1, 0, ADMINc|SYSc|NOMATCHc},
#endif /* ALLOW_MULTIS */
{0, 0, 0, 0, 0, 0, 0},

/* l */
{"l", look, 0, 0, 1, 0, (ROOMc|INFOc)},
{"lad", list_admins, (LOWER_ADMIN|ADMIN|ADC), 0, 1, 0, ADMINc},
{"lag", add_lag, LOWER_ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
#ifdef LAST
  {"last", viewLast, BASE, 0, 1, 0, MISCc},
#endif /* LAST */
{"leave", go_main, 0, 0, 1, 0, MOVEc},
{"leave_chan", leave_channel, BASE, 0, 1, 0, MISCc},
{"libcopy", library_copy, BASE, 0, 1, 0, MISCc},
{"libexam", library_examine, BASE, 0, 1, 0, MISCc},
{"liblist", library_list, BASE, 0, 1, 0, MISCc},
{"linewrap", set_term_width, 0, 0, 1, 0, SYSc},
{"list", view_list, LIST, 0, 1, 0, LISTc},
{"list_all_notes", list_all_notes, HCADMIN, 0, 1, 0, ADMINc},
{"list_builders", list_builders, 0, 0, 1, 0, ITEMc},
{"list_chans", list_channels, BASE, 0, 1, 0, MISCc},
{"list_couples", list_couples, 0, 0, 1, 0, MISCc},
{"list_creators", list_creators, 0, 0, 1, 0, INFOc},
{"list_emails", calc_mailinglist, HCADMIN, 0, 1, 0, ADMINc},
{"list_gits", listgits, (PSU|SU), 0, 1, 0, SUPERc},
{"list_min", list_ministers, 0, 0, 1, 0, INFOc},
#ifdef ALLOW_MULTIS
  {"list_multi", multi_list, 0, 0, 1, 0, INFOc},
#endif /* ALLOW_MULTIS */
{"list_new", lnew, (PSU|SU), 0, 1, 0, SUPERc},
{"list_notes", list_notes, ADMIN, 0, 1, 0, ADMINc},
{"list_obj", view_store, BASE, 0, 1, 0, ITEMc},
{"list_objects", view_store, BASE, 0, 1, 0, ITEMc},
{"list_res", view_saved_lists, (PSU|SU|ADMIN), 0, 1, 0, SUPERc},
#ifdef ROBOTS
  {"list_robots", list_robots, LOWER_ADMIN, 0, 1, 0, ADMINc},
#endif /* ROBOTS */
{"list_spods", list_spods, 0, 0, 1, 0, INFOc},
{"list_su", lsu, 0, 0, 1, 0, INFOc},
{"list_url", view_player_url, 0, 0, 1, 0, INFOc},
{"load_socials", load_socials_command, ADMIN, 0, 1, 0, ADMINc},
{"lock", room_lock, 0, 0, 1, 0, (ROOMc)},
{"login", define_logon_macro, BASE, 0, 1, 0, INVISc},
{"login_fwho", toggle_friend_inform, LIST, 0, 1, 0, INVISc},
{"loginmsg", set_logonmsg, BASE, 0, 1, 0, INVISc},
{"loginmsg", set_logonmsg, BASE, 0, 1, 0, INVISc},
{"logoff", define_logoff_macro, BASE, 0, 1, 0, INVISc},
{"logoffmsg", set_logoffmsg, BASE, 0, 1, 0, DESCc},
{"logon", define_logon_macro, BASE, 0, 1, 0, INVISc},
{"logon_fwho", toggle_friend_inform, LIST, 0, 1, 0, LISTc},
{"logonmsg", set_logonmsg, BASE, 0, 1, 0, DESCc},
{"logout", define_logoff_macro, BASE, 0, 1, 0, INVISc},
{"logoutmsg", set_logoffmsg, BASE, 0, 1, 0, INVISc},
{"logoutmsg", set_logoffmsg, BASE, 0, 1, 0, INVISc},
{"look", look, 0, 0, 1, 0, (ROOMc|INFOc)},
{"lsa", view_alias, BASE, 0, 1, 0, MISCc},
{"lsb", list_builders, 0, 0, 1, 0, ITEMc},
{"lsc", list_channels, BASE, 0, 1, 0, MISCc},
{"lsg", listgits, (PSU|SU), 0, 1, 0, SUPERc},
{"lsi", view_ip, (SU | ADMIN|TRACE), 0, 1, 0, SUPERc},
{"lsk", list_creators, 0, 0, 1, 0, INFOc},
{"lsm", list_ministers, 0, 0, 1, 0, INFOc},
{"lsn", lnew, (PSU|SU), 0, 1, 0, SUPERc},
{"lso", view_store, BASE, 0, 1, 0, ITEMc},
{"lsp", list_spods, 0, 0, 1, 0, INFOc},
{"lsr", view_saved_lists, (SU | ADMIN), 0, 1, 0, SUPERc},
{"lss", comments, 0, 0, 1, 0, (INFOc|MISCc)},
{"lst", listdumb, (PSU|SU), 0, 1, 0, SUPERc},
{"lsu", lsu, 0, 0, 1, 0, INFOc},
{"lsw", view_player_url, 0, 0, 1, 0, INFOc},
{"lsz", lsz, BASE, 0, 1, 0, INFOc},
{0, 0, 0, 0, 0, 0, 0},

/* m */
{"made_from", set_made_from, BASE, 0, 1, 0, INVISc},
{"madefrom", set_made_from, BASE, 0, 1, 0, DESCc},
{"mail", mail_command, MAIL, 0, 1, 0, MISCc},
{"mailblock", list_mailblock, LIST, 0, 1, 0, LISTc},
{"main", go_main, 0, 0, 1, 0, MOVEc},
{"make", make_new_character, ADMIN, 0, 1, 0, ADMINc},
{"man", help, 0, 0, 1, 0, INFOc},
{"marry", marry, MINISTER, 0, 1, 0, (INVISc|SYSc)},
{"mball", eightball, 0, 0, 1, 0, MISCc},
{"medit", marry_edit, ADMIN, 0, 1, 0, ADMINc},
{"mindscape", go_home, BUILD, HOUSE, 1, 0, MOVEc},
{"mindseye", mindseye, BUILD, 0, 1, 0, (INFOc|ROOMc)},
{"mode", mode, (PSU|SU|ADMIN), 0, 1, 0, SUPERc},
{"motd", motd, 0, 0, 1, 0, INFOc},
{"mquit", quit_with_message, BASE, 0, 1, 0, MISCc},
{"muffle", muffle, BASE, 0, 1, 0, MISCc},
{0, 0, 0, 0, 0, 0, 0},

/* n */
{"netstat", netstat, ADMIN, 0, 1, 0, ADMINc},
{"new", new, 0, 0, 1, 0, INFOc},
{"newbie_ban", nban, LOWER_ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"newbies", close_to_newbies, ASU, 0, 1, 0, SUPERc},
{"news", news_command, 0, 0, 1, 0, MISCc},
{"no_games", toggle_noprs, 0, 0, 1, 0, INVISc},
{"no_proposals", nopropose, 0, 0, 1, 0, INVISc},
{"no_propose", nopropose, 0, 0, 1, 0, MISCc},
{"no_prs", toggle_noprs, 0, 0, 1, 0, INVISc},
{"nobachelor", hide_bachelor_status, 0, 0, 1, 0, MISCc},
{"nobeep", block_beeps, 0, 0, 1, 0, SYSc},
{"noblink", block_blinks, 0, 0, 1, 0, MISCc},
{"nobops", toggle_no_bops, BASE, 0, 1, 0, ITEMc},
{"noeprefix", ignoreemoteprefix, 0, 0, 1, 0, SYSc},
{"nofriend", list_nofaccess, LIST, 0, 1, 0, LISTc},
{"nogames", toggle_noprs, 0, 0, 1, 0, INVISc},
{"nogift", toggle_no_gift, BASE, 0, 1, 0, ITEMc},
{"noisy", noisy, LIST, 0, 1, 0, LISTc},
{"nomsg", no_msgs, SU, 0, 1, 0, SUPERc},
{"nopager", nopager, 0, 0, 1, 0, SYSc},
{"noprefix", ignoreprefix, 0, 0, 1, 0, SYSc},
{"noprs", toggle_noprs, 0, 0, 1, 0, MISCc},
{"nuke", nuke_player, (ASU | ADMIN), 0, 1, 0, SUPERc|NOMATCHc},
{0, 0, 0, 0, 0, 0, 0},

/* o */
#ifdef NEW_RES_CODE
  {"obj", object_to_ressie, SU, 0, 1, 0, SUPERc|NOMATCHc},
#endif /* NEW_RES_CODE */
{"off_duty", block_su, (PSU|SU), 0, 1, 0, SUPERc},
{"off_lsu", off_lsu, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"on_duty", on_duty, (PSU|SU), 0, 1, 0, SUPERc},
{"on_lsu", on_lsu, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"oreply", echoreply, ECHO_PRIV, 0, 1, 0, COMMc|SPAMc},
{"override", override, ASU, 0, 1, 0, SUPERc},
{0, 0, 0, 0, 0, 0, 0},

/* p */
{"p(", ps, SPOD, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"p)", ps, SPOD, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"p*", pt, SPOD, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"p:", pe, SPOD, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"p;", pe, SPOD, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"p\"", pu, SPOD, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"p\'", pu, SPOD, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"passwd", change_password, 0, 0, 1, 0, INVISc},
{"password", change_password, 0, 0, 1, 0, MISCc},
{"pe", pe, SPOD, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"pemote", pemote, 0, 0, 1, 0, COMMc|SPAMc},
{"pf", premote_friends, LIST, 0, 1, 0, COMMc|SPAMc},
{"pfo", premote_others_friends, 0, 0, 1, 0, COMMc|SPAMc},
{"ph", pu, SPOD, 0, 1, 0, INVISc|SPAMc},
{"pinfo", pinfo_command, 0, 0, 1, 0, INFOc},
{"ping", do_ping, 0, 0, 1, 0, MISCc},
{"plan", set_plan, BASE, 0, 1, 0, DESCc},
{"play", play_wif_item, BASE, 0, 1, 0, ITEMc},
{"po", premote_others_friends, 0, 0, 1, 0, INVISc|SPAMc},
{"potty", go_relaxed, 0, 0, 1, 0, MOVEc},
{"prefer", prefer, LIST, 0, 1, 0, LISTc},
{"prefix", set_pretitle, BASE, 0, 1, 0, DESCc},
{"premote", premote, 0, 0, 1, 0, COMMc|SPAMc},
{"preply", preply, 0, 0, 1, 0, COMMc|SPAMc},
{"privs", privs, BASE, 0, 1, 0, INFOc},
{"prompt", set_prompt, 0, 0, 1, 0, MISCc},
{"propose", net_propose, BASE, 0, 1, 0, MISCc},
{"prs", paper_rock_scissors, 0, 0, 1, 0, MISCc},
{"ps", ps, SPOD, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
#ifdef PC
  {"pseudo", psuedo_person, 0, 0, 1, 0, MISCc},
#endif /* PC */
{"pstats", player_stats, (PSU|SU), 0, 1, 0, SUPERc},
{"psx", get_ps, ADMIN, 0, 1, 0, ADMINc},
{"pt", pt, SPOD, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"pu", pu, SPOD, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"public", public_com, 0, 0, 1, 0, INVISc},
{"purge_list", purge_list, BASE, 0, 1, 0, MISCc},
{"pw", p_who, SPOD, 0, 1, 0, COMMc},
{"pyemote", pemote_shout, 0, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"p~", pt, SPOD, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{0, 0, 0, 0, 0, 0, 0},

/* q */
{"quiet", go_quiet, 0, 0, 1, 0, MISCc},
{"quit", byebye, 0, 0, 1, 0, MISCc},
{"qwho", qwho_old, LIST, 0, 1, 0, (INFOc|LISTc)},
{0, 0, 0, 0, 0, 0, 0},

/* r */
{"ranks", show_rank_equivs, 0, 0, 1, 0, INFOc},
{"re", repeat_mistell, 0, 0, 1, 0, COMMc|SPAMc},
#ifdef SEAMLESS_REBOOT
  {"reboot", reboot_command, LOWER_ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
#endif /* SEAMLESS_REBOOT */
{"recap", recap, 0, 0, 1, 0, DESCc},
{"recho", recho, ECHO_PRIV, 0, 1, 0, COMMc|SPAMc},
{"recon", define_recon_macro, BASE, 0, 1, 0, MISCc},
{"redtape", redtape, SU, 0, 1, 0, SUPERc},
{"reject", reject, BASE, 0, 1, 0, MISCc},
{"relink", relink_note, ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"reload", reload, ( LOWER_ADMIN | ADMIN), 0, 1, 0, ADMINc},
{"remote", remote, 0, 0, 1, 0, COMMc|SPAMc},
{"remove", remove_privs, (PSU|SU), 0, 1, 0, ADMINc|NOMATCHc},
{"rename", rename_player, (SU | ADMIN), 0, 1, 0, SUPERc},
{"repeat", repeat_mistell, 0, 0, 1, 0, COMMc|SPAMc},
{"reply", reply, 0, 0, 1, 0, COMMc|SPAMc},
{"reportto", reportto, 0, 0, 1, 0, MISCc},
{"res", resident, SU, 0, 1, 0, SUPERc},
{"res_count", res_count, 0, 0, 1, 0, INFOc},
{"res_me", res_me, 0, 0, 1, 0, SYSc},
{"reset_idle", reset_total_idle, ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"reset_session", reset_session, SU, 0, 1, 0, SUPERc},
{"reset_sneeze", reset_sneeze, (SU | ADMIN), 0, 1, 0, SUPERc},
{"resident", resident, SU, 0, 1, 0, SUPERc},
{"ressies", close_to_ressies, ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"restore", restore_files, ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"review", view_review, 0, 0, 1, 0, MISCc},
{"rf", remote_friends, LIST, 0, 1, 0, COMMc|SPAMc},
{"rfo", remote_others_friends, 0, 0, 1, 0, COMMc|SPAMc},
{"rlist", reset_list, LIST, 0, 1, 0, LISTc},
{"rm_list", remove_from_others_list, LIST, 0, 1, 0, LISTc},
{"rm_move", remove_move, LOWER_ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
#ifdef ALLOW_MULTIS
  {"rm_multi", multi_remove, 0, 0, 1, 0, COMMc},
#endif /* ALLOW_MULTIS */
{"rm_note", dest_note, ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"rm_shout", remove_shout, (SU | ADMIN), 0, 1, 0, SUPERc|NOMATCHc},
{"rm_sing", remove_sing, (SU | ADMIN), 0, 1, 0, SUPERc|NOMATCHc},
{"ro", remote_others_friends, 0, 0, 1, 0, INVISc|SPAMc},
{"room", room_command, BUILD, 0, 1, 0, ROOMc},
{"rpt", reportto, 0, 0, 1, 0, INVISc},
{"rsing", rsing, 0, 0, 1, 0, COMMc|SPAMc},
{"rt", remote_think, 0, 0, 1, 0, COMMc|SPAMc},
{"rtf", rthink_friends, LIST, 0, 1, 0, COMMc|SPAMc},
{"rtfo", rt_others_friends, 0, 0, 1, 0, COMMc|SPAMc},
{"rthink", remote_think, 0, 0, 1, 0, COMMc|SPAMc},
{"rto", rt_others_friends, 0, 0, 1, 0, INVISc|SPAMc},
{0, 0, 0, 0, 0, 0, 0},

/* s */
{"s(", susing, PSU, 0, 0, 0, INVISc},
{"s)", susing, PSU, 0, 0, 0, INVISc},
{"s:", suemote, PSU, 0, 0, 0, INVISc},
{"s;", suemote, PSU, 0, 0, 0, INVISc},
{"s\"", su, PSU, 0, 0, 0, INVISc},
{"s\'", su, PSU, 0, 0, 0, INVISc},
{"save", do_save, BASE, 0, 1, 0, MISCc},
{"say", say, 0, 0, 1, 0, COMMc|M_SWEARc|SPAMc},
{"scare", fake_nuke_player, ASU, 0, 1, 0, SUPERc|NOMATCHc},
{"screen", screen_newbies, SU, 0, 1, 0, SUPERc},
{"screenlock", set_screenlock, BASE, 0, 1, 0, MISCc},
{"script", script, (SCRIPT), 0, 1, 0, MISCc},
{"se", suemote, PSU, 0, 1, 0, SUPERc},
{"search", master_search_command, SU, 0, 1, 0, SUPERc},
{"seeecho", see_echo, 0, 0, 1, 0, SYSc},
{"seesess", comments, 0, 0, 1, 0, (INFOc|MISCc)},
{"seetitle", set_yes_session, 0, 0, 1, 0, SYSc},
{"sell", sell_item, BASE, 0, 1, 0, ITEMc},
{"session", set_session, SESSION, 0, 1, 0, MISCc},
{"setbit", item_set_classes, BUILDER|LOWER_ADMIN, 0, 1, 0, ITEMc},
{"setsoc", set_social_attribute, SPECIALK, 0, 1, 0, SOCIALc},
{"setval", sitem_set_value, BUILDER|LOWER_ADMIN, 0, 1, 0, ITEMc},
{"sf", sing_friends, LIST, 0, 1, 0, COMMc|SPAMc},
{"sfo", rsing_others_friends, 0, 0, 1, 0, COMMc|SPAMc},
{"shareroom", list_shareroom, LIST, 0, 1, 0, LISTc},
{"shelp", super_help, (PSU|SU), 0, 1, 0, SUPERc},
{"shout", shout, 0, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"show", toggle_tags, 0, 0, 1, 0, INFOc},
{"showexits", show_exits, BASE, 0, 1, 0, (INFOc|ROOMc)},
{"shutdown", pulldown, SU, 0, 1, 0, SUPERc|NOMATCHc},
{"sing", sing, 0, 0, 1, 0, COMMc|M_SWEARc|SPAMc},
{"singblock", toggle_singblock, 0, 0, 1, 0, SYSc},
{"site", same_site, (TRACE | SU), 0, 1, 0, SUPERc},
{"site_ban", sban, LOWER_ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"slist", set_list, LIST, 0, 1, 0, LISTc},
{"slot_panels", view_slots_panels, 0, 0, 1, 0, MISCc},
{"slots", slots, 0, 0, BASE, 0, MISCc|SPAMc},
{"sneeze", sneeze, (SU | ADMIN), 0, 1, 0, SUPERc|NOMATCHc},
{"snews", sus_news_list, (PSU | ADMIN), 0, 1, 0, SUPERc},
{"so", rsing_others_friends, 0, 0, 1, 0, INVISc|SPAMc},
{"splat", splat_player, SU, 0, 1, 0, SUPERc|NOMATCHc},
{"spod_class", set_spod_class, SPOD, 0, 1, 0, DESCc},
{"spodlist", show_spodlist, 0, 0, 1, 0, INFOc},
{"spods", show_spodlist, 0, 0, 1, 0, INFOc},
{"spost", sus_news_post, (SU | ADMIN), 0, 1, 0, SUPERc},
{"squeue", show_screen_queue, SU, 0, 1, 0, SUPERc},
{"sread", sus_news_read, (PSU | ADMIN), 0, 1, 0, SUPERc},
{"sreply", sreply, 0, 0, 1, 0, COMMc|SPAMc},
{"ss", susing, PSU, 0, 1, 0, SUPERc},
{"st", suthink, PSU, 0, 1, 0, SUPERc},
{"staff", staff_list, 0, 0, 1, 0, INFOc},
#ifdef COMMAND_STATS
  {"statcommands", statcommands, BASE, 0, 1, 0, MISCc},
#endif /* COMMAND_STATS */
#ifdef ROBOTS
  {"store", store_robot, ADMIN, 0, 1, 0, ADMINc},
#endif /* ROBOTS */
{"su", su, PSU, 0, 1, 0, SUPERc},
{"su:", suemote, PSU, 0, 1, 0, SUPERc},
{"su_comment", make_git, SU, 0, 1, 0, SUPERc},
{"su_hi", su_hilited, PSU, 0, 1, 0, SUPERc},
{"suggest", report_idea, BASE, 0, 1, 0, INVISc},
{"suh", see_suhistory, PSU, 0, 1, 0, SUPERc},
{"suicide", suicide, BASE, 0, 1, 0, MISCc|NOMATCHc},
{"summink_version", pg_version, 0, 0, 1, 0, INVISc},
{"sumotd", sumotd, (PSU | SU | ADMIN), 0, 1, 0, SUPERc},
{"suwall", wall_to_supers, LOWER_ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"sw", s_who, PSU|SU, 0, 1, 0, SUPERc},
{"swarn", saved_warning, SU, 0, 1, 0, SUPERc},
{"swho", swho, 0, 0, 1, 0, INFOc},
{"sync", sync_files, (LOWER_ADMIN | ADMIN), 0, 1, 0, ADMINc|NOMATCHc},
{"syncall", sync_all_by_user, (LOWER_ADMIN | ADMIN), 0, 1, 0, ADMINc|NOMATCHc},
{"syncsocials", sync_socials_command, (LOWER_ADMIN | ADMIN), 0, 1, 0, ADMINc},
{"syscolor", toggle_system_color, 0, 0, 1, 0, SYSc},
{"syscolour", toggle_system_color, 0, 0, 1, 0, INVISc},
{"s~", suthink, PSU, 0, 0, 0, INVISc},
{0, 0, 0, 0, 0, 0, 0},

/* t */
{"tell", tell, 0, 0, 1, 0, COMMc|SPAMc},
{"tf", tell_friends, LIST, 0, 1, 0, COMMc|SPAMc},
{"tfo", tell_others_friends, 0, 0, 1, 0, COMMc|SPAMc},
{"think", newthink, 0, 0, 1, 0, COMMc|M_SWEARc|SPAMc},
{"time", view_time, 0, 0, 1, 0, (INFOc|MISCc)},
{"timeprompt", timeprompt, BASE, 0, 1, 0, MISCc},
{"title", set_title, 0, 0, 1, 0, DESCc},
{"tlist", toggle_list, LIST, 0, 1, 0, LISTc},
{"to", tell_others_friends, 0, 0, 1, 0, INVISc|SPAMc},
{"toggle", toggle_email_site_flags, BASE, 0, 1, 0, SYSc},
{"trace", trace, (TRACE | SU | ADMIN), 0, 1, 0, SUPERc},
{"trans", trans_fn, 0, 0, 1, 0, MOVEc},
{"treply", treply, 0, 0, 1, 0, COMMc|SPAMc},
{"ttt", ttt_cmd, BASE, 0, 1, 0, MISCc},
{"twall", thinkin_wall, (LOWER_ADMIN | ADMIN), 0, 1, 0, ADMINc|NOMATCHc|SPAMc},
{"twho", twho, 0, 0, 1, 0, INFOc},
{0, 0, 0, 0, 0, 0, 0},

/* u */
{"unbanish", unbanish, (ASU | ADMIN), 0, 1, 0, SUPERc|NOMATCHc},
{"unconverse", unconverse, (SU | ADMIN), 0, 1, 0, SUPERc},
{"undefine", undefine_alias, BASE, 0, 1, 0, MISCc},
{"undumb", undumb, (DUMB | SU | ADMIN), 0, 1, 0, (MISCc|SUPERc)},
{"ungag", delete_gag, 0, 0, 1, 0, MISCc},
{"ungit", clear_git, SU, 0, 1, 0, SUPERc},
{"unjail", unjail, (SU | ADMIN), 0, 1, 0, SUPERc},
{"unsplat", unsplat, (ASU | ADMIN), 0, 1, 0, SUPERc},
{"url", set_alt_email, BASE, 0, 1, 0, DESCc},
{0, 0, 0, 0, 0, 0, 0},

/* v */
{"val", view_others_aliases, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"validate", resident, ASU, 0, 1, 0, SUPERc|NOMATCHc},
{"validate_email", validate_email, (ASU | ADMIN), 0, 1, 0, SUPERc|NOMATCHc},
{"vemerg", vscript, (LOWER_ADMIN|ADMIN), 0, 1, 0, ADMINc},
{"version", pg_version, 0, 0, 1, 0, MISCc},
{"view_flags", view_people_and_flags, ADMIN, 0, 1, 0, ADMINc},
{"view_note", view_note, ADMIN, 0, 1, 0, ADMINc},
{"visit", visit, 0, 0, 1, 0, MOVEc},
{"vlist", view_others_list, (LOWER_ADMIN | ADMIN), 0, 1, 0, ADMINc},
{"vlog", vlog, (SU|LOWER_ADMIN|ADMIN), 0, 1, 0, SUPERc},
{"vnew", new, 0, 0, 1, 0, INVISc},
{"vscript", vscript, (LOWER_ADMIN|ADMIN), 0, 1, 0, ADMINc},
{0, 0, 0, 0, 0, 0, 0},

/* w */
{"w", nwho, 0, 0, 1, 0, INFOc},
{"wake", wake, 0, 0, 1, 0, MISCc},
{"wall", wall, (LOWER_ADMIN | ADMIN), 0, 1, 0, ADMINc|NOMATCHc|SPAMc},
{"warn", warn, (WARN | SU), 0, 1, 0, SUPERc|NOMATCHc},
{"wear", wear_item, BASE, 0, 1, 0, ITEMc},
{"where", where, 0, 0, 1, 0, INFOc},
{"whisper", whisper, 0, 0, 1, 0, COMMc|SPAMc},
{"who", who, 0, 0, 1, 0, INFOc},
{"whois", see_player_whois, BASE, 0, 1, 0, INFOc},
{"wield", wield_item, BASE, 0, 1, 0, ITEMc},
{"with", with, 0, 0, 1, 0, INFOc},
{"wordwrap", set_word_wrap, 0, 0, 1, 0, SYSc},
{0, 0, 0, 0, 0, 0, 0},

/* x */
{"x", newexamine, 0, 0, 1, 0, INFOc},
{"xlock", set_screenlock, BASE, 0, 1, 0, INVISc},
{"xref", use_search, (PSU|SU), 0, 1, 0, SUPERc},
{"xs", examine_social, 0, 0, 1, 0, SOCIALc},
{0, 0, 0, 0, 0, 0, 0},

/* y */
{"y", su_examine, (PSU|SU), 0, 1, 0, SUPERc},
{"yecho", echo_shout, ECHO_PRIV, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"yell", beep_tell, BASE, 0, 1, 0, COMMc|SPAMc},
{"yemote", emote_shout, 0, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"yf", beepat_friends, LIST, 0, 1, 0, COMMc|SPAMc},
{"yfo", beepat_others_friends, BASE, 0, 1, 0, COMMc|SPAMc},
{"yo", beepat_others_friends, BASE, 0, 1, 0, INVISc|SPAMc},
{"yoyo", yoyo, (SU | ADMIN), 0, 1, 0, SUPERc|NOMATCHc},
{"yreply", yreply, 0, 0, 1, 0, COMMc|SPAMc},
{"ysing", sing_shout, 0, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"ythink", think_shout, 0, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{0, 0, 0, 0, 0, 0, 0},

/* z */
{"z", su_examine, (PSU|SU), 0, 1, 0, INVISc},
{"z(", zs, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"z)", zs, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"z*", zt, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"z:", ze, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"z;", ze, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"z\"", zu, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"z\'", zu, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"zc", zc, BASE, 0, 1, 0, COMMc},
{"zdel", zdel, SU, 0, 1, 0, SUPERc|NOMATCHc},
{"ze", ze, BASE, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"zh", zu, BASE, 0, 1, 0, F_SWEARc|INVISc|SPAMc},
{"zs", zs, BASE, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"zt", zt, BASE, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"zu", zu, BASE, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"zw", z_who, BASE, 0, 1, 0, INFOc},
{"z~", zt, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{0, 0, 0, 0, 0, 0, 0},

/* other non a-z */
{"{", remote_others_friends, 0, 0, 1, 0, COMMc|SPAMc},
{"}", tell_others_friends, 0, 0, 1, 0, COMMc|SPAMc},
{"~", newthink, 0, 0, 0, 0, COMMc|M_SWEARc|SPAMc},
{0, 0, 0, 0, 0, 0, 0},
};

struct command *coms[27];