There are tutorial videos on Youtube. And if you're interested in the bot's internals check out it's Bitbucket page, it's Bitbucket Wiki and hlirc's (the framework CNT Bot is built upon) Bitbucket page.

Command reference


!start polltext
Starts a voting on an arbitrary issue. The channel will be notified when the poll ends but no other automatic action will be taken.
!start polltext: option 1, option 2 ...
Starts a multiple-choice voting. Everything else as above.
!start opcommandcommand
Vote for an exact command to be executed by the bot. Examples:
  • !start opcommand /kick spammer
  • !start opcommand /mode +m
Note: if you want to make the channel invite-only you'll have to use!start setting security
!start settingsetting new_value
Setting should be one of "threshold", "default-vote", "security", "timeout", "public-delegates", "public-settings" or "public-history". For all settings there's a list of allowed values:
  • threshold: second, majority, unanimous
  • default-vote: yes, no, abstain
  • security: none, voting, password password
  • timeout: number and unit. E.g. "10 minutes" or "1 week"
  • public-delegates, public-settings and public-history : yes, no
Changing security mode automatically sets or resets the channel's invite-only flag.
!start send-delegatechannel: candidates...
Starts a voting to send a delegate to another channel. When passed the selected delegate would need to be approved by the receiving channel unless it has no security.
!start request-delegatechannel
When passed makes the channel notify its users that this channel requests their delegate.
!start recall-delegate channel|nickname|channel nickname
A voting to recall a delegate from a channel. If either delegate or channel is omitted it means "all delegates" or "all channels" respectively. When passed the bot asks other channels' bots to notify their users about recalling the delegates then kick them unless they are delegated by another channel too.
!start plenarytype channels...
Starts a poll to assemble a plenary with several channels' representatives. There are two types of plenaries:
  • public : All users may attend the plenary
  • N delegates : Channels will need to send at most N delegates to this plenary


Shows some bot data. Each version of this command can be prepended with a channel name to try to get this data from another channel's bot.
!show settings
Show the channel's settings.
!show polls list[page]
!show polls pending
!show polls detailspoll_id
Show information about the channel's polls. Pending shows a summary of all nonfinished polls. List shows a summary of all polls. Details shows comprehensive information about a poll's current state.
!show bot
Tells you what channel this bot serves. Useful if you need to get another channel's bot's nickname. Call it like this:!show #somechan bot
!show bots
Lists all bots on the network and the channels they serve.
!show delegates[channel] [nick]
Shows delegates send to or from the channel. Either channel or nick or both can be used to narrow down the request.
!show users
List all users who have admission to this channel
!show help
Display a link to this documentation.


!votepoll_id option
Cast a vote. Options can be shortened to a few starting letters. Use show to find out a poll's id and options.


Ask a bot to be allowed into its channel. If you're a known user (already used !knock to get in earlier) or a delegate you'll be invited immediately. Otherwise there are two forms of this command. Which one to use depends on the bot's security settings. The bot will tell you which version to use.
!knock passwordpassword
Use this form if the bot has password-based admission.
Use this form if the bot has poll-based admission. Current users will have to vote to allow you into the channel and they'll see the reason you provide as part of the voting summary.