Skip to content

Channel Functions

Functions inspect membership, privileges, history, and channel metadata. For channel emission, see @CEMIT.

channels([<player>][,<type>])

  • channels(): Lists channels visible to <player> (or me). If <type> is given, only shows channels of that type:
    • all: All visible channels (default)
    • on: Channels <player> is on
    • off: Channels <player> is not on
    • quiet: Just channel names, no extra info

cowner(<channel>)

  • cowner(): Returns the dbref of <channel>‘s owner

cflags(<channel>[,<object>])
clflags(<channel>[,<object>])

  • cflags() and clflags(): With one argument, <channel>‘s privileges; with two, <object>‘s own flags on that channel. cflags() abbreviates each to its single letter and clflags() spells it out; that is the only difference between them. See @CHANNEL PRIVS for the privilege letters; a member’s own flags are Quiet, Hide, Gag and Combine. Reading another object’s flags requires that you be able to examine it, and answers #-1 NOT ON CHANNEL when it is not a member.

cstatus(<object>, <channel>)

  • cstatus(): <object>‘s standing on <channel>, as a space-separated list drawn from OFF, ON, GAG, HIDE, MUTE and COMBINE; an object that is not a member answers OFF. Both arguments are required, and SharpMUSH takes them object-first where PennMUSH takes them channel-first.

ctitle(<object>, <channel>)

  • ctitle(): <object>‘s @channel/title on <channel>, or nothing when it has none. Argument order matches cstatus(), object first.

cbuffer(<channel>)
cdesc(<channel>)
cmsgs(<channel>)
cusers(<channel>)

  • cbuffer(), cdesc(), cmsgs(), cusers(): the recall buffer’s size, the @channel/describe text, the number of messages held in the buffer, and the number of members, respectively. These are the same figures @channel joining prints.

cmogrifier(<channel>)

  • cmogrifier(): the dbref of <channel>‘s mogrifier, or nothing when none is set. See @CHANNEL ADMIN.

cinfo(<channel>[,<field>])

  • cinfo(): one field of <channel>, named by <field>: name (the default), owner, members or buffer. Any other field answers #-1 INVALID INFO TYPE. It is a SharpMUSH function; PennMUSH has no cinfo().

cwho(<channel>[,<on|off|all>[,<skip gagged?>]])

  • cwho(): The dbrefs of <channel>‘s members, space separated. The second argument selects which: on (default) lists connected members, off lists the rest, and all lists everyone. Members hiding on the channel are treated as off unless you have the Who power; things are always listed. A true third argument omits members who are gagging the channel.

crecall(<channel>[,<lines>[,<start>[,<osep>[,<timestamps?>]]]])

  • crecall(): The last <lines> lines of <channel>‘s recall buffer, oldest first, joined by <osep> (a space by default). <lines> defaults to 10, and 0 means the whole buffer; <start> begins the replay at that line of the buffer. A true fifth argument prefixes each line with the time it was said. As with @CHANNEL OTHER, being able to join the channel is enough; membership is not required.

cbufferadd(<channel>,<message>[,<spoof?>])

  • cbufferadd(): Appends <message> to <channel>‘s recall buffer WITHOUT broadcasting it, for softcode that reconstructs history. You must be able to modify the channel. A true third argument attributes the line to the enactor instead of you.

clock(<channel>[/<locktype>][, <new lock>])

  • clock(): The key of one of <channel>‘s locks. The lock type is a suffix on the channel argument, one of JOIN (the default), SPEAK, MOD, SEE or HIDE; anything else answers #-1 NO SUCH LOCK TYPE. You must be able to decompile the channel. See @CHANNEL CLOCK.
> think channels(#123,on)
Public Admin
> think cowner(Public)
#1
> think cflags(Public)
Po
> think clflags(Public)
Player Open
> think cflags(Public,#123)
C
> think cstatus(#123,Public)
ON COMBINE
> think clock(Public/SPEAK)
!FLAG^GAGGED

::: seealso