Method code for $channel_ui.delcom_cmd()

[Turn on line numbering]
arg cmdstr, cmd, args;
var db, channel, del_from_db, msg, dict_var;

(> .perms(caller(), 'command) <);
del_from_db = 1;
msg = "Channel alias " + args + " deleted.";
if (!args)
    return "Syntax: " + cmd + " <channel>";
dict_var = (| channel_dict[args] |);
channel = (| channel_dict[args].to_string().lowercase().to_symbol() |) || 0;
if (type(channel) == 'symbol) {
    db = (| $channel_db.search(channel) |) || 0;
    if (type(db) == 'list) {
        if (type(db[4]) == 'frob && !db[4].try(sender()) && !$sys.is_system(sender()))
            return "Channel leave locked, you can't leave it!";
    } else {
        del_from_db = 0;
        msg = "That channel does not seem to be in the channel database.  Channel alias " + args + " deleted.";
    }
} else {
    return "You do not have that channel alias defined.";
}
if (del_from_db)
    $channel_db.value_changed(channel, db.replace(2, db[2] - 1));
if (active_channels.contains(dict_var))
    .channel_off(dict_var);
channel_dict = channel_dict.del(args);
return msg;

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

Tlon