Skip to content

Commands channels

Teuk edited this page Oct 6, 2026 · 1 revision

Channels and moderation

Reviewed against Mediabot 3.6dev-20261006_084503 (snapshot of 6 October 2026). This is the development-line reference; consult the tagged source for stable-release behaviour.

Examples use !; replace it with the configured trigger (m, #, etc.). See notation, transport and permissions. Each entry names its registered IRC surfaces; a handler accepting a private context does not itself make a name callable by PM. Plugin and dynamic-command policy may add restrictions.

On this page

add · addbadword · addchan · antifloodset · ban · bans · chaninfo · chanlist · channellist · channels · chanset · del · deop · devoice · ignore · ignores · invite · join · kb · kick · kickban · nicklist · op · part · purge · rembadword · rnick · tmdblangset · topic · unban · unignore · voice

add

Add or update a user access level on a channel.

Access: Authenticated Administrator+ or channel 400+. IRC surfaces: channel + private message.

!add #channel <nick> <level>

Targets a Mediabot handle already known to the bot. Level is an integer 0–500; the handler enforces caller/target hierarchy and prevents equal-or-higher grants.

addbadword

Add a badword filter entry for a channel.

Access: Master+. IRC surfaces: channel.

!addbadword #channel <word>

Supply the target channel and one badword token. Requires the bot’s channel object and the command’s privilege checks.

addchan

Add a channel to the bot configuration.

Access: Administrator+. IRC surfaces: channel + private message.

!addchan <#channel> <handle>

Both arguments are required. Links the new channel to an existing Mediabot handle. Example: !addchan #i/o teuk. This does not register the channel with ChanServ.

antifloodset

Adjust anti-flood settings for a channel.

Access: Master+. IRC surfaces: channel + private message.

!antifloodset [#channel]
!antifloodset [#channel] <max_msg> <period_sec> <wait_sec>

No numeric arguments reads the current policy. To change it provide all three nonnegative integer fields in that order: messages per period, period in seconds, then silence/wait seconds. Requires the channel’s +AntiFlood. This is different from Partyline .floodset and .cmdcooldown.

ban

Ban a mask or nick on a channel.

Access: Authenticated Administrator+ or channel 75+. IRC surfaces: channel.

!ban [#channel] <nick|mask> [duration] [level] [reason]

Duration: positive integer minutes, or <N>m, <N>h, <N>d, <N>w; perm, permanent, never, or omission means permanent. 0 is not permanent. Duration precedes optional ban level, then free-text reason. Level defaults to the actor's channel level (at least 75); it cannot exceed the actor's permitted level. A nick resolves to its last known hostmask; an explicit mask must have a useful fixed host component. Broad masks are refused. ban sets the ban without a kick; kickban also kicks a nick target. Persistent expiry and history remain active. Example: !kickban #test BadNick 1h 75 repeated abuse.

bans

List known bans for a channel.

Access: Authenticated Administrator+ or channel 75+. IRC surfaces: channel.

!bans [#channel]

Lists active bans known to Mediabot, including their IDs, levels and expiry. It is not an unrestricted dump of server ban lists.

chaninfo

Show information about a bot channel.

Access: public. IRC surfaces: channel + private message.

!chaninfo #channel

chanlist

List channels known by the bot.

Access: Master+. IRC surfaces: channel + private message.

!chanlist

No command parameters. Channel-scoped results refer to the invocation channel.

channellist

Alias of chanlist; the same options, defaults and checks apply.

Access: Master+. IRC surfaces: channel + private message.

!channellist

channels

Alias of chanlist; the same options, defaults and checks apply.

Access: Master+. IRC surfaces: channel + private message.

!channels

chanset

Change a channel setting.

Access: Authenticated Administrator+ or channel 450+. IRC surfaces: channel + private message.

!chanset [#channel] <+Capability|-Capability>
!chanset [#channel] key <key>
!chanset [#channel] chanmode <+modes>
!chanset [#channel] description <text>
!chanset [#channel] auto_join <on|off>
!chanset [#channel] timezone <Area/City|UTC>

Use a channel already known to Mediabot; omitted channel means invocation channel. key accepts a single token of at most 64 characters. description consumes the rest of the line (the reserved console description is refused). timezone validates the IANA name and synchronizes dependent reporting state; UTC is supported. chanmode stores the requested channel modes. Capability names come from CHANSET_LIST, not arbitrary setting keys. See all capabilities and combinations.

del

Remove a user from channel access.

Access: Authenticated Administrator+ or channel 400+. IRC surfaces: channel + private message.

!del #channel <nick>

Removes the target’s channel membership/access, not the global user account. Channel and hierarchy checks still apply.

deop

Remove operator status on a channel.

Access: Authenticated Administrator+ or channel 100+. IRC surfaces: channel + private message.

!deop [#channel] [nick]

Defaults: invocation channel and caller’s IRC nick. In PM specify the channel. Mediabot also needs the IRC privileges required to carry out the mode/invite.

devoice

Remove voice status on a channel.

Access: Authenticated Administrator+ or channel 25+. IRC surfaces: channel + private message.

!devoice [#channel] [nick]

Defaults: invocation channel and caller’s IRC nick. In PM specify the channel. Mediabot also needs the IRC privileges required to carry out the mode/invite.

ignore

Add an ignore entry.

Access: Administrator+. IRC surfaces: channel + private message.

!ignore [#channel] <hostmask>

Uses a stored hostmask pattern. Omitted channel in a channel invocation scopes it there; in PM without a channel it is global. This is separate from Hailo nick exclusions.

ignores

List ignore entries.

Access: admin. IRC surfaces: channel + private message.

!ignores

No command parameters. Channel-scoped results refer to the invocation channel.

invite

Invite a nick to a channel.

Access: Authenticated Administrator+ or channel 100+. IRC surfaces: channel + private message.

!invite [#channel] [nick]

Defaults: invocation channel and caller’s IRC nick. In PM specify the channel. Mediabot also needs the IRC privileges required to carry out the mode/invite.

join

Make the bot join a channel.

Access: Authenticated Administrator+ or channel 450+. IRC surfaces: channel + private message.

!join #channel

Channel must already be registered with the bot; the stored channel key is used. This is not ChanServ registration.

kb

Alias of kickban; the same options, defaults and checks apply.

Access: Authenticated Administrator+ or channel 75+. IRC surfaces: channel.

!kb [#channel] <nick|mask> [duration] [level] [reason]

kick

Kick a user from a channel.

Access: Authenticated Administrator+ or channel 50+. IRC surfaces: channel + private message.

!kick [#channel] <nick> [reason]

Omitted channel means invocation channel. Target nick is required; reason is the remaining text.

kickban

Kick and ban a user from a channel.

Access: Authenticated Administrator+ or channel 75+. IRC surfaces: channel.

!kickban [#channel] <nick|mask> [duration] [level] [reason]

Duration: positive integer minutes, or <N>m, <N>h, <N>d, <N>w; perm, permanent, never, or omission means permanent. 0 is not permanent. Duration precedes optional ban level, then free-text reason. Level defaults to the actor's channel level (at least 75); it cannot exceed the actor's permitted level. A nick resolves to its last known hostmask; an explicit mask must have a useful fixed host component. Broad masks are refused. ban sets the ban without a kick; kickban also kicks a nick target. Persistent expiry and history remain active. Example: !kickban #test BadNick 1h 75 repeated abuse.

nicklist

List nicks currently known on a channel.

Access: Administrator+. IRC surfaces: channel + private message.

!nicklist #channel

op

Give operator status on a channel.

Access: Authenticated Administrator+ or channel 100+. IRC surfaces: channel + private message.

!op [#channel] [nick]

Defaults: invocation channel and caller’s IRC nick. In PM specify the channel. Mediabot also needs the IRC privileges required to carry out the mode/invite.

part

Make the bot leave a channel.

Access: Authenticated Administrator+ or channel 500+. IRC surfaces: channel + private message.

!part #channel [reason]

Leaves the named known channel. An optional reason is channel part text; console-channel protection still applies.

purge

Purge or reset channel runtime information.

Access: Administrator+. IRC surfaces: channel + private message.

!purge #channel

Purges the bot’s registered channel state through its protected purge path. It is not merely PART; inspect the target and backup before intentional channel removal.

rembadword

Remove a badword filter entry.

Access: Master+. IRC surfaces: channel.

!rembadword #channel <word>

Supply the target channel and one badword token. Requires the bot’s channel object and the command’s privilege checks.

rnick

Pick a random nick from a channel.

Access: Administrator+. IRC surfaces: channel + private message.

!rnick #channel

tmdblangset

Set TMDB language for a channel.

Access: channel admin. IRC surfaces: channel.

!tmdblangset [#channel] <language>

Target channel is required in PM; omitted in channel uses that channel. Examples: fr-FR, en-US. This controls TMDB language, not LangFR/LangES for all bot output.

topic

Change the topic of a channel.

Access: Authenticated Administrator+ or channel 50+. IRC surfaces: private message.

/msg BotNick topic #channel <topic>

IRC PM surface only: /msg BotNick topic #channel New topic. It is not registered as a built-in public !topic in this snapshot. A separately installed plugin or dynamic command may supply a public command.

unban

Remove a ban from a channel.

Access: Authenticated Administrator+ or channel 75+; ban-level check. IRC surfaces: channel.

!unban [#channel] <id|mask>

Use the stored ban ID or exact mask. Removal checks that the caller can remove the ban’s recorded level; history remains stored.

unignore

Remove an ignore entry.

Access: Administrator+. IRC surfaces: channel + private message.

!unignore [#channel] <hostmask>

Removes the matching ignore entry in the selected scope; in PM without a channel the scope is global.

voice

Give voice on a channel.

Access: Authenticated Administrator+ or channel 25+. IRC surfaces: channel + private message.

!voice [#channel] [nick]

Defaults: invocation channel and caller’s IRC nick. In PM specify the channel. Mediabot also needs the IRC privileges required to carry out the mode/invite.

Complete index · Command notation

Clone this wiki locally