Skip to content

Command Reference

Complete reference for every Solstice command, organized by module. Each entry includes the command syntax, required permission level, and behavior description.

Permission Levels

Solstice has a hierarchical permission system. Higher levels include all permissions of lower levels.

LevelWhoScope
OwnerSingle user set via OWNER_ID env varGlobal - unrestricted access to everything
SudoerUsers added via /addsudoGlobal - can use sudo commands across all chats
Group AdminTelegram group administrators + creatorsPer-chat - can use admin and music commands
Authorized UserUsers added via /auth per-chatPer-chat - can use music playback commands
EveryoneAll users (when playmode is set to everyone)Per-chat - can use basic play commands

Music & Playback

Playing Music

CommandPermissionDescription
/play <query|URL>Everyone*Search YouTube and stream audio in VC. Accepts: search queries, YouTube URLs, Spotify track links
/vplay <query|URL>Everyone*Stream video in VC (with picture). Same input as /play
/playforce <query|URL>AdminForce-play audio immediately, clearing the current queue
/vplayforce <query|URL>AdminForce-play video immediately, clearing the current queue
/song <query>EveryoneDownload a song and send as audio file
/lyrics <query>EveryoneFetch song lyrics from LrcLib API
/suggest <query>EveryoneShow 8 song suggestions with inline play buttons

*When playmode is set to everyone (default). When set to admin, only admins can play.

Playback Control

CommandPermissionDescription
/pause (or /cpause)AdminPause the current stream
/resume (or /cresume)AdminResume a paused stream
/stop / /end (or /cstop / /cend)AdminStop playback and clear the queue
/sleep <duration> (or /csleep <duration>)AdminSet a sleep timer to stop playback automatically (e.g., 30m, 1h or off to disable)
/skip [N] (or /cskip [N])AdminSkip N songs (default: 1). Normal users trigger vote-skip
/seek <seconds> (or /cseek)AdminSeek forward by N seconds
/seekback <seconds> (or /cseekback)AdminSeek backward by N seconds
/volume <1-200> (or /cvolume <1-200>)AdminSet audio playback volume
/speed (or /cspeed)AdminOpen speed control panel (0.5x to 2.0x)
/loop <1-10> (or /cloop <1-10>)AdminLoop current song N times
/shuffle (or /cshuffle)AdminRandomly shuffle the queue
/remove <index> (or /delq <index>)AdminRemove a specific track from the queue by its index position
/queue [page] (or /cqueue)EveryoneView paginated queue (5 songs per page)

Playlists

All configuration subcommands are DM-only, while playback is restricted to group chats.

CommandPermissionDescription
/playlistEveryoneOpen the interactive playlist settings panel (DM only)
/playlist create <name>EveryoneCreate a new custom playlist (DM only, limit 1 per user)
/playlist delete <name>EveryoneDelete a playlist (DM only)
/playlist listEveryoneList all of your playlists (DM only)
/playlist show [name]EveryoneView all tracks in a playlist (DM only, name is optional)
/playlist add [name] <song/link>EveryoneAdd a track to a playlist (DM only, name is optional)
/playlist remove [name] <track_number>EveryoneRemove a track from a playlist (DM only, name is optional)
/playlist clear [name]EveryoneRemove all tracks from a playlist (DM only, name is optional)
/playlist rename <old_name> <new_name>EveryoneRename a playlist (DM only)
/playlist share [name] <public|private>EveryoneSet privacy settings (DM only, name is optional)
/playlist play [name]EveryonePlay your playlist in a group voice chat (Group only, name is optional)
/playlist play <@username/user_id> <name>EveryonePlay another user's public playlist (Group only)

Playback Settings

CommandPermissionDescription
/autoplay (or /cautoplay)AdminToggle autoplay - auto-queues related songs when queue empties
/playcard (or /cplaycard, /cards)AdminToggle "Now Playing" cards in the chat
/playmode (or /mode)AdminToggle between everyone and admin play permissions
/setvotes <1-20>AdminSet number of votes required for vote-skip
/voteskipEveryoneCast a vote to skip the current song
/channelplay <linked|channel_id>AdminConnect VC playback to a channel instead of the group

Now Playing Card Controls

When a song starts playing, an inline keyboard is sent with these buttons:

ButtonSymbolAction
ResumeResume paused stream
PauseIIPause current stream
LoopCycle loop: Off → 1x → 2x → 3x → Off
Skip‣‣ISkip to next song
StopStop playback and clear queue
Vote Skip👍 N/TVote to skip (N = current votes, T = threshold)

Group Management

Ban Module

CommandPermissionDescription
/ban [user] [reason]AdminPermanently ban a user. Target via reply, @username, or user ID
/tban [user] <duration>AdminTemporarily ban. Duration format: 5m, 2h, 3d
/dbanAdminDelete replied message AND ban user
/sbanAdminSilent ban (bans target and deletes command message without sending chat reply)
/sdban / /dsbanAdminSilent delete & ban (deletes replied message + command message, silent execution)
/stban / /dtban / /sdtbanAdminSilent and/or delete variants for temporary bans
/unban [user]AdminUnban a previously banned user

Mute Module

CommandPermissionDescription
/mute [user] [reason]AdminPermanently mute a user (revoke send permissions)
/dmute [user]AdminDelete replied message AND mute user
/smute [user]AdminSilent mute (mutes target and deletes command message without sending chat reply)
/sdmute / /dsmuteAdminSilent delete & mute (deletes replied message + command message, silent execution)
/tmute [user] <duration>AdminTemporarily mute. Duration format: 10m, 1h, 2d
/stmute / /dtmute / /sdtmuteAdminSilent and/or delete variants for temporary mutes
/unmute [user]AdminUnmute a muted user (restore default permissions)

Kick Module

CommandPermissionDescription
/kick [user]AdminKick a user (they can rejoin via invite link)
/dkick [user]AdminDelete replied message AND kick user
/skick [user]AdminSilent kick (kicks user and deletes command message without sending chat reply)
/sdkick / /dskickAdminSilent delete & kick

Message Management

CommandPermissionDescription
/delAdminDelete the replied-to message
/purgeAdminDelete all messages from the replied message to the command message
/spurgeAdminSilent purge - same as /purge but no confirmation message
/pinAdminPin the replied message (silently)
/unpinAdminUnpin the replied message
/unpinallAdminUnpin all messages (with confirmation dialog)

Admin Promotion

CommandPermissionDescription
/promote [user] [title]AdminPromote user to admin with basic permissions
/fullpromote [user] [title]AdminPromote with all available permissions (matches bot's own)
/demote [user]AdminRemove all admin permissions from a user
/setadmintitle [title]AdminSet custom admin title (reply to admin, max 16 chars). Alias: /admintitle

Warning System

CommandPermissionDescription
/warn [user] [reason]AdminIssue a warning. Auto-actions at limit (default: 3 warns)
/dwarn [user] [reason]AdminDelete replied offending message AND issue warning (warning notification remains visible)
/unwarn [user]AdminRemove the latest warning
/warns [user]EveryoneCheck a user's warning count and history
/setwarnmode <ban|mute|kick>AdminSet action taken when warn limit is reached

Authorization

CommandPermissionDescription
/auth [user]AdminAuthorize a user to use music commands (max 25 per chat)
/unauth [user]AdminRemove a user's authorization
/authlistAdminList all authorized users for the current chat

Locks

CommandPermissionDescription
/lock <type>AdminLock a message type: url, media, bot, forward, game, sticker, gif, inline, poll
/unlock <type>AdminUnlock a previously locked type
/locksAdminShow current lock status for all types

Welcome System

CommandPermissionDescription
/welcome <on|off>AdminEnable/disable welcome messages
/setwelcome <text>AdminSet custom welcome message. Supports {name}, {chat}, {mention} placeholders
/clearwelcomeAdminClear the custom welcome message

Rules

CommandPermissionDescription
/setrules <text>AdminSet group rules
/rulesEveryoneDisplay group rules

Member Tagging

CommandPermissionDescription
/tagall [message]AdminMention all group members (sends in batches with delay)
/cancelAdminCancel an in-progress /tagall operation

Approvals (Lock Bypass)

CommandPermissionDescription
/approve [user]AdminApprove a user to bypass chat locks
/unapprove [user]AdminRemove approval
/approvedAdminList all approved users

Sudo Commands

These commands are restricted to the bot Owner and Sudoers.

User Management

CommandPermissionDescription
/addsudo [user]Owner onlyAdd a user to the global sudoers list
/delsudo [user]Owner onlyRemove a user from sudoers
/sudolistSudoerList all sudoer user IDs
/gban [user]SudoerGlobally ban a user across all served chats (async)
/ungban [user]SudoerRemove a global ban
/block [user]SudoerBlock a user from using the bot entirely
/unblock [user]SudoerUnblock a user
/blockedSudoerList all blocked users

Chat Management

CommandPermissionDescription
/blacklistchat <chat_id>SudoerBlacklist a chat from using the bot
/whitelistchat <chat_id>SudoerRemove a chat from the blacklist
/blchatsSudoerList all blacklisted chats
/activevc or /vcSudoerList all chats with active audio voice chats
/activevideo or /vvcSudoerList all chats with active video voice chats
/ac or /avSudoerSummary of active audio + video stream counts

Bot Control

CommandPermissionDescription
/broadcast <text>SudoerBroadcast a message to all served chats and users
/maintenance <enable|disable>SudoerToggle maintenance mode (disables all commands for non-sudoers)
/logger <enable|disable>SudoerToggle activity logging
/autoendSudoerToggle auto-leave when voice chat becomes empty
/reboot or /restartOwner onlyRestart the bot process
/setcookiesOwner onlySet YouTube cookies (reply to a text message or .txt file)
/checkcookiesOwner onlyValidate current YouTube cookies against YouTube

Utility Commands

CommandPermissionDescription
/q / /qr / /rEveryoneGenerate a quote sticker with user profile picture (PFP) from replied message
/pingEveryoneCheck bot latency and system stats (uptime, RAM, CPU, disk, PyTgCalls ping)
/statsEveryoneBot-wide statistics (served chats, users, database size)
/afk [reason]EveryoneSet yourself as AFK. Bot will notify others who mention you
/whois or /infoEveryoneGet information about a user
/owner or /creatorEveryoneShow bot developer information
/idEveryoneGet Telegram IDs (chat ID, user ID, message ID)
/reload or /admincacheEveryoneRefresh the admin cache (3-minute cooldown per chat)
/language or /langAdminSet chat language (currently English)
/tr [lang_code]EveryoneTranslate the replied message (via Google Translate). Default: en
/kangEveryone"Kang" (steal) a sticker to your personal sticker pack

Fun Commands

Interactive Reactions (with Accept/Reject)

These commands require replying to another user's message:

CommandDescription
/hugSend a hug request (with anime GIF from nekos.best)
/kissSend a kiss request
/cuddleSend a cuddle request
/proposePropose to someone (💍)

The target user sees Accept / Reject buttons. Only they can respond.

One-Way Actions

CommandDescription
/slapSlap someone (anime GIF)
/killEliminate someone (anime GIF)
/crushRandomly pick a "secret crush" from group admins

Mood Commands

CommandDescription
/cry, /blush, /smile, /happy, /dance, /bullyExpress emotions with anime GIFs. Can target someone via reply

Games & Misc

CommandDescription
/truthRandom truth question
/dareRandom dare challenge
/couples or /couplePick two random admins as "couple of the day" (with composite profile picture image)
/wish <text>Make a wish - get a random probability score
/cuteCheck how cute you (or replied user) are (random %)
/fonts <text>Convert text to stylish/fancy fonts with pagination
/tts <text>Convert text or replied message into speech audio (.mp3)

Whisper (Inline Mode)

Whisper lets users send secret messages that only the target can read, using Telegram's inline mode:

@BotUsername <@user|user_id> <message>

Types:

  • Normal Whisper - Target can open it multiple times
  • One-Time Whisper - Message self-destructs after the target reads it

Both sender and target can view the whisper. Anyone else who tries will get denied and the sender will be notified.


Target User Resolution

For commands that act on a user (ban, mute, promote, etc.), the target is resolved in this order:

  1. Reply - Reply to a user's message
  2. Text mention - Mention with user entity in the message
  3. @username - First word of the payload as a username
  4. Numeric ID - First word of the payload as a Telegram user ID

Example equivalents:

/ban                  ← reply to target's message
/ban @username        ← by username
/ban 123456789        ← by user ID
/ban @username reason ← with reason

Released under the GPL-3.0 License.