* using /blurb without adding any text after (so just '/blurb') shows another random blurb * added ability for admins, global moderators, and users who moderate two or more channels to move messages between channels. (so if not an admin or global moderator you'd have to be the moderator of both the channel the message(s) are being moved from and the channel the message(s) are being moved to) * Added "voice": This starts out being just like it is in IRC but I've extended it a bit: - Moderators can set channels to "requires voice", without voice you can read in the channel but can't type in it. - Moderators can give voice to users or take voice from users. Okay here's where it extends beyond IRC's implementation: The Voice Request Queue The idea here is if there was some kind of Q&A session going on then most of the participants would not have voice. People can request voice and if a queue exists (a moderator set one up) then they're entered into the request queue. The moderator can then pull the next request from the queue, give that person voice temporarily. Queues expire after a moderator-defined amount of time (the moderator can expire them early or extend the duration if the Q&A session starts to go long) As soon as the queue is expired the channel will return to not requiring voice if the channel didn't require voice to begin with. Any subsequent voice requests default to the usual behavior which is to send out notifications to admins, global mods, or mods of the channel that so-and-so wishes to have voice. The commands for all of these are in the help menus but to give a better idea of how voice works here's a summary: /ch +v : sets channel to requires voice to post /ch -v : removes voice requirement (anyone can post) /ch +v (username) : gives voice to (username) /ch -v (usernames) : takes (username)'s voice away /ch vlist : lists all users with voice in current channel /ch vall : gives voice to all users currently in the channel /ch vnone : removes voice from everyone who has it To request voice: /hand, /raise, /raisehand, /voice If a voice request queue exists, adds you to the queue. Otherwise, sends a notification to anyone who can give you voice. Voice Request Queue commands: /ch vq (minutes) : starts a new voice request queue which will expire after (minutes) /ch vq : shows the voice request queue /ch vq + : gives voice to the next person in the voice request queue /ch vq - : skips the next person in the voice request queue (dequeues them without giving them voice) /ch vq extend (minutes) : extends the queue's expiry by (minutes) /ch vq end : ends the queue (expires it early) The voice stuff may never get used but I wanted it to be there anyway. .