Method code for $channel_ui.broadcast()

[Turn on line numbering]
arg channel, msg;
var q, spammer_name, message, target, user;

(> .perms(sender()) <);

// is this really a command?. If so, do the command.
catch any {
    switch (msg) {
        case "who":
            if (channel in $channel_db.system_channels() && !$sys.is_system(sender()))
                return "Sorry, that's a listen only channel.";
            return .channel_members(channel);
        case "off":
            .channel_off(channel);
            return;
        case "on":
            .channel_on(channel);
            return;
    }
} with {
    return traceback()[1][2];
}
if (channel in $channel_db.system_channels() && channel != 'All)
    return "Sorry, that's a listen only channel.";
if (!active_channels.contains(channel))
    return "You must be on a channel to send a message to it.";
spammer_name = .name();
if (msg[1] == "'" || msg[1] == "-") {
    target = (msg.explode())[1].subrange(2);
    msg = msg.subrange(target.length() + 3);
    catch ~namenf
        user = $user_db.match(target);
    with
        return target + " is not a valid user.";
    if (!user.connected())
        return user.name() + " is not connected.";
    if (!user.channel_member(channel))
        return user.name() + " is not a member of that channel.";
    spammer_name += " (to " + user.name() + ")";
}

// check for poses, thinking, etc.
switch (msg[1]) {
    case ":":
        message = spammer_name + " " + msg.subrange(2);
    case "%":
        message = spammer_name + " . o O ( " + msg.subrange(2) + " )";
    case "!":
        (> .channel_moderator_ok() <);
        message = msg.subrange(2);
    default:
        message = msg ? $code_lib.punctuation_type(msg) : "say";
        message = spammer_name + " " + message + "s, \"" + msg + "\"";

        // message = spammer_name + ": " + msg;
}
._broadcast(channel, message);

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

Tlon