Method code for $channel_ui.delcom_cmd()

[Turn off line numbering]
  1: arg cmdstr, cmd, args;
  2: var db, channel, del_from_db, msg, dict_var;
  3: 
  4: (> .perms(caller(), 'command) <);
  5: del_from_db = 1;
  6: msg = "Channel alias " + args + " deleted.";
  7: if (!args)
  8:     return "Syntax: " + cmd + " <channel>";
  9: dict_var = (| channel_dict[args] |);
 10: channel = (| channel_dict[args].to_string().lowercase().to_symbol() |) || 0;
 11: if (type(channel) == 'symbol) {
 12:     db = (| $channel_db.search(channel) |) || 0;
 13:     if (type(db) == 'list) {
 14:         if (type(db[4]) == 'frob && !db[4].try(sender()) && !$sys.is_system(sender()))
 15:             return "Channel leave locked, you can't leave it!";
 16:     } else {
 17:         del_from_db = 0;
 18:         msg = "That channel does not seem to be in the channel database.  Channel alias " + args + " deleted.";
 19:     }
 20: } else {
 21:     return "You do not have that channel alias defined.";
 22: }
 23: if (del_from_db)
 24:     $channel_db.value_changed(channel, db.replace(2, db[2] - 1));
 25: if (active_channels.contains(dict_var))
 26:     .channel_off(dict_var);
 27: channel_dict = channel_dict.del(args);
 28: return msg;

// Created 24-Jul-1996 as a part of ColdCore, see: @help Credit

Tlon