Channel Functions
Channel Functions
Section titled “Channel Functions”Functions inspect membership, privileges, history, and channel metadata. For channel emission, see @CEMIT.
channels()
Section titled “channels()”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()
Section titled “cowner()”cowner(<channel>)
- cowner(): Returns the dbref of <channel>‘s owner
cflags()
Section titled “cflags()”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 andclflags()spells it out; that is the only difference between them. See @CHANNEL PRIVS for the privilege letters; a member’s own flags areQuiet,Hide,Gag andCombine. Reading another object’s flags requires that you be able to examine it, and answers#-1 NOT ON CHANNELwhen it is not a member.
cstatus()
Section titled “cstatus()”cstatus(<object>, <channel>)
- cstatus(): <object>‘s standing on <channel>, as a space-separated list drawn from
OFF,ON,GAG,HIDE,MUTEandCOMBINE; an object that is not a member answersOFF. Both arguments are required, and SharpMUSH takes them object-first where PennMUSH takes them channel-first.
ctitle()
Section titled “ctitle()”ctitle(<object>, <channel>)
- ctitle(): <object>‘s @channel/title on <channel>, or nothing when it has none. Argument order matches cstatus(), object first.
cbuffer()
Section titled “cbuffer()”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()
Section titled “cmogrifier()”cmogrifier(<channel>)
- cmogrifier(): the dbref of <channel>‘s mogrifier, or nothing when none is set. See @CHANNEL ADMIN.
cinfo()
Section titled “cinfo()”cinfo(<channel>[,<field>])
- cinfo(): one field of <channel>, named by <field>:
name(the default),owner,membersorbuffer. Any other field answers#-1 INVALID INFO TYPE. It is a SharpMUSH function; PennMUSH has no cinfo().
cwho()
Section titled “cwho()”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
Whopower; things are always listed. A true third argument omits members who are gagging the channel.
crecall()
Section titled “crecall()”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()
Section titled “cbufferadd()”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()
Section titled “clock()”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,SEEorHIDE; anything else answers#-1 NO SUCH LOCK TYPE. You must be able to decompile the channel. See @CHANNEL CLOCK.
Examples
Section titled “Examples”> 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