All Commands
This page lists all the available commands for the Community Signal Moderation Bot.
Core Commands
Section titled “Core Commands”!help: Show available commands.!ping: Test bot responsiveness.!ai <question>: Ask AI a question (OpenAI).!lai <question>: Ask a local/community AI a question (self-hosted).!uai <question>: Ask uncensored AI a question (self-hosted, unfiltered model).!summarize <url>: Summarize a URL, video, or text.!tldr <url>: Summarize a URL or video (YouTube, Instagram, TikTok, Facebook). Reply to a message with!tldrto summarize its URL.!scan: Scan a file for viruses (reply to attachment). See File Scanning.!zeroeth: Get the Zeroeth law of robotics.!cleaner: Clean up messages.
AI Commands Comparison:
| Command | Model | Censored? | Use Case |
|---|---|---|---|
!ai | OpenAI GPT | Yes | General questions, safe content |
!lai | Community (Irregularbot) | Moderate | Community-hosted, may reason differently |
!uai | Uncensored | No | Direct answers without refusals |
⚠️ Note: !uai uses an uncensored model. Be responsible with usage.
Unified Search
Section titled “Unified Search”See Unified Ask for full documentation.
!ask <question>: Agentic search across all community knowledge sources (wiki, outline, RSS, Q&A history, files, Wikipedia, Knowledge Graph). AI routes the question to the most relevant sources, searches in parallel, runs gap detection, and synthesizes a single answer with citations.!ask <question> --broadcast: Search + broadcast answer to multiple groups.!ask --sources: List available search sources and their status.!a <question>: Alias for !ask.
How it works:
- AI router picks 2-4 relevant sources for your question
- All selected sources are searched in parallel
- Gap detection checks if more sources are needed (up to 3 rounds)
- AI synthesizes a single answer with source citations
Examples:
!ask What are the claude code plugins and lessons learned?!ask What link was posted about AI in the DoD?!ask How do I set up secure communications?Q&A System
Section titled “Q&A System”Submitting Questions:
!qa <question>: Submit a question to the Q&A database for community answers.!qa <question> --broadcast: Submit and broadcast to all groups.!q <question>: Alias for !qa.!question <question>: Alias for !qa.
Viewing Questions:
!questions: List recent questions.!questions -a: List questions from all groups.!question <hash>: View full question with all context, clarifications, and answers.
Answering Questions:
!answer <hash> <answer>: Answer a question.!a <hash> <answer>: Alias for !answer.!answer <hash> --breakout: Start a breakout discussion room instead of posting answer.!answer <hash> --context <answer>: Answer with AI-summarized context from linked breakout room.- Automatically extracts key insights from breakout discussion
- Includes relevant URLs/resources shared during breakout
- AI summarizes discussion in context of the original question
Requesting Clarification (Inquiries):
!inquire <hash> <question>: Ask the asker for clarification on their question.!cq <hash> <question>: Alias for !inquire (Clarifying Question).- Example:
!inquire GZ2QCC What operating system are you using? - The original asker is notified and can respond with
!clarify.
Managing Answers:
!clarify <hash> <text>: Add clarification to a question.!accept <hash> <A#>: Accept an answer as the solution.!reject <hash> <A#> <reason>: Reject an answer with feedback (DMs the answerer).!solved <hash> <A#>: Alias for !accept.
Sharing Questions:
!shareq <id> [keywords]: Share existing question to other groups.!shareq 42 suas counter: Share Q#42 to groups matching “suas” or “counter”.!shareq 42 all: Share Q#42 to all groups.- Reply to question →
!shareq: Share the quoted question.
Example Expanded Question View:
📋 Question #GZ2QCCAsked by: Sac | Dec 19, 2025 at 3:30 PMGroup: IrregularChat: sUAS
[Full question text...]
💬 CLARIFICATIONS (2): [C1] by JohnDoe: "Are you looking for hardware?" [C2] by Sac: "Software - ATAK plugin"
❓ PENDING INQUIRIES (1): ❓ MikeS asks (Dec 19): "What operating system are you using?"
📝 ANSWERS (3): [A1] ✅ ACCEPTED by MikeS: "Check out TAK docs..." [A2] ❌ REJECTED: "That's for Teal 1" [A3] 💬 PENDING by AliceK: "Happy to chat..."
🔗 RESOURCES: 💬 Breakout: "Teal 2 TAK Integration" 📄 Forum: https://forum.irregularchat.com/t/123Groups & Community
Section titled “Groups & Community”!groups: List approved community groups.!groups -c <category>: Filter groups by category (e.g., tech, unmanned, cyber).!groups --categories: Show available category filters.!join <group_name>: Self-service group joining.!join -c <category>: Join all groups in a category.
Member Onboarding: See Member Onboarding for detailed documentation.
!invite: Start invite process (adds you to Entry/INDOC chat).!request @user: Initiate verification for new member (you become voucher).!request -nv @user: Initiate verification without being the voucher (admin use).!request: Show intro template (no @mention).
Categories: Groups can be filtered by topic:
unmanned- sUAS, UxS, Counter-UxVinformation- Research, IWAR, AItech- Tech, Full Stack Dev, Hackathons, SystemManagers, Spacecyber- Purple Team, Certs, DefCon, Bot Devbuild- Hardware, Fabricationcomms- Dragon, RF, Commsmilitary- Modern Warfareprofessional- Business, Project Managers, Mentorsgeneral- Off Topic, Outdoor, Events, Debate, Writingannouncements- Announcement channels
Wiki & Knowledge
Section titled “Wiki & Knowledge”!wiki: Wiki links.!wikisearch <query>: Search wiki.!ws <query>: Search wiki.!wikiask <question>: AI-powered wiki Q&A.!wa <question>: AI-powered wiki Q&A.!wikiadd: Reply to a message to extract content and add it to IrregularPedia.!wikiadd -n <count>: Analyze last N messages for wiki-worthy content.!wa -n <count>: Alias for!wikiadd -n.
Outline Docs
Section titled “Outline Docs”Search & Browse:
!ol <query>: Search team docs.!outline <query>: Search team docs.!ol ask <question>: AI Q&A from docs.!ol recent: Recent documents.
Create Documents:
!ol: Reply to a message to create a doc from that message.!ol ai <content>: Create doc with AI-generated structure.!ol ai --public: Create public share link.!ol note <text>: Quick note.
Capture Chat to Document:
!ol -n 5: Capture last 5 messages into a new document.!ol -b 2: Reply to a message - capture it + 2 messages before.!ol -a 3: Reply to a message - capture it + 3 messages after.!ol -b 2 -a 3: Reply to a message - capture 2 before + message + 3 after.!ol -n 5 --public: Capture messages and create a public share link (admin only).
How chat capture works: Documents created from chat messages include:
- Open Questions: AI-generated follow-up questions as checkboxes
- Summary: AI-generated summary of the discussion
- Discussion: The captured messages (bot messages and commands filtered out)
- Links: Any URLs mentioned in the conversation
File Search
Section titled “File Search”See File Management for detailed documentation.
!files <query>: Search filenames in the archive.!files -g <keyword>: Search file contents (grep).!files -s <query>: Smart AI-powered search with synonyms.!files --cat <name>: Browse files in a category.!files --list: List all available categories.
After search results:
- Reply with a number to get a direct download link (MinIO presigned URL, expires in 15 min).
- Reply
tldr Nto summarize a PDF file.
Video Archiving
Section titled “Video Archiving”Upload videos to PeerTube with AI-generated titles and descriptions.
Basic usage:
!save: Reply to a video - AI analyzes frames + audio to generate title/description automatically.!save My Video Title: Reply to a video with a custom title.!save Title | Description: Reply to a video with custom title and description.
Using chat context:
!save -b 3: Use 3 messages BEFORE the video as AI context for better titles.!save -a 4: Use 4 messages AFTER the video as AI context.!save -b 2 -a 2: Use messages before and after for context.
How AI analysis works:
When you reply to a video with just !save, the bot:
- Extracts up to 5 key frames using scene detection
- Transcribes audio using local Whisper (first 60 seconds)
- Sends frames + transcript to AI to generate an accurate title and description
- Uploads to PeerTube with the generated metadata
Tips:
- For best results, send a message describing the video, then reply to that message with
!save. - Use
-bflag to include chat discussion as context for the AI. - Videos are uploaded to the community PeerTube instance (login via SSO).
Link Tracking & Discovery
Section titled “Link Tracking & Discovery”The bot automatically tracks URLs shared in community chats, including social media links, git repositories, and news articles.
Views:
!links: Weekly digest summary of shared links!links -all: Full list of recent links!links -trending: Links shared 2+ times (popular)!links -topics: Group links by category/domain!links -top: Contributor leaderboard!links -git: Git repositories (GitHub, GitLab, etc.)!links -social: Social media links (Instagram, Twitter, YouTube, etc.)
Filters:
!links -c: Show links from current group only!links -t 24h: Time period (24h, 7d, 30d)!links -d reddit.com: Filter by domain!links -f: Include forum URLs!links <keyword>: Search links
Social media tracking: When social media URLs are shared, the bot automatically:
- Removes tracking parameters (igsh, fbclid, utm_*, etc.)
- Extracts content type (Reel, Tweet, YouTube Video, etc.)
- Saves to database for later discovery via
!links -social
Supported platforms: Instagram, TikTok, Twitter/X, YouTube, Facebook, Reddit, Vimeo, Twitch, LinkedIn, Pinterest, Snapchat
Examples:
!links # Weekly digest!links -social # Recent social media links!links -git # Git repositories!links -trending # Popular links!links -c -t 7d # This group, last 7 days!links ukraine # Search for keywordEvents
Section titled “Events”Create, manage, and coordinate community events with RSVPs and polls.
Listing Events
Section titled “Listing Events”!events: List upcoming events with RSVP counts!events search <term>: Search events by title, location, or tags!event <id>: Show detailed info for a specific event
Events with active polls show: 🗳️ Vote: !event vote d6595bcd
Quick Event Creation
Section titled “Quick Event Creation”Create an event with a single command:
!event quick "Event Title" tomorrow at 7pm!event quick "Game Night" Saturday 6pm at John's place!event quick "Team Meeting" 2026-02-15 14:00AI-Powered Event Parsing
Section titled “AI-Powered Event Parsing”Parse natural language descriptions into structured events:
!event parse Board game night this Saturday at 7pm at the community centerThe bot will extract title, date/time, and location, then ask for confirmation:
- Reply
yesoryepto create the event - Reply
noorcancelto abort - Reply
1 20to set capacity to 20 - Reply
2 https://example.comto add an event link
Supports relative dates: “tonight”, “tomorrow”, “this Saturday”, “next Friday”
Collaborative Event Planning (Polls)
Section titled “Collaborative Event Planning (Polls)”Plan events with date and venue voting:
!event plan Feb 15, Feb 22, March 1; Downtown Cafe, The Park, Bob's House; Annual meetup planning sessionFormat: !event plan <dates separated by commas>; <venues separated by commas>; <description>
This creates:
- Time poll with date options (morning/afternoon/evening/night slots)
- Location poll with venue options
- Group members can vote via Signal
Voting on polls:
- Reply with numbers
1,2,3,4for date preference - Reply with letters
A,B,C,Dfor venue preference - Or use the
!event votecommand
Voting on Polls
Section titled “Voting on Polls”!event vote <event-id> # Show poll options and current standings!event vote <event-id> A B # Vote for time slots A and B!event vote <event-id> +1 -2 # Upvote location 1, downvote location 2!event vote <event-id> A B +1 # Combined time and location votesPartial event IDs work (8+ characters): !event vote d6595bcd A B
After voting, the bot shows current poll standings.
!event rsvp going <event-id> # RSVP as going!event rsvp maybe <event-id> # RSVP as maybe!event rsvp cancel <event-id> # Cancel RSVPReaction-based RSVP: React with 👍 to an event message to RSVP as “going”
Sharing Events
Section titled “Sharing Events”!event share <id> # Share to default broadcast groups!event share <id> suas fpv # Share to groups matching keywords!event share <id> all # Share to all groupsExamples
Section titled “Examples”!events # List upcoming events!events search game night # Find game night events!event quick "Trivia Night" Friday 8pm # Create quick event!event parse pizza party tomorrow at noon # AI-parsed event!event plan Jan 15, Jan 22; Pizza Place, Taco Shop; Team lunch!event vote d6595bcd # View poll options!event vote d6595bcd A +1 # Vote: time A, upvote location 1!event rsvp going d6595bcd # RSVP as going- Signal-created events require login to view on the web (privacy protection)
- Events display in Eastern timezone (America/New_York)
- Poll votes show current standings after each submission
- Event URLs: https://event.irregulars.io/event/{id}
Scoreboard
Section titled “Scoreboard”Track community engagement, view leaderboards, and earn points across all IrregularChat services.
See Scoreboard Commands for full documentation.
View scores:
!score: Your score, rank, badges, and recent activity.!score @person: View someone else’s score.
Leaderboard:
!leaderboard: Top 10 this week.!leaderboard month: Top 10 this month.!leaderboard all: Top 10 all-time.
Admin:
!score award @person <points> <reason>: Award points manually (admin only, max 500).
Examples:
!score # Your score and badges!score @alice # Alice's score!leaderboard # Weekly top 10!leaderboard all # All-time top 10!score award @alice 50 Great bug report # Admin: award pointsWeb interface: https://score.irregulars.io
Information
Section titled “Information”!forum: Forum links.!faq: Frequently asked questions.!docs: Documentation links.
!fpost: Create forum post.!flatest: Latest forum posts.!fsearch: Search forum.!categories: Forum categories.
File Scanning & Security
Section titled “File Scanning & Security”Scan files for viruses and analyze documents. For PDFs, provides additional security analysis.
Basic usage:
!scan: Reply to a file to scan it for viruses (ClamAV)!virus: Alias for !scan!clamav: Alias for !scan
Options:
!scan --info/!scan -i: Show detailed metadata (PDF author, creator, dates)!scan --sanitize/!scan -s: Strip metadata from PDF (creates clean copy)
PDF-specific features: When scanning a PDF, the bot automatically:
- Extracts page count, title, author
- Checks for JavaScript (security risk)
- Detects encrypted/password-protected PDFs
- Identifies embedded files
Example output:
🛡️ Scan Complete - No Threats Detected
📄 File: report.pdf📦 Size: 2.5 MB📑 Pages: 42
📋 PDF Analysis: • PDF Version: 1.7 • Title: Annual Report 2024 • Author: John Doe
🔐 Security Notes: ⚠️ Contains JavaScript (potential risk)Available tools:
- ClamAV - Virus scanning
- pdfinfo/pdftotext - PDF metadata and text extraction
- exiftool - Metadata analysis and sanitization
- Ghostscript - PDF processing
- Tesseract OCR - Text recognition (for scanned PDFs)
- ocrmypdf - OCR processing
Community Rollup/Digest
Section titled “Community Rollup/Digest”Generate a summary of community activity over a time period, including questions, TILs, breakout rooms, links, files, videos, and more.
Basic usage:
!rollup: Weekly digest (default, all groups)!digest: Alias for !rollup!summary: Alias for !rollup
Time period options:
!rollup -d: Daily digest (last 24 hours)!rollup -m: Monthly digest (last 30 days)!rollup -t 7d: Custom time period (supports24h,7d,30d, etc.)
Scope options:
!rollup -c: Current group only (instead of all groups)!rollup --full: Detailed version with more information
Combined examples:
!rollup # Weekly digest, all groups!rollup -d -c # Daily, this group only!rollup -m --full # Monthly, detailed version!rollup -t 14d -c --full # Last 2 weeks, this group, detailedWhat’s included in the rollup:
| Section | Content |
|---|---|
| Questions & Answers | Questions asked, solved rate, top answerers, unanswered questions |
| Today I Learned | TILs shared with AI summaries |
| Breakout Rooms | Topics discussed, participants, action items, decisions |
| Tasks | Tasks created/completed, overdue items, top completers |
| Links Shared | Total links, social media, git repos, trending links |
| Videos Archived | Videos saved to video.irregularchat.com |
| Files Archived | Files saved to community archive by type |
| Announcements | Community announcements sent |
Today I Learned (TIL)
Section titled “Today I Learned (TIL)”Share knowledge and insights with the community.
Share a TIL:
!til <what you learned>: Share something you learned today.!til(reply to message): Save that message as a TIL.!til 5: Save last 5 messages as a TIL.!todayilearned <text>: Alias for !til.!learned <text>: Alias for !til.
View TILs:
!tils: List recent TILs from this group.!tils 10: List last 10 TILs.!tils -a: List TILs from all groups (community-wide).!tils -m: List only your TILs.!tils -a -m: List your TILs from all groups.!tils #42: View specific TIL by ID.!tils search <term>: Search TILs.!tils -a search <term>: Search across all groups.
Examples:
!til PostgreSQL EXPLAIN ANALYZE shows actual vs estimated rows!til You can use `git stash -p` to stash specific hunks!tils -a # All community TILs!tils -m # Your TILs in this group!tils -a -m # All your TILs everywhere!tils search postgres # Search TILsHow it works:
- TILs are saved with AI-generated summaries
- Included in community rollups (
!rollup) - Great for sharing quick insights without starting a full discussion
Utility & Fun
Section titled “Utility & Fun”!time: Show current time in various timezones.!flip: Flip a coin.!fact: Get a random interesting fact.!8ball <question>: Ask the magic 8-ball a question.!calc <expression>: Calculate a mathematical expression.!random <number>: Generate a random number.!cast: Cast a vote or make a random selection.!op-name [context] [-n 5]: Generate military-style operation names.!joke: Tell a random joke.!quote: Show an inspirational quote.!dicho: Show a random Spanish proverb (dicho).!meme: Post a random meme.!meme -c: Combine multiple memes into a crossfaded GIF.!kill [@user]: LEGO guillotine meme.
Reminders
Section titled “Reminders”Set reminders that the bot will deliver at the specified time. By default, reminders are delivered in the room where they were created.
Basic usage:
!remindme <when> <message>: Set a reminder (delivered in room).!remindme --dm <when> <message>: Set a private DM reminder.!reminders: List your pending reminders.!cancelreminder <id>: Cancel a reminder.
Time formats supported:
| Format | Example | Description |
|---|---|---|
| Relative | 30s, 30m, 2h, 1d, 1w | Seconds, minutes, hours, days, weeks from now |
| Combined | 2h30m, 3d12h | Multiple units together |
| Natural | in 2 hours | ”in X units” format |
| Tomorrow | tomorrow, tomorrow at 3pm | Next day (defaults to 9am) |
| Day names | monday, friday 2pm | Next occurrence of that day |
| Named times | tonight, noon, midnight | Common time references |
| Date + Time | 12/25 2:30pm, 12/25/2025 10:30am | US date format |
| Compact | 20251225, 20251225 1430 | YYYYMMDD format |
| Time only | 10:30am, 14:30 | Today or tomorrow |
Examples:
!remindme 30s Quick test!remindme 2h Check the build status!remindme --dm 1d Private reminder (DM only)!remindme tomorrow at 9am Team standup meeting!remindme friday 3pm Submit weekly report!remindme 12/25 10am Christmas morning reminder!remindme 1d (reply to a message to be reminded about it)Subscribe to reminders: React with any emoji to a reminder confirmation to also receive that reminder when it fires. Great for group events!
Timezone info: Times are shown in Eastern Time (ET) by default. Reference:
- Pacific (PT): ET - 3 hours
- Central (CT): ET - 1 hour
- Mountain (MT): ET - 2 hours
- Ukraine (EET): ET + 7 hours
Tips:
- Reply to any message with
!remindme <time>to be reminded about that specific message. - Maximum 20 pending reminders per user.
- Default delivery: Room (use
--dmfor private DM delivery).
!meme: Random meme from the library.!meme <#>: Get meme by number.!meme <title>: Get meme by title.!meme <title> <text>: Get meme with text overlay (supports @mentions).!meme library: List all URL memes with numbers.!meme list: List local file memes.!meme stats: Show meme usage statistics.!meme add <url> <title>: Add a meme from Giphy or Tenor.- Reply to image/GIF +
!meme add <title>: Add a meme from a replied attachment (full quality). !meme -h: Show meme help menu.
Adding Memes from Attachments:
Reply to any image or GIF in chat with !meme add <title> to save it to the meme library. The bot will:
- Use the original full-quality file (not the thumbnail preview)
- Automatically convert MP4 to GIF (Signal stores some GIFs as MP4)
- Upload to MinIO storage for permanent hosting
Note: Only images sent AFTER Dec 20, 2025 can be added via reply. Older images weren’t tracked in the database.
Combine Memes:
Create custom combo memes by combining multiple memes into one GIF with smooth crossfade transitions.
!meme -c <meme1> <meme2> [meme3...]: Combine memes (temporary).!meme -c -r <n>: Combine n random memes (2-10).!meme -c <memes> -n <name>: Combine and save permanently.!meme -c <memes> -t <text>: Combine with text overlay.!meme -c <memes> -n <name> -t <text>: Save with name and text.
Combine Examples:
!meme -c potato gasp awkward!meme -c -r 4!meme -c -r 3 -n random_trio!meme -c execute killlego soul -n death_combo!meme -c popcorn gasp -t "This is fine"!meme -c 1 2 3 -n my_combo -t @usernameMemes can be referenced by local meme ID (potato, gasp), database title, or number (#1, #2).
Shortcuts:
!kill: LEGO guillotine meme.!kill <text>: LEGO guillotine with text overlay.!kill @user: LEGO guillotine with user’s display name.
Admin only:
!meme trigger <#> <words>: Set trigger words for auto-reactions.!meme delete <#>: Delete a meme from the library.
Dice Game (Street Craps)
Section titled “Dice Game (Street Craps)”!dice @user1 @user2: Start a multiplayer game.!roll: Roll the dice.!pass: Pass the dice.!fade: Fade the dice.!points: Show player points.!leave: Leave the game.!endgame: End the game and remove all players.
Rock Paper Scissors
Section titled “Rock Paper Scissors”See Rock Paper Scissors for detailed documentation.
!rps @player: Challenge someone to RPS (game starts immediately).!rps -r/!rps --random: Play against a random recent active user.!rps quit: Quit current game (ends for both players).
!req @user: Alias for !request @user.!request @user: Initiate verification (see Member Onboarding).
Breakout Rooms
Section titled “Breakout Rooms”Create temporary focused discussion groups where participants can join via emoji reaction.
Basic usage:
!breakout <topic>: Create a focused discussion group.!breakout <topic> --broadcast: Create and announce to multiple groups.!breakout -q <hash>: Create/join question-focused breakout (see below).!broadcast <keywords>: Reply to a breakout announcement to share it with other groups.!breakouts: List active breakout rooms.!endbreakout: End your breakout room (generates AI summary, archives the room).
What happens when you create a breakout:
- Signal group is created with the topic name
- Group description shows topic, end time, and available commands
- Outline collaborative notes document is created automatically
- Each member receives a personal DM with:
- Topic and end time (in ET/CT/PT)
- Link to the Outline collaborative notes
- List of available commands
Question-Focused Breakouts:
!breakout -q <hash>: Create or join a breakout linked to a Q&A question.!breakout -q <hash> @user: Add users to existing active breakout (default behavior).!breakout -q <hash> --new: Force creation of a new breakout room.!breakout -q <hash> @user --new 1h: New room with user, 1 hour duration.
When a question already has an active breakout, !breakout -q adds mentioned users to the existing room instead of creating duplicates. Use --new or -n to force a new room.
Broadcasting to other groups:
Reply to a breakout announcement with !broadcast to share it:
!broadcast suas counter fpv: Broadcast to groups matching keywords (e.g., groups with “suas”, “counter”, or “fpv” in their names).!broadcast all: Broadcast to ALL groups.!broadcast: Broadcast to env-configured default groups.
During breakout:
!decision <text>: Record a decision.!action @person <task>: Assign an action item.!park <text>: Park topic for later discussion.!status: Check time remaining.!extend [min]: Request time extension (e.g.,!extend 30,!extend 1h).!complete: Mark action as done (reply to action message).
Ending breakout:
When you use !endbreakout:
- AI generates summary with decisions, action items, key insights
- Summary is posted to Discourse (if enabled)
- If linked to a Q&A question, context is added as an answer
- Summary is sent to the breakout group
- Group is renamed to “(archived) {topic}” for searchability
- Archive delay (2 min default): Users are notified and given time to save info
- Members are removed and bot leaves the group
Options:
- Duration:
15m,30m,45m,1h,2h,3h,6h,1d(default: 3h, max: 7 days) - Types:
type:brainstorm,type:decision,type:planning,type:retro,type:problem - Privacy:
privacy:public,privacy:private,privacy:summary_only(default) - Broadcast:
--broadcastor-bto announce to multiple configured groups - Force new room:
--newor-n(for question breakouts only)
Examples:
!breakout API Design 30m!breakout Sprint Planning @alice @bob 1h type:planning!breakout Community Discussion --broadcast!breakout Weekly Sync 3h type:planning!breakout -q GZ2QCC @expert # Add expert to existing Q breakout!breakout -q GZ2QCC --new # Force new room for questionHow broadcast works:
When using --broadcast, the breakout announcement is sent to multiple groups configured by admins. Users from any of those groups can react with an emoji to join the breakout room.
Integration with Q&A:
- Use
!breakout -q <hash>or!answer <hash> --breakoutto create a breakout linked to a question - When the breakout ends, the AI summary is automatically added as context to the question
- The forum link is also attached to the question
- Multiple experts can be brought into ongoing discussions without duplicate rooms
Room Settings (Admin)
Section titled “Room Settings (Admin)”Admins can customize per-room feature settings. Use !room to view all current settings.
Master Control:
!room bot on/off: Master switch - disable ALL bot features in this room (except!roomitself).
Content Features:
!room archive on/off: Toggle auto-archive for files shared in this room.!room tldr on/off: Toggle auto-TLDR summaries for archived PDFs.!room ai on/off: Toggle AI features (!ai,!tldr,!summarize, etc.).!room news on/off: Toggle news summarizer (auto-posts news articles to forum).!room tracker on/off: Toggle URL tracker removal (strips tracking params from shared links).
Entertainment Features:
!room meme on/off: Toggle the!memecommand.!room memereact on/off: Toggle auto meme reactions (bot responds to trigger words with memes).!room dice on/off: Toggle the!dicegame.!room rps on/off: Toggle Rock Paper Scissors (!rps).
Translation:
!room translate on <language>: Auto-translate non-target-language messages in this room.!room translate off: Disable auto-translate.
Tips:
- When
botis OFF, only!roomcommands work (so admins can re-enable) - Settings are per-room, so you can have different configs in different groups
- All features default to ON when a new room is added
Member Onboarding (see Member Onboarding):
!invite: Start invite process (adds voucher to Entry/INDOC).!request @user: Initiate verification with caller as voucher.!request -nv @user: Initiate verification without vouching (admin use).!gtg @user: Manually approve user (Good To Go) - creates SSO + adds to groups.!pending: Show pending verification requests & safety number changes.
User Management:
!addto <group#|keywords|-c category> @user: Add users to group(s) (admin only).!sc: Show pending requests & safety number changes.!sn @user: Trigger safety number verification for a user. Use when auto-detection fails or to force re-verification.!sngtg @user: Mark a user’s safety number as verified (Good To Go). Use when identity is already verified (e.g., in person/DM).!trust @user: Trust a user’s Signal identity.!remove @user: Remove a user from all groups.!clearroom confirm: Remove all non-admins from the current group.!reminders all: List all pending reminders system-wide (admin only).!deletereminder <id>: Delete any reminder by ID (admin only).
Group Management:
!groups --all: Show ALL groups (approved and unapproved).!addgroup: Approve current group for the!groupslisting (run IN the group).!removegroup <#|name>: Remove a group from the approved list.!category add <category>: Add current group to a category.!category remove <category>: Remove current group from a category.!refreshgroups: Force refresh group cache from signal-cli.
Group Visibility (Whitelist):
By default, groups are NOT shown in !groups. Admins must run !addgroup inside a group to approve it for community visibility. This is a security measure to prevent test groups or private groups from appearing in public listings.
Career Board (!job):
All career board commands are unified under !job <subcommand>:
| Command | Description |
|---|---|
!job | Show all career board subcommands |
!job post <description> | Post an opportunity (AI extracts details from free-form text) |
!job search [keywords] [--remote] | Search active job listings |
!job seek <skills/goals> | Set up your career profile (AI-assisted) |
!job detail <id> | View full details of a job listing |
!job profile | View/edit your career profile |
!job profile set <field> <value> | Update a profile field (title, skills, clearance, location, military, bio) |
!job seeking | Set your availability to “actively looking” |
!job hiring | Set your availability to “hiring” |
!job mine | List your posted job listings |
!job fill <id> | Mark a job listing as filled |
Posting an opportunity:
!job post Senior pen tester at CrowdStrike in Austin, TS/SCI, remote OK. john@crowdstrike.com!job post Title | Company | Location | Clearance | Contact | DescriptionThe bot uses AI to extract job details from free-form text. If any required fields are missing (title, company, contact), the bot DMs you to collect them one at a time, then shows a preview for confirmation before posting.
Setting up a career profile:
!job seek cybersecurity, python, kubernetes. TS/SCI. Veteran. Looking for remote work.!job seek help me set up my profileCareer profiles are visible only to verified community members. Visit https://jobs.irregulars.io/my/profile to edit your full profile.
Admin only:
!backfill-profiles [--dry-run]: Batch-create draft career profiles from stored intro text. See Admin Commands.
Web interface: https://jobs.irregulars.io
SSO Account Management
Section titled “SSO Account Management”!createuser @user email: Create an SSO account for a mentioned user.!createuser email name: Create an SSO account with a name.!accountinvite [hours] [-c 1]: Create an SSO invite link.
Announcements
Section titled “Announcements”!announce [groups] [-t time] [-dm] message: Announce a message.!announcements: List pending announcements.!cancelannounce <id>: Cancel a scheduled announcement.
Translation
Section titled “Translation”See Translation for full documentation.
On-demand translation:
!translate <language> <text>: Translate text to a language.!tr <language>: Reply to a message to translate it.!tr <text>: Translate to English (default).
Babel Fish relay (any user):
!trelay <my_lang> <room#/name>: Create a relay for yourself (group defaults to English).!trelay <my_lang> <group_lang> <room#/name>: Specify both languages.!trelay <my_lang> <group_lang> <room#/name> @user1 @user2: Multi-user relay room.!trelay --anon <my_lang> <room#/name>: Anonymous relay (group names instead of display names).!relay end: End your relay (in relay room).- Aliases:
!request_t,!reqt
Translation admin:
!relay status: List active relays (admin).!relay end @user: End another user’s relay (admin).!room translate on <language>: Auto-translate non-target-language messages (admin).!room translate off: Disable auto-translate (admin).