mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-10-02 10:53:44 +00:00
docs: chat histories and chat flags
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1038,12 +1038,40 @@ tokens used. To try it without a key, run `python3 tests/dWebTests/mock_claude_a
|
||||
### Chat log and chat bridges
|
||||
|
||||
The **Chat Log** page (GM 3+, `chat_view`) shows what players say, newest first and live: zone chat, messages sent in
|
||||
from the dashboard or a chat bridge, and messages the chat filter stopped (marked; nobody saw them). Whispers and team
|
||||
chat are there too for staff with `chat_private` (GM 8+). Filter by channel, character, zone or one world of a zone, or
|
||||
"only what the filter stopped"; **Account** on a row goes to the sender's account to mute, warn or ban them. The
|
||||
Related card on account and character pages has their recent messages.
|
||||
from the dashboard or a chat bridge, and messages the chat filter stopped (marked; nobody saw them). Team and guild chat
|
||||
are there too for staff with `chat_private` (GM 8+), whispers for staff with `chat_dms` (GM 8+). Filter by channel,
|
||||
character, account, zone or one world of a zone, a time range, text, or "only what the filter stopped"; **Context** on a
|
||||
row shows the conversation around it, **Conversation** opens its whisper, team or guild history, and **Account** goes to
|
||||
the sender's account to mute, warn or ban them. The Related card on account and character pages has their recent
|
||||
messages, and the character page's Chat card links to their chat log, whispers, team chat and chat flags.
|
||||
|
||||
Settings: `log_chat` (on), `log_private_chat` (on), `log_chat_days` (90), and `chat_bridge_filter` (on: messages sent
|
||||
Every message is written by the server that sends it, as it is sent: zone chat by the world server, whispers, team and
|
||||
guild chat by the chat server. Each row has the channel, the sender's character and account, the recipient (whispers),
|
||||
the guild (guild chat), the team (team chat; team IDs start from the chat server's start time, so they are not reused
|
||||
after a restart), the zone, instance and clone, the time, and the filter result: `blocked` (zone chat the filter
|
||||
stopped; nobody saw it) and `filtered` (the filter found words it doesn't allow; whispers, team and guild chat are
|
||||
delivered either way). Rows are deleted after `log_chat_days` by the Log pruning task, on its own database connection.
|
||||
|
||||
The histories, paged on the server (newest page first, **Older** for the one before):
|
||||
|
||||
- **Guild chat**: one guild's chat, from **Guild chat** on the guild's card on the Guilds page (`chat_private`).
|
||||
- **Team Chat** (Moderation menu, `chat_private`): teams that talked, most recent first, with who talked; filter by a
|
||||
character to see only their teams.
|
||||
- **Whispers** on a character (`/characters/<id>/whispers`, `chat_dms`): everyone they whispered with, most recent
|
||||
first; pick one to read the conversation. Opening a conversation (also from a flag or the Context view) is audited
|
||||
as `chat_dms_view`.
|
||||
|
||||
**Chat flags.** Tick messages on the Chat Log or a history (shift-click picks a range) and **Flag** them (`chat_flag`,
|
||||
GM 3+): pick who it is about (one of the senders) and write a note. The messages must be from one conversation. The
|
||||
flag keeps a copy of them and up to 10 messages before and after, so it survives pruning. The **Chat Flags** page
|
||||
(Inbox) is the queue, open ones first, with a badge for open flags; filter by status, character or account. A flag
|
||||
shows its copy of the chat (flagged messages highlighted), links to the character, the account (mute, warn, strike,
|
||||
ban), player reports about them, their other flags and the conversation, and its history: who flagged it, who changed
|
||||
its status, note or linked player report, and comments. Reviewers (`chat_flag_review`, GM 3+) mark it actioned or
|
||||
dismissed (or open again). Everything is also in the audit log (`chat_flag`, `chat_flag_review`). Flags on team, guild or
|
||||
whisper chat show their messages only to staff who may read that chat.
|
||||
|
||||
Settings: `log_chat` (on), `log_private_chat` (on), `log_chat_days` (30), and `chat_bridge_filter` (on: messages sent
|
||||
into the game go through the chat filter like players' do).
|
||||
|
||||
**Bridging chat to Discord or another service.** Make an account for the bot with a GM level that has `chat_view`,
|
||||
|
||||
@@ -194,6 +194,7 @@ No cdclient table is about guilds (besides `FeatureGating`, which lacks the row;
|
||||
- Dashboard: **Guilds** page (`guilds_manage`): list, members, history, approve or reject a name (rejected: renamed
|
||||
"Guild <id>"), rename, remove a member, disband; pending names also in the Review Queue. Changes are audited, added to
|
||||
the guild's history, and sent to the chat server (`ePlayerAction::GUILD_CHANGED` through master), which tells online
|
||||
members. Guild chat is logged as channel "guild" and is private chat (`chat_private`).
|
||||
members. Guild chat is logged as channel "guild" with the guild's ID, and is private chat (`chat_private`); each
|
||||
guild's chat history is at `/chat_log/guild/<id>` (**Guild chat** on the guild's card).
|
||||
- Not done: the client has no packet for a member's name change (`GuildUpdatePlayerName` is local), so a renamed
|
||||
character shows under the new name after the members' next `GUILD_DATA`; the guild reputation field is always 0.
|
||||
|
||||
Reference in New Issue
Block a user