1
Direct Messages
Storm Dragon edited this page 2025-07-30 15:30:36 -04:00

Direct Messages

TTYverse provides comprehensive direct message (DM) support, allowing private conversations with other fediverse users through an intuitive interface with proper HTML sanitization and background monitoring.

Understanding Direct Messages

What are Direct Messages?

Direct messages in the fediverse are posts with "Direct" visibility that only mentioned users can see. They're private conversations between specific users.

DM characteristics:

  • Private communication between users
  • Only mentioned participants can see the content
  • Appear with [Direct] visibility indicator
  • Grouped into conversations by TTYverse
  • Support all standard post features (media, links, etc.)

DM vs. Regular Posts

Direct message:

[DM da0][friend@instance.org] (1h ago)
   Hey, saw your post about TTYverse - is it really that accessible?

Regular post with Direct visibility:

a3> {,POST_ID} <username> (30m ago) via TTYverse [Direct]
    @friend This is a direct message using post format

TTYverse handles both formats seamlessly.

Viewing Direct Messages

Basic DM Commands

View recent direct messages:

/dms                    # Show recent DM conversations
/dm                     # Same as /dms
/dmagain                # Refresh and show DMs

DM display format:

-- checking for direct messages:
[DM da0][alice@mastodon.social] (2h ago)
   Thanks for the TTYverse recommendation! How do I set up the extensions?

[DM da1][bob@social.example.com] (4h ago)  
   Quick question about the poll feature - can I edit options after posting?

[DM da2][charlie@pixelfed.social] (1d ago)
   Love the accessibility focus of TTYverse. Any plans for image description templates?

DM Menu Codes

TTYverse assigns special menu codes to DMs:

Code format:

  • da0, da1, da2... - DM conversation codes
  • db0, db1, db2... - Next set of DM codes
  • dc0, dc1, dc2... - Continues as needed

Code usage:

/reply da0 Extensions are easy! Use -exts=soundpack,tts when starting TTYverse
/reply da1 Unfortunately, poll options can't be edited after posting

Sending Direct Messages

Reply to Existing DMs

Reply to conversations:

/reply da0 <message>    # Reply to DM conversation da0
/reply db3 <message>    # Reply to DM conversation db3

Reply examples:

/reply da0 The extensions are loaded from ~/.local/share/ttyverse/extensions/
/reply da1 You can create new polls with /poll or /mpoll commands
/reply da2 Image templates are a great idea - I'll add it to the todo list!

Start New DM Conversations

Create direct messages:

# Method 1: Post with Direct visibility and mention users
/post @user@instance.com This is a private message

# Method 2: Reply to public posts privately (creates DM thread)
/reply a3 @user@instance.com Thanks! Let me send you the details privately

Note: Starting new DM conversations typically requires posting with @mentions and Direct visibility.

DM Management Features

Conversation Threading

TTYverse groups DMs into conversations:

Conversation display:

  • Shows most recent message from each conversation
  • Maintains conversation context
  • Groups messages by participants
  • Updates with new messages automatically

Background DM Monitoring

Automatic DM checking:

  • Background process monitors for new DMs
  • Configurable refresh intervals
  • Sound notifications for new messages
  • No user intervention required

DM refresh configuration:

# In ~/.config/ttyverse/ttyverserc
dmpause=60              # Check DMs every 60 seconds

Manual DM refresh:

/dmagain                # Force DM refresh
/dms                    # View DMs (triggers refresh)

DM Notifications

Sound notifications: TTYverse plays distinct sounds for:

  • New DM arrivals
  • Your outgoing DMs (confirmation)
  • Different notification categories

Notification configuration:

# In ~/.config/ttyverse/ttyverserc
notifies=dm             # Enable DM sound notifications
extpref_sound_command=paplay

Advanced DM Features

HTML Content Handling

Automatic HTML sanitization:

  • Converts HTML to plain text
  • Preserves links and formatting context
  • Removes HTML tags for clean display
  • Maintains readability in terminal

Example HTML conversion:

Original HTML: "<p>Check out <a href='https://example.com'>this link</a></p>"
TTYverse display: "Check out this link (https://example.com)"

DM Media Support

Media in direct messages:

# Send image in DM (reply to existing conversation)
/reply da0 Here's the screenshot you requested
/media /path/to/screenshot.png

Media DM features:

  • Alt-text required for images (accessibility)
  • Audio and video support
  • Same media features as public posts
  • Private media sharing

Cross-Instance DMs

Messaging across instances:

  • Works with any fediverse server
  • Automatic formatting for different servers
  • Handles various DM implementations
  • Maintains conversation threading

DM Privacy and Security

Privacy Considerations

DM privacy features:

  • Messages only visible to participants
  • Not indexed by search engines
  • Don't appear in public timelines
  • Server admins may have access (standard fediverse limitation)

Best practices:

  • Remember that instance admins can potentially see DMs
  • Use encrypted messaging for highly sensitive content
  • Be aware of which instance stores your messages
  • Consider the recipient's instance privacy policies

DM Visibility

Who can see DMs:

  • You and mentioned participants
  • Your instance administrators (potentially)
  • Recipients' instance administrators (potentially)
  • Other users
  • Public timelines
  • Search results

DM Workflow Examples

Customer Support Workflow

Helping users with TTYverse:

# User asks public question
a3> <user> "How do I set up TTYverse extensions?"

# Offer to help privately
/reply a3 I can help with extensions! Let me send you the details.

# User sends DM
[DM da0][user@instance.com] (now)
   Thanks! I'm having trouble with the soundpack extension.

# Provide detailed help
/reply da0 First, make sure you have pulseaudio-utils installed...
/reply da0 Then load the extension with -exts=soundpack
/reply da0 Sound files go in ~/.local/share/ttyverse/sounds/default/

Collaborative Discussion

Project planning:

# DM conversation with collaborator
[DM da1][collaborator@project.org] (5m ago)
   Ready to review the wiki updates?

/reply da1 Yes! I've finished the Polls and Search pages
/reply da1 Still working on Timeline-Navigation and Advanced-Features

[DM da1][collaborator@project.org] (now)
   Great! Can you send me the draft links?

/reply da1 They're in the ttyverse.wiki/ directory
/media /path/to/screenshot.png Screenshot of current progress

Community Moderation

Private moderation discussions:

# Sensitive moderation topic
[DM da2][moderator@instance.org] (10m ago)
   We need to discuss the recent spam issue privately

/reply da2 Agreed. I've noticed the pattern too
/reply da2 Should we implement keyword filtering?

Troubleshooting DMs

Common DM Issues

DMs not appearing:

  1. Check if DM refresh is enabled: /dms
  2. Verify dmpause setting in config
  3. Test with /dmagain to force refresh
  4. Check network connectivity

Can't reply to DMs:

  1. Verify menu code is current (da0, da1, etc.)
  2. Check that conversation still exists
  3. Ensure recipient hasn't blocked you
  4. Try refreshing DMs with /dmagain

DM notifications not working:

  1. Check sound files exist in ~/.local/share/ttyverse/sounds/default/
  2. Test audio system: paplay /path/to/sound.ogg
  3. Verify notifies=dm in configuration
  4. Check extension loading: -exts=soundpack

HTML display issues:

  1. TTYverse automatically sanitizes HTML
  2. Links are extracted and displayed cleanly
  3. Formatting is converted to plain text
  4. No additional configuration needed

Debug DM Problems

Enable verbose DM debugging:

/verbose                # Enable detailed output
/dms                    # Check DMs with debugging

Check DM configuration:

/get dmpause            # Check DM refresh interval
cat ~/.config/ttyverse/ttyverserc | grep dm

Test DM functionality:

/dmagain                # Force DM refresh
/reply da0 test         # Test reply functionality

DM Configuration

DM Settings

Configuration options:

# In ~/.config/ttyverse/ttyverserc
dmpause=60              # DM check interval (seconds, 0=disabled)
dmmarkread=1            # Mark DMs as read (default: enabled)
notifies=dm             # Enable DM sound notifications

Runtime configuration:

/set dmpause 120        # Change DM refresh to 2 minutes
/get dmpause            # Check current DM refresh setting

DM Sound Configuration

Sound notification setup:

# In ~/.config/ttyverse/ttyverserc
exts=soundpack          # Load sound extension
notifytype=soundpack    # Enable sound notifications
notifies=dm,mention,boost # Enable DM sounds plus others
extpref_sound_command=paplay

DM sound files:

  • Location: ~/.local/share/ttyverse/sounds/default/dm.ogg
  • Format: OGG Vorbis recommended
  • Fallback: Other audio formats supported

Integration with Other Features

DMs and Timeline Navigation

DM workflow with timelines:

/timeline               # Check home timeline
/dms                    # Check direct messages
/timeline notifications # Check mentions

Finding DM participants:

/search @username       # Find public posts from DM contact
/whois @username        # Get user information
/follow @username       # Follow DM participant

DMs and Media

Sharing media privately:

/reply da0 Here's the file you requested
/media /path/to/document.pdf Private document share

Media in DMs follows same rules:

  • Images require alt-text
  • Audio/video supported
  • File size limits apply
  • Accessibility enforcement maintained

See also: Basic Usage | Commands Reference | Privacy