Chameleon Labs Help - Moderator Commands

Chameleon Labs Discord Help | Join us: discord.gg/chameleonlabs
Mention @ChatMaster in any channel to start a free AI conversation powered by leading models from OpenAI, Anthropic, and Google.

Access Required: These commands require Manage Roles and/or Manage Channels permissions on your Discord server. The specific permission needed is listed with each command below. Available permissions vary by guild/server configuration.

AI

/llm export

Export LLM history for a user to CSV (admin/mod only).

Exports a CSV containing LLM prompts and replies for the selected user, with optional date filters. Sent as an ephemeral message.

Examples:

/llm export user:@someone

/llm export user:@someone limit:500

/llm export user:@someone start:2025-09-01 end:2025-09-30

/llm history

Show LLM message history for a user (admin/mod only).

Moderators and admins can view recent LLM prompts and replies for a specific user with optional date filters. Content is truncated for display.

Examples:

/llm history user:@someone

/llm history user:@someone limit:100

/llm history user:@someone start:2025-09-01 end:2025-09-30

/llm models_refresh

Refresh model list from web (admin/mod only).

Uses LLM with web search to check for new models from each provider (OpenAI, Anthropic, Google) and updates the local model registry. Results are saved to data/llm_models.json.

👥 Manage Roles

Examples:

/llm models_refresh

/personality edit

🤖 Edit an existing AI personality profile (admin/mod only).

Modify any aspect of an existing personality. Use autocomplete to select the personality to edit.

Examples:

/personality edit personality:Sysop description:Even grumpier BBS admin

/personality edit personality:Helper temperature:0.9

Private Area

/invite_channel

Directly grant a member access to a private channel (no link needed).

Directly adds a specific member to the channel by granting them view and write permissions. The member will be notified via DM. This does NOT create an invite link - it immediately grants access to the specified user.


Use this when: You want to add a specific member to your private channel


Requirements: You must be the channel owner (created via /mychannel) or a moderator/admin.

Examples:

/invite_channel user:@user

/invite_channel user:@user channel:#private-foo

/uninvite_channel

Remove a member's access from your private channel.

Removes a member's explicit permission override from the channel, revoking their access. The member will be notified via DM. This only removes direct permission overwrites - if they have access through a role, you'll need to manage that separately.


Use this when: You want to revoke a specific member's access to your private channel


Requirements: You must be the channel owner (created via /mychannel) or a moderator/admin.

Examples:

/uninvite_channel user:@user

/uninvite_channel user:@user channel:#private-foo

BBS

/bbs_admin

BBS administration commands (admin/mod only).

Administrative commands for BBS contest management. Requires moderator or admin permissions.


Subcommands:

  • /bbs_admin contest_create <title> <desc> [end] [prizes] [goal] - Create a contest
  • /bbs_admin contest_create_goal <title> <desc> <goal> <target> - Create goal-based contest
  • /bbs_admin contest_edit <contest> [fields...] - Edit a contest (by title or ID)
  • /bbs_admin contest_end <contest> - End a contest and announce winners

Contest Goal Types:

  • Traditional - Most commands wins (default)
  • First to ALL 🎯 - First to use all user-level commands (auto-wins!)
  • First to Group 🎯 - First to complete all commands in a category
  • First to Count 🎯 - First to reach N total commands

Available Command Groups: bbs, social, games, private, channel, llm, personality, memory, privacy, repo, utility, news, keys


Creating Goal-Based Contests:

  1. Use /bbs_admin contest_create with goal: to select type
  2. For group/count goals, use /bbs_admin contest_create_goal with target:
  3. Goal quests auto-complete when someone achieves the goal!

Contest Scoring:

  • Only user-level commands count (mod/admin commands excluded)
  • Admins and moderators are excluded from rankings
  • Goal quests announce winner automatically when achieved

Tips:

  • Use contest title or ID (with autocomplete) for editing
  • Leave prizes empty for 'Bragging rights'
  • Use 'clear' to remove end_date or prizes
