Repository navigation
Chansets
A chanset is a named per-channel capability. CHANSET_LIST registers available names; CHANNEL_SET stores which names are enabled on which channels.
Registration is not activation. In the current schema every listed capability exists in CHANSET_LIST, so an absent CHANNEL_SET row should be treated as disabled unless a specific feature explicitly documents another compatibility behavior.
!features
!help chansets
!chanset #channel +Games
!chanset #channel -Games
Changing a chanset requires an authenticated global Administrator or per-channel level 450+. The runtime invalidates its chanset cache after a successful change; direct SQL edits do not provide the same operational contract.
| Chanset | Purpose and dependencies |
|---|---|
Youtube |
YouTube URL metadata; requires outbound HTTP and the YouTube integration. |
UrlTitle |
Generic URL, Instagram, Spotify, Facebook and X/Twitter title handling where supported. |
Weather |
!weather / !meteo via the configured external weather path. |
YoutubeSearch |
!yt search; normally requires a YouTube API key. |
NoColors |
Removes IRC colour output where the feature honors this setting. |
AntiFlood |
Enables per-channel input anti-flood policy; tune with !antifloodset. |
Hailo |
Master switch for the per-channel Hailo brain. |
HailoChatter |
Allows unsolicited Hailo chatter; still requires +Hailo. |
RadioPub |
Publishes selected radio announcements; separate from public request authorization. |
Twitter |
Legacy capability name retained for compatibility; current X/Twitter previews use +UrlTitle. |
chatGPT |
Enables !tellme when [openai] is configured. |
AppleMusic |
Enables Apple Music link enrichment. |
RandomQuote |
Enables scheduled channel quotes; tune with randomquote (15m–7d), which does not itself enable the switch. |
Claude |
Enables channel !ai/Claude behavior when [anthropic] is configured. |
AchievementAnnounce |
Announces achievement unlocks publicly; unlock persistence can continue without announcements. |
Games |
Enables !duel, !horoscope, !compat and !quotegame. |
ChannelReport |
Enables scheduled channel reports when report scheduling is configured. |
DidYouMean |
Enables typo suggestions for unknown commands. |
Factoids |
Enables !learn, !whatis, !forget, !factoids, !factoid and ?keyword. |
OnThisDay |
Enables !onthisday, !otd and history-memory behavior. |
OnThisDayDigest |
Enables the scheduled daily on-this-day channel post. |
LangFR |
Forces French for channel-aware features. Do not combine with LangES; French wins if both are present. |
LangES |
Forces Spanish for channel-aware features. Otherwise [main] LANG is the fallback. |
Wit |
Development: gentle proactive conversational observation; also requires global/provider send authorization. |
Spark |
Development: main Spark micro-event lane; also requires SPARK_SEND_ARMED=1. |
VDM |
Enables manual and eligible Spark-assisted VDM content. |
DansTonChat |
Enables !dtc and !bashfr. |
SparkAction |
Development: short activity/momentum lane; requires +Spark and SPARK_ACTION_SEND_ARMED=1. |
HailoLearn |
Allows learning for a channel with +Hailo. |
HailoRespond |
Allows direct replies for a channel with +Hailo. |
Gemini |
Enables !gemini when [gemini] is configured. |
Fullop |
Keeps an intentionally open channel operated according to the Fullop policy; the bot must have the required IRC privileges. |
Quip |
Development: sharper contextual wit; shares the Wit/Quip provider and reply budget. |
Radio |
Development: authorizes public shared-radio requests on the channel; requires the central radio API. |
For any provider-backed or proactive feature:
- apply the official migration if upgrading an older database;
- synchronize configuration and run strict database drift checks;
- validate credentials/dependencies without exposing secrets;
- keep global send gates disabled until the dry path passes;
- enable the chanset on one selected pilot channel;
- observe
mediabot.logand live IRC behavior; - expand only after the pilot is stable.
| Feature | Required combination |
|---|---|
| Hailo learning only | +Hailo +HailoLearn -HailoRespond -HailoChatter |
| Hailo direct replies |
+Hailo +HailoRespond; add +HailoLearn to keep learning |
| Hailo chatter |
+Hailo +HailoRespond +HailoChatter and reviewed [hailo] pacing |
| Gemini |
[gemini] credentials plus +Gemini
|
| Spark long-silence lane | provider configuration, SPARK_SEND_ARMED=1, +Spark
|
| Spark activity lane | Spark prerequisites plus SPARK_ACTION_SEND_ARMED=1, +SparkAction
|
| Quip | provider auto-selection plus +Quip; optional +Wit gives mixed mode |
| Public radio requests | central radio API config plus +Radio
|
Read-only inspection:
SELECT c.name AS channel, cl.chanset
FROM CHANNEL_SET cs
JOIN CHANNEL c ON c.id_channel = cs.id_channel
JOIN CHANSET_LIST cl ON cl.id_chanset_list = cs.id_chanset_list
ORDER BY c.name, cl.chanset;Use the IRC !chanset command for changes. It applies authorization, side effects, logging and cache invalidation.
!chanset #channel +RandomQuote
!randomquote #channel every 3h
!randomquote #channel status
!chanset #channel -RandomQuote
Frequency changes require logged-in Administrator+ or channel 450+. The default is the valid configured quote timer or 3h. randomquote ... default removes only the interval override. See all quote options. RSS pacing is configured with rss limit, independently from RandomQuote.
Mediabot v3 documentation · Home · Installation · Commands · Troubleshooting · GitHub
- Start: notation and parameters
- Public commands
- Complete command reference
- Private and admin commands
- News and RSS
- Quotes and automatic quotes
- Dynamic commands
- AI and Hailo
- Access levels
- Chansets