Commentary System (Chat Areas)
Chat with other players in various locations throughout Hogwarts. Use emotes, color codes, and custom talklines. From whispers in the Shrieking Shack to boasts in Hogwarts Grounds.
What Is the Commentary System?
The Commentary System is HogwartsLive's public chat feature - the magical equivalent of a town square bulletin board crossed with a lively tavern conversation. Each location in the game has its own commentary section where players can post messages, interact socially, roleplay, coordinate activities, or just gossip about who died in the forest most recently. Think of it as location-based chat rooms with personality.
Commentary appears at the bottom of most pages as a scrolling feed of recent messages (typically the last 10-30 comments depending on the area). Each commentary area has its own custom "talkline" - the verb used when you post. In Hogwarts Grounds you "say" things, in the Shrieking Shack you "whisper," and in Detention the detained simply "despair" (fitting, given the circumstances). The Hog's Head Inn uses the plain default "says" like most areas - no Butterbeer-fueled slurring, sadly. The system supports emotes, color codes, moderation tools, and various customization options.
Commentary Locations
Where You Can Chat:
Core Commentary Areas:
- Hogwarts Grounds (village): Main social hub, "says" talkline
- The Hog's Head Inn (inn): Tavern atmosphere, standard "says" talkline
- Detention (shade): Dead players only, "despairs" talkline
- Grassy Field (grassyfield): General area, "says" talkline
- Shrieking Shack (gardens): RP-focused area, "whispers" talkline
- Dumbledore's Army (veterans): Veteran players area, access restricted
- Prefect's Lounge (hunterlodge): Higher-level players, restricted access
- Common Room Waiting Area (waiting): For players seeking to join Houses
- MotD (motd): Message of the Day commentary (no bio links)
- Grotto (superuser): Staff-only area (requires staff permissions)
Module-Added Areas:
- Module Hook: "moderate" hook allows modules to add custom commentary sections
- Custom Talklines: Each area can have unique verbs for posting
- Access Control: Modules can block specific commentary areas based on conditions
How to Post Commentary
Basic Posting:
Standard Messages:
- Text Field: Input box at bottom of commentary section
- Prompt: Varies by location (e.g., "Interject your own commentary?", "Whisper here")
- Submit: Type message and press Submit/Say/Whisper button
- Talkline Format: "[Name] [talkline], \"[message]\""
- Example: "Harry Potter says, \"Hello everyone!\""
- Auto-Formatting: Quotes and talkline automatically added
Color Codes:
- Backtick System: Use ` (backtick) followed by color code letter
- Common Colors: (reset/default), (dark blue), (dark green), (dark cyan/teal), (dark red), (dark magenta), (dark yellow), (dark white/gray), `! (light blue), (light green), `# (light cyan), (light red), (light magenta), (light yellow), (light white) - and that's not even half of them, there are about three dozen codes total covering everything from aquamarine to wheat.
- Example: "Hello `#everyone!" = Hello everyone!
- Color Limit: 25 color codes per comment; anything beyond that is stripped
- Reset Color: Use to return to default color
Emotes (Action Text):
- Prefix with `:` - Single colon for third-person emote
- Example Input: `:waves to everyone`
- Example Output: "Harry Potter waves to everyone"
- Double Colon `::` - Alternative emote format (same effect)
- /me Command: "/me waves" also creates emote
- Custom Talkline Override: Emotes skip the area's custom talkline
- Color Coding: Emotes display in dark cyan/teal () by default
VIP Emote Pack:
- Eight Tokens:
:snitch:,:owl:,:wand:,:sortinghat:,:phoenix:,:cauldron:,:butterbeer:,:lightning:, typed lowercase, colons included - Who Sees Them: Only lines posted by an active VIP member turn the token into a small image; the same text from anyone else, or an active member posting an unrecognized token, stays plain text
- Opening a Line: A line that opens with a recognized token is still a normal "says" post, not an action, even though the line also opens with a colon; the office checks the catalog before it checks for `:`, `::`, or `/me`
- Reduced Motion: Switch on the "Hide floating animations" preference (or leave your operating system's reduce-motion setting on) and every emote, yours and everyone else's, holds still on its first frame instead of looping
Special Commands:
- /game Command: Gamemasters only - system announcements
- Format: "/game [message]" appears as system message
- No.
- Permission Required: SU_IS_GAMEMASTER superuser flag
- Use Case: Server announcements, event notifications, admin messages
Reading Commentary
Commentary Display:
Message Format:
- Player Name: Clickable link to bio.php
- VIP Look: An active VIP Membership lets the name itself carry a member's chosen glow, shimmer, sparkle, or ember effect in chat, the forums, and blog comments alike, plus a default chat ink that only applies in chat; the tier icon (⚡ through 👑, by continuous months of membership) carries no icon into any of those, showing only as a text pill on the member's profile and as the ladder in the VIP office
- House Tag: [Clanshort] tag if player is in a Common Room
- House Rank Colors: Different colors for Applicant/Member/Officer/Leader/Founder
- Timestamp: Relative time or date/time stamp
- Message Text: With color codes rendered
- Moderation: Delete link for staff members
Scrolling Through History:
- Default Display: Last 10-30 comments (configurable per area)
- Older Comments: "Older" or "Previous" link to scroll back
- Newer Comments: "Newer" or "Next" link to scroll forward
- Pagination: Scrolls by limit amount (e.g., 10 at a time)
- comscroll Parameter: Tracks current page in URL
- New Comments: System tracks and displays newly added comments
- Caching: Recent comments cached for performance (invalidated on new post)
Bio Links:
- Click Name: Opens player biography in bio.php
- Return Path: Bio includes return link back to commentary
- Disabled Areas: Some areas (like motd.php) don't link bios
- Locked Accounts: Comments from locked (banned) accounts hidden
Editing a Message
Fixing What You Just Said:
The Pencil:
- Where: A small pencil appears beside your own messages, and only your own. Nobody else gets a pencil next to your regrets, and you don't get one next to theirs.
- Click It: The message opens for editing right where it sits. Change the text, save, done. No dialog box asking you to confirm you meant it.
- Position Holds: An edited message keeps its original spot in the feed and its original timestamp. Editing does not bump it to the top or restart its clock.
The Window:
- Ten Minutes: Everyone gets ten minutes from the moment a message posts to go back and fix it. After that, the pencil disappears and the words are yours to keep, mistakes included.
- VIP Exception: Active VIP members skip the ten-minute limit entirely. They can edit a message for as long as it exists, which in practice means until the chat's own housekeeping clears it out a day later. Patronage buys time as well as beans.
- Castle Narration: Messages the castle itself posts (the "/game" announcements a gamemaster sends) cannot be edited by anyone, VIP or otherwise. An official pronouncement stays exactly as pronounced.
The History:
- Nothing Is Overwritten: Every save keeps the wording it replaces. The castle's filing habits run toward accumulation, not erasure.
- The "edited" Mark: A small label appears beside a message that has been changed. Click it to open the message's full history, oldest version first, right up to the one you're currently reading.
- Visible to Everyone: Anyone can open that history, not just the author. The paper trail is public.
- Twenty and Done: A single message can be edited up to twenty times. After the twentieth, the castle's patience for that particular sentence runs out and the pencil stops appearing on it.
Fine Print:
- Two Tabs, One Message: Save the same message from two browser tabs at once and only the first save counts. The tab that lost reloads the message as it now actually stands.
- Moderators Keep the Receipts: The "edited" mark works on the Comment Moderation screen too, so staff can open a message's full history right where they review it. And if an edited message is deleted, its history travels with it into the moderation log rather than vanishing along with the original.
Posting Rules & Safety
Automatic Protections:
Double Post Prevention:
- Check Last Comment: System compares your new post to last comment in section
- Identical Post: If exact match to your last post, blocked
- Warning Message: "Double post?"
- Different Author OK: Only blocks if YOU posted the identical message
- Bypass: Change even one character to allow posting
- /game Exception: Gamemasters can double-post with /game command
Empty Post Detection:
- Blocks: Empty text, single ":", double "::", solo "/me"
- Warning Message: "Well, they say silence is a virtue."
- Purpose: Prevents accidental blank submissions
- Color-Only: Posts with only color codes (no text) also blocked
Content Sanitization:
- soap() Function: Cleans commentary of malicious content
- Newline Removal: codes stripped (comments are single-line)
- Color Limit: colors beyond the 25th are stripped
- Word Breaking: Words longer than 45 characters automatically broken with spaces
- SQL Escaping: mysql_real_escape_string() prevents injection
- Stripslashes: Removes escape characters
Commentary Counter:
- Session Counter: Tracks commentary submissions
- Prevents Spam: Must match expected counter to post
- Refresh Protection: Prevents accidental re-posts on page refresh
- Auto-Increment: Counter increments with each legitimate post
Moderation Features
Staff Tools:
Removing Comments:
- Delete Link: Appears next to comments for staff with SU_EDIT_COMMENTS
- removecomment Parameter: Clicking delete passes commentid
- Archived: Deleted comments moved to moderatedcomments table
- Audit Trail: Stores moderator acctid, moddate, full comment data
- Serialized: Comment row serialized for complete record
- Cache Invalidation: Clears cached comments for section and moderation screen
- Redirect: Returns to returnpath after deletion
System Comments:
- injectsystemcomment(): Function for automated game messages
- No.
- Auto /game Prefix: Adds "/game" if not present
- Use Cases: Server restarts, event announcements, maintenance notices
- Untrackable: No record of who posted (be careful!)
Module Hooks:
- commentary Hook: Modify commentline and commenttalk before posting
- blockcommentarea Hook: Modules can block entire commentary sections
- viewcommentaryheader Hook: Customize header display
- moderate Hook: Add custom commentary sections to the list
Custom Talklines
Area-Specific Verbs:
How Talklines Work:
- Default: "says" for most areas
- Custom Examples: "whispers" (Shrieking Shack), "despairs" (Detention)
- Auto-Wrap: Message wrapped in talkline + quotes: "[Name] [talkline], \"[message]\""
- Emote Override: Starting with `:`, `::`, or `/me` skips talkline
- Translation: Talklines use translate_inline() for multilingual support
- Schema: Can specify translation schema for context
Format Examples:
- Standard (says): "Harry Potter says, \"I'm going to the forest!\""
- Custom (whispers): "Hermione Granger whispers, \"Meet me in the library.\""
- Emote: "Ron Weasley waves to everyone" (no talkline)
- System (/game): "The server will restart in 5 minutes!" (no name)
Roleplay vs. Out-of-Character
Commentary Etiquette:
RP-Only Areas:
- Shrieking Shack: Designated roleplay-only, no OOC chat
- Other RP Areas: Godric's Hollow, Chapel, Barnabas Tapestry, Dark Alley
- Fairy Reminder: Gardens (Shrieking Shack) displays fairy message about RP focus
- Enforcement: Staff may delete OOC comments in RP-only areas
OOC-Friendly Areas:
- Hogwarts Grounds: Mixed RP and OOC acceptable
- Inn: Generally OOC-friendly
- Most Areas: Unless specifically marked RP-only, OOC is fine
- Respect Context: If others are RPing, be considerate
OOC Indicators:
- Double Parentheses: ((Like this)) indicates out-of-character
- Square Brackets: [OOC: message] also common
- Convention: Not enforced by code, but community standard
Strategy & Tips
Commentary Mastery
- Check Before Posting: Read recent comments to avoid repeating topics
- Use Emotes: `:waves` more engaging than "says, 'I wave'"
- Color Sparingly: Too many colors = hard to read, plus you hit the limit
- RP in Appropriate Areas: Shrieking Shack for RP, Hogwarts Grounds for OOC
- Click Names for Bios: Learn about players before interacting
- Scroll for Context: Use Older/Newer links to catch up on conversations
- Respect Talklines: Each area has its own flavor - embrace it
- No Double Posts: Even one character difference bypasses check
- Empty Posts: If you hit Submit accidentally, you'll get a snarky message
- Moderation Visible: Staff can see and delete inappropriate comments
- Archived Deletions: Nothing is truly gone - deleted comments saved
- System Messages: /game commands appear as announcements (staff only)
- Activity Updates: Posting updates your laston timestamp
- House Tags Visible: Common Room affiliation shows in brackets
- Word Break Feature: Long URLs/words auto-broken to prevent layout issues
- No Newlines: Commentary is single-line - codes don't work
- Bio Return Links: Clicking names to bios includes return path
- Cache Timing: New comments appear immediately (cache invalidates)
Common Questions
Commentary FAQ:
Q: Why does it say "Double post?" when my messages are different?
A: The double-post check only compares your new message to the LAST comment in the section IF that last comment was also posted by you. Text matching someone else's most recent post is never blocked: only posting the exact same text as your own immediately-preceding post triggers it. If you're seeing "Double post?" unexpectedly, check whether you (not another player) posted that identical text most recently in that section.
Q: How many color codes can I use?
A: The limit is 25 color codes per comment. Once you hit the limit, all remaining backticks and their color codes are stripped. Use color strategically for emphasis, not for every word.
Q: I have a VIP chat ink. If I switch to a different color mid-message for emphasis, how do I get back to my own color?
A: Type `0 (backtick zero), the same code that clears any color. If your default ink is one of the six exclusive VIP Studio colors, that ink surrounds your whole message, and `0 only closes whatever you opened inside it, so you land back in your own color. If your default is one of the thirteen ordinary colors, there's no surrounding wrap to fall back into: `0 clears it to plain, and you retype your own ink's letter to get it back, same as any other color code. As an active member you can also type any of the six exclusive letters yourself (`D, `F, `I, `N, `S, `U) regardless of which one you've set as your default, to switch to that color mid-message the same way you'd use any ordinary code.
Q: Can I edit or delete my own comments?
A: You can edit, but not delete. The pencil beside your own message gives you ten minutes to fix it (no limit at all for active VIP members), and every save is kept in a visible history rather than quietly swapped out. Deleting a comment outright is still a staff-only power; if you want one gone entirely rather than corrected, ask a staff member. See Editing a Message above for the details.
Q: Why don't I see someone's comments?
A: Their account might be locked (banned). The commentary system filters out locked accounts automatically (locked=0 in WHERE clause). You can't see comments from banned players.
Q: What happens if I use /game without being a gamemaster?
A: Nothing. The /game command only works if you have the SU_IS_GAMEMASTER superuser flag. Regular players can type "/game whatever" and it'll just appear as a normal comment: "[Name] says, \"/game whatever\"" - embarrassing but harmless.
Commentary System Summary: Public chat system with location-specific sections. Core areas: Hogwarts Grounds (village), Inn, Detention, Grassy Field, Shrieking Shack (gardens - RP only), Dumbledore's Army (veterans), Prefect's Lounge (hunterlodge), Waiting Area, MotD, Grotto (staff). Custom talklines per area (says/whispers/despairs). Emotes: `:` or `/me` prefix. Color codes: backtick + letter, roughly three dozen codes, capped at 25 per comment (25). Double-post prevention, empty post detection. Staff can delete (archived to moderatedcomments). /game command for gamemasters (system messages). Scrolling via comscroll parameter, displays 10-30 recent comments. Bio links on names (except motd). House tags and rank colors displayed. Caching for performance. Module hooks: commentary, blockcommentarea, moderate. Word breaking for 45+ char strings. SQL sanitization, content cleaned via soap().