👥 Manage Roles

Examples:

/bbs_admin bind channel:#general

/bbs_admin unbind channel:#general

/bbs_admin list

/bbs_admin contest_create title:'Weekly Challenge' description:'Most active user wins!' end_date:'2025-12-01'

/bbs_admin contest_create title:'Command Master' description:'First to use all commands!' goal:'First to use ALL commands'

/bbs_admin contest_create_goal title:'Social Butterfly' description:'Master all social commands!' goal:'First to complete a group' target:'social'

/bbs_admin contest_create_goal title:'Speed Run' description:'First to 100 commands!' goal:'First to reach N commands' target:'100'

/bbs_admin contest_end contest:'Art Comp'

/poll add_image

Add an image to a poll option (for image voting).

Attach an image to a poll option. Only works on draft polls. Images are stored temporarily until the poll is published.

Examples:

/poll add_image poll:1 option_number:1 image:<upload>

/poll close

Close a poll and optionally announce results.

Closes a published poll, preventing further votes. Can optionally announce final results.

Examples:

/poll close poll:1

/poll close poll:1 announce:false

/poll create

Create a new poll (draft mode by default).

Create a poll with multiple options. Polls start in draft mode so you can add images before publishing. Use /poll publish to make it live.

Examples:

/poll create title:'Favorite color?' options:'Red, Blue, Green'

/poll create title:'Best feature?' options:'A, B, C' poll_type:multiple max_choices:2

/poll create title:'Quick vote' options:'Yes, No' hours:24 publish:true

/poll delete

Permanently delete a poll.

Delete a poll and all its votes. Cannot be undone.

Examples:

/poll delete poll:1

/poll edit

Edit poll title, description, or end date.

Modify poll settings. Works on draft and published polls.

Examples:

/poll edit poll:1 title:'New Question?'

/poll edit poll:1 hours:48

/poll list

List all polls in the server.

View all polls with their status, type, and end dates.

Examples:

/poll list

/poll list status:draft

/poll publish

Publish a draft poll to open voting.

Publishes a draft poll, posting the announcement message and opening it for voting.

Examples:

/poll publish poll:1

/poll remove_image

Remove an image from a poll option.

Remove a previously added image from a draft poll option.

Examples:

/poll remove_image poll:1 option_number:2

/poll results

View poll results (respects visibility settings).

View current poll results. Visibility depends on poll settings: always, after voting, or after close.

Examples:

/poll results poll:1

/wall

Broadcast a message to all users (admin/mod only).

Classic Unix 'wall' command. Posts a system-wide message in the channel visible to all members. Requires moderator permissions.

👥 Manage Roles

Examples:

/wall message:'Server maintenance in 10 minutes!'

Keys

/channel check

Check if you have the required key to access a channel.

Checks whether you have the necessary key to join a protected channel.

Examples:

/channel check channel:#private-foo

/channel remove_key

Remove key requirement from a channel (admin/mod only).

Removes the key requirement from a protected channel, allowing normal access rules.

Examples:

/channel remove_key channel:#private-foo

/channel require_key

Set or show a key requirement for a channel (admin/mod only).

Protects a channel by requiring users to have a specific key to join it. Omit the key parameter to see the current requirement.

Examples:

/channel require_key channel:#private-foo

/channel require_key channel:#private-foo key:vip_access

/key grant

Grant a capability key to a member.

Grants a permanent key (capability) such as 'invite_all'. By default, keys have unlimited uses and never expire. You can optionally limit uses or set a time-to-live. Special keys: 'noai' denies access to all LLM chatbot features. Requires Manage Roles. Guild-only; moderator/admin only.

👥 Manage Roles

Examples:

/key grant user:@user key:invite_all

/key grant user:@user key:channel_invite uses:5 minutes:1440

/key grant user:@user key:noai

/key revoke

Revoke a key from a member.

Removes a previously granted key (including special keys like 'noai'). Requires Manage Roles. Guild-only; moderator/admin only.

👥 Manage Roles

Examples:

/key revoke user:@user key:invite_all

/key revoke user:@user key:noai

Assets

/asset_upload

Upload a named ANSI/SVG asset (admin/mod only)

Stores the attached file under the given name with automatic versioning. Requires moderator permissions or an ANSI key.

Examples:

/asset_upload name:rrose file:rose.gif type:ansi

/asset_upload name:logo file:logo.svg type:svg

Reports

/report_admin user_list

List user reports

View user reports submitted by server members. Filter by status or reported user.

Examples:

/report_admin user_list

/report_admin user_list status:Open

/report_admin user_list user:@someone

/report_admin user_resolve

Resolve a user report

Update the status of a user report. Mark as reviewed, dismissed, or actioned.

Examples:

/report_admin user_resolve report_id:123 action:Reviewed

/report_admin user_resolve report_id:123 action:Actioned notes:'Warned the user'

/report_admin user_view

View a user report's details

View the full details of a specific user report by ID.

Examples:

/report_admin user_view report_id:123

/reports alerts

Manage report notification DM alerts (admin/mod).

View or change your report alert subscription preferences. Project reports (from /report project): Admins get DM alerts by default, mods do not. User reports (from /report user): Both admins and mods get DM alerts by default. You can subscribe, unsubscribe, or reset to default behavior.

Examples:

/reports alerts

/reports alerts project_reports:Subscribe

/reports alerts user_reports:Unsubscribe

/reports alerts project_reports:Subscribe user_reports:Subscribe

/reports export

Export GitHub issues to a Markdown document (admin/mod only).

Generates a Markdown listing of GitHub issues with metadata; use filters to scope the export.

👥 Manage Roles

Examples:

/reports export

/reports export state:Closed

/reports export label:Bug limit:50

Administration

/channel exclude

Exclude a channel from bot responses.

Prevents the bot from responding to any messages in the specified channel. Useful for channels where you don't want AI chatbot interactions. Requires administrator or moderator permissions.

🔧 Manage Channels

Examples:

/channel exclude

/channel exclude channel:#general

/channel include

Re-enable bot responses in an excluded channel.

Removes a channel from the exclusion list, allowing the bot to respond again. Requires administrator or moderator permissions.

🔧 Manage Channels

Examples:

/channel include

/channel include channel:#general

/emulate

Emulate lower-access user permissions for testing (admin/mod only).

🎭 Permission Emulation System


Allows admins and moderators to test the bot experience as different user types. This affects BOTH what commands the bot suggests AND what commands you can execute.


Modes:

  • on/user - Emulate regular user (no special permissions)
  • moderator - Emulate moderator (admins only)
  • off - Restore real permissions
  • status - Show current emulation state

Advanced:

  • /emulate user @username - Emulate specific user (admins only)

ADMIN_OVERRIDE:

Include the text 'ADMIN_OVERRIDE' (case-sensitive) in any message to see admin/mod commands in bot responses, even while emulating. Command execution still uses emulated permissions.


Examples:

  • /emulate on - Start emulating regular user
  • /emulate status - Check current mode
  • /emulate off - Restore admin permissions
  • @bot show me admin commands ADMIN_OVERRIDE - See admin commands while emulating

Note: The /emulate command itself is always available (your escape hatch).

Examples:

/emulate on

/emulate off

/emulate status

/emulate moderator

/emulate user target:@user

/private category

Show the current default private category.

Displays which category new private channels will use by default.

🔐 Administrator 🔧 Manage Channels

Examples:

/private category

/role add

Make a role self-assignable (admin).

Adds a role to the list users can self-assign. Cannot add roles with admin permissions. The bot's role must be higher than the target role.

👥 Manage Roles

Examples:

/role add role:AI Coding

/role add role:Art or Music description:For creative people

/role remove

Remove a role from self-assignable list (admin).

Removes a role from the self-assignable list. Users who already have the role will keep it.

👥 Manage Roles

Examples:

/role remove role:AI Coding