Skip to content

Q&A System

Track questions and answers within your community. Features clarifications, accept/reject workflows, and Discourse forum integration.

Looking for !ask? The !ask command is now a Unified Search that queries all community knowledge sources. To submit a question to the Q&A database, use !qa instead.

Submit a question that gets tracked in the database for community answers.

!qa <your question>
!q <your question>
!question <your question>
!qa --broadcast # Share to other groups
!q # Reply to a message to use it as the question

Examples:

!qa How do I set up two-factor authentication?
!qa --broadcast What's the best VPN for privacy?

Reply Mode: You can reply to any message with just !q or !qa to use the quoted message as your question.

Response:

Question #ABC123 recorded!
Question: How do I set up two-factor authentication?
Others can answer with: !answer ABC123 <answer>
Or reply to this message with: !a <answer>

Features:

  • Questions use hash IDs (e.g., ABC123) for cross-group reference
  • Can broadcast questions to other groups with --broadcast
  • Links to breakout rooms if asked inside one
  • Stored in PostgreSQL for persistence
  • Q&A history is also searchable via !ask (unified search)

View full context for a specific question including all clarifications and answers.

!question <hash>
!q <hash>

Example:

!question ABC123

Response:

Question #ABC123
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Asked by: Alice | Dec 19, 2025 at 3:30 PM
Group: IrregularChat: Security
How do I set up two-factor authentication?
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CLARIFICATIONS (1):
[C1] by Bob (Dec 19, 3:45 PM):
"Are you asking about app-based or hardware 2FA?"
ANSWERS (2):
[A1] ACCEPTED by Carol (Dec 19, 4:00 PM):
"Go to Settings > Security > Enable 2FA"
[A2] PENDING by Dave (Dec 19, 4:30 PM):
"You can also use a hardware key like YubiKey"
RESOURCES:
Breakout: "2FA Discussion" (3 participants)
Forum: https://forum.example.com/t/123
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Commands:
!clarify ABC123 <text> Add clarification
!answer ABC123 <text> Add answer
!accept ABC123 A1 Accept answer
!reject ABC123 A2 <reason> Reject answer
!breakout -q ABC123 Start discussion room

List recent open (unsolved) questions.

!questions
!questions -a # Show questions from all groups

Response: Shows recent unanswered questions with their hash IDs.


Add a clarification or follow-up to a question.

!clarify <hash> <clarification text>

Example:

!clarify ABC123 Are you asking about app-based or hardware 2FA?

Use Cases:

  • Ask for more details about the question
  • Add context to your own question
  • Provide additional information

Answer a tracked question.

!answer <hash> <your answer>
!answer <your answer> # Answers most recent question
!a <your answer> # Reply to a question message
!a # Reply to any message to use it as your answer
!answer <hash> --breakout <answer> # Create breakout room for discussion

Examples:

!answer ABC123 Go to Settings > Security > Enable 2FA
!a You can find that in the privacy settings
!answer ABC123 --breakout Let's discuss the options in detail

Reply Mode: You can reply to any useful message with just !a to capture it as an answer to the most recent question.

Features:

  • Multiple answers per question are supported
  • Can reply directly to a question message
  • If no hash specified, answers the most recent unanswered question
  • Use --breakout to start a focused discussion room for complex answers

Accept an answer as the solution to your question.

!accept <question_hash> <answer_id>
!solved <question_hash> <answer_id> # Alias for !accept

Examples:

!accept ABC123 A1
!solved ABC123 A1

Features:

  • Only the original question asker can accept answers
  • Marks the answer with status “accepted”
  • Optionally notifies the answerer via DM
  • Can accept multiple answers for comprehensive solutions

Reject an answer with a reason.

!reject <question_hash> <answer_id> <reason>

Example:

!reject ABC123 A2 That information is outdated for the current version

Features:

  • Provides feedback to the answerer
  • Sends DM to answerer with the rejection reason
  • Keeps the answer visible but marked as rejected
  • Helps maintain answer quality

  1. User A asks:

    !ask What's the best VPN for privacy?
  2. User B asks for clarification:

    !clarify ABC123 Are you looking for free or paid options?
  3. User A clarifies:

    !clarify ABC123 Paid is fine, looking for best privacy features
  4. User B answers:

    !answer ABC123 I recommend Mullvad or ProtonVPN for privacy-focused options
  5. User C also answers:

    !a ABC123 IVPN is another solid choice with a good track record
  6. User A accepts the best answer:

    !accept ABC123 A1
  7. User A rejects with feedback:

    !reject ABC123 A2 I tried IVPN before, had connection issues
  8. View full context anytime:

    !question ABC123

Use !breakout -q <hash> to start a focused discussion about a question:

!breakout -q ABC123 # Create or join existing breakout
!breakout -q ABC123 @expert1 @expert2 # Add experts to existing breakout
!breakout -q ABC123 --new # Force create NEW breakout room
!breakout -q ABC123 --new 2h # New room with custom duration

Default behavior: When a question already has an active breakout, !breakout -q will add mentioned users to the existing room instead of creating a duplicate.

Response when joining existing:

✅ Added to existing breakout for Q#ABC123
👥 Added: Expert One, Expert Two
⏱ Time remaining: 1h 45m
The discussion for this question is already in progress.

To force a new room: Add --new flag when you need a fresh discussion.

When a breakout room for a question ends:

  1. The forum summary link is added to the question record
  2. Breakout context (summary, decisions) is linked to the question
  3. View with !question <hash> to see the forum link

Questions asked with !ask inside a breakout room are automatically:

  • Linked to the breakout session
  • Included in the breakout summary
  • Tracked with answer status

StatusDescription
pendingDefault state, awaiting review
acceptedMarked as solution by question asker
rejectedExplicitly rejected with reason

Questions can be posted to Discourse when answered or discussed in breakouts.

  1. Breakout Summaries: When a question breakout ends, the AI-generated summary is posted to Discourse
  2. Forum Link: The forum URL is automatically linked back to the question record
  3. View Link: Use !question <hash> to see the forum discussion link

Questions posted via breakout summaries use the configured category:

  • DISCOURSE_QA_CATEGORY - Category ID for Q&A posts
  • Falls back to DISCOURSE_BREAKOUT_CATEGORY if not set

For Discourse integration:

  • DISCOURSE_URL - Your Discourse forum URL
  • DISCOURSE_API_KEY - API key for posting
  • DISCOURSE_USERNAME - Username for API authentication
  • DISCOURSE_QA_CATEGORY - Category ID for Q&A forum posts