/annonce
Put an announcement together, step by step.
How to type it
/annonce
Good to know
A guided wizard: the channel, the text, then optional buttons. Nothing is sent before the last step.
Suggestions show up as you type; arrows to move, Enter to open.
80 commands: 41 on Discord, 39 on Twitch. For each one, what it takes, what it answers, and what changes once you’ve typed it.
AkiBot can be set up two ways, both complete: by clicking on the dashboard, or with commands. This page covers commands. The dashboard, the overlay guide and the release notes are in French only for now.
/ opens a Discord command, in a channel.
? starts a Twitch command, in the stream’s chat.
The Twitch sign can be changed with ?prefixe.
On Discord, a server permission decides, and Discord hides the command from people who don’t have it. On Twitch, it’s a level: everyone, followers, VIPs, subscribers, moderators, lead moderators, streamer.
On a server set to English, the Discord bot answers in English, but you still type
/ban or /rappel. The Twitch bot answers in French for now.
No command matches. Try a shorter word, or an action: “ban”, “clip”, “role”.
Slash commands, typed in a channel. They start with /.
Put an announcement together, step by step.
/annonceA guided wizard: the channel, the text, then optional buttons. Nothing is sent before the last step.
Save the server’s structure, and restore it.
/backup creer/backup liste/backup telecharger <sauvegarde>/backup importer <fichier>/backup restaurer <sauvegarde>| Name | Type | Required | What it’s for |
|---|---|---|---|
telecharger › sauvegarde | text | yes | The backup to download. |
importer › fichier | file | yes | A .json file made by /backup. |
restaurer › sauvegarde | text | yes | The backup to restore. |
Takes a snapshot of channels, roles and permissions. /backup telecharger gives you a .json file: a file on your own disk is the only backup that survives everything, the bot disappearing included. Importing and restoring are for the server owner only, because they are the two operations that actually change the server.
/backup creerThe server is saved and the file is sent to you.The bot’s settings menu.
/configA private panel, only you see it, where everything the bot does on the server is set. Needs Administrator or Manage Server. It’s the command version of the web dashboard: no setting is browser-only.
See also: /setup
Run a giveaway.
/giveaway lancer <lot> <duree> [gagnants] [salon] [role_requis]/giveaway cloturer <tirage>/giveaway retirer <tirage>/giveaway liste| Name | Type | Required | What it’s for |
|---|---|---|---|
lancer › lot | text | yes | What can be won. |
lancer › duree | text | yes | How long: 30m, 2h, 3j… |
lancer › gagnants | integer | no | Number of winners (default: 1). |
lancer › salon | channel | no | Where to post it (default: here). |
lancer › role_requis | role | no | A role needed to enter. |
cloturer › tirage | text | yes | The giveaway to close. |
retirer › tirage | text | yes | The giveaway to draw again. |
Duration as 30m, 2h, 3j. You can require a role to enter, and draw several winners.
Post the reaction roles message.
/rolemsg <channel>| Name | Type | Required | What it’s for |
|---|---|---|---|
channel | channel | yes | The channel where the message should appear. |
Creates the message in the chosen channel, or updates the existing one. It’s the same data as the Reaction roles tab on the dashboard.
See also: /role
See what’s missing, and create it in one click.
/setupChecks the server (what’s set, what isn’t) and offers to create what’s missing without leaving the panel. It’s the first command to type after inviting the bot.
See also: /config
Create a poll with numbered reactions.
/sondage <titre> <nombre> <proposition1> <proposition2> [proposition3] [proposition4] [proposition5] [proposition6] [proposition7] [proposition8] [proposition9] [proposition10]| Name | Type | Required | What it’s for |
|---|---|---|---|
titre | text | yes | The poll’s title or question. |
nombre | integer | yes | Number of options (2 to 10). |
proposition1 | text | yes | Option 1. |
proposition2 | text | yes | Option 2. |
proposition3 | text | no | Option 3 (optional). |
proposition4 | text | no | Option 4 (optional). |
proposition5 | text | no | Option 5 (optional). |
proposition6 | text | no | Option 6 (optional). |
proposition7 | text | no | Option 7 (optional). |
proposition8 | text | no | Option 8 (optional). |
proposition9 | text | no | Option 9 (optional). |
proposition10 | text | no | Option 10 (optional). |
From 2 to 10 options. The bot adds the numbered reactions itself; people vote by clicking.
See also: /suggestion
Manage the server’s streamer communities.
/streamer mods/streamer add <membre> <twitch>/streamer set [streamer] [annonce] [ping_communaute] [categorie] [role_communaute] [role_moderateurs]| Name | Type | Required | What it’s for |
|---|---|---|---|
add › membre | member | yes | The Discord member who is the streamer. |
add › twitch | text | yes | The Twitch channel name. |
set › streamer | text | no | The streamer to set (managers; otherwise yours). |
set › annonce | true/false | no | Announce this streamer’s lives? |
set › ping_communaute | true/false | no | Ping the community role on announcements? |
set › categorie | channel | no | The community’s category. |
set › role_communaute | role | no | The community role (pinged on announcements). |
set › role_moderateurs | role | no | The community moderators’ role. |
Each streamer on the server can have their own category, community role and moderators. /streamer add creates them (server managers); /streamer set then sets live announcements and pings.
See also: /settwitch
Ban a member, for good or for a while.
/ban <utilisateur> <raison> [duree]| Name | Type | Required | What it’s for |
|---|---|---|---|
utilisateur | member | yes | The member to ban (mention or ID). |
raison | text | yes | Why. |
duree | text | no | For how long: 30m, 2h, 7j, 1mois, 1an (empty = permanent). |
No duration means a permanent ban. Durations are written 30m, 2h, 7j (days), 1mois (month), 1an (year). The reason is required: it’s what you’ll read again in six months.
/ban utilisateur:@troll raison:harassment duree:7j7-day ban, direct message sent, logged.Delete a batch of recent messages.
/clear <nombre> [utilisateur] [filtre]| Name | Type | Required | What it’s for |
|---|---|---|---|
nombre | integer | yes | How many messages to look at (1 to 100). |
utilisateur | member | no | Only delete this member’s messages. |
filtre | text | no | Only delete one kind of message. (one of: bots, humans, links, attachments) |
From 1 to 100 messages looked at. The filter keeps one kind only: bots, humans, links or attachments. Discord won’t bulk-delete messages older than 14 days.
What the bot knows about a member: warnings, quarantines, sanctions.
/historique <utilisateur>| Name | Type | Required | What it’s for |
|---|---|---|---|
utilisateur | member | yes | The member (mention or ID). |
A card for the staff, only you see it. Warnings and quarantines have always been kept. Bans, kicks, timeouts, mutes and what auto-moderation does (removed messages included) are only kept since October 4, 2026, and for a year: “nothing” before that date doesn’t mean nothing happened.
/historique utilisateur:@memberWarnings (1), Quarantines (0), Sanctions (15): Message removed × 14 · Timeout × 1, then the details.Kick a member from the server.
/kick <utilisateur> [raison]| Name | Type | Required | What it’s for |
|---|---|---|---|
utilisateur | member | yes | The member to kick (mention or ID). |
raison | text | no | Why. |
A kick doesn’t stop them from coming back: it’s a warning shot, not a closed door. To close the door, see /ban.
See also: /ban
Lock or unlock a channel.
/lock <action> [salon] [raison]| Name | Type | Required | What it’s for |
|---|---|---|---|
action | text | yes | Lock or unlock. (one of: lock, unlock) |
salon | channel | no | Which channel (default: this one). |
raison | text | no | Why (shown in the channel). |
Takes away @everyone’s right to write in the channel. The reason is shown in the channel, so nobody thinks it’s broken.
See also: /slowmode
Mute through the Muted role.
/mute <utilisateur> [duree] [raison]| Name | Type | Required | What it’s for |
|---|---|---|---|
utilisateur | member | yes | The member to mute (mention or ID). |
duree | text | no | For how long: 30m, 2h, 7j, 1mois (empty = until /unmute). |
raison | text | no | Why. |
Not the same as /timeout: here a server role takes the voice away, which lets you set it channel by channel. With no duration, the mute lasts until /unmute.
Change a member’s nickname.
/nick <utilisateur> [surnom]| Name | Type | Required | What it’s for |
|---|---|---|---|
utilisateur | member | yes | The member. |
surnom | text | no | The new nickname (leave empty to reset). |
An empty nickname resets it to their original name.
Set someone aside while you check.
/quarantaine mettre <membre> [raison]/quarantaine liberer <membre>/quarantaine liste| Name | Type | Required | What it’s for |
|---|---|---|---|
mettre › membre | member | yes | The person. |
mettre › raison | text | no | Why (they’ll be told). |
liberer › membre | member | yes | The person. |
Between nothing and a ban: the person loses their roles and access, but nothing is lost. /quarantaine liberer gives back exactly what they had.
Give or take a role, to one person or a whole group.
/role ajouter <utilisateur> <role>/role retirer <utilisateur> <role>/role tous <cible> <role> <action>| Name | Type | Required | What it’s for |
|---|---|---|---|
ajouter › utilisateur | member | yes | The member. |
ajouter › role | role | yes | The role to give. |
retirer › utilisateur | member | yes | The member. |
retirer › role | role | yes | The role to take away. |
tous › cible | role | yes | Members who have THIS role. |
tous › role | role | yes | The role to add or remove. |
tous › action | text | yes | Add or remove. (one of: add, remove) |
/role tous applies the change to every member with a given role. Handy to move people to a new role without doing it one by one.
See also: /rolemsg
Force a delay between two messages.
/slowmode <duree> [salon]| Name | Type | Required | What it’s for |
|---|---|---|---|
duree | text | yes | E.g. 10s, 2m, 1h, or 0 to turn it off (6h max). |
salon | channel | no | Which channel (default: this one). |
From 10s to 6h, or 0 to turn it off. Often better than locking: the conversation goes on, just slower.
See also: /lock
Open the tickets menu.
/ticketThe menu is private. Everything else (the list of tickets, closing them, their history) happens inside. Open to people with Moderate Members, Manage Channels, or the configured staff role.
See also: /config
Time someone out: no messages, no voice.
/timeout <utilisateur> [duree] [raison]| Name | Type | Required | What it’s for |
|---|---|---|---|
utilisateur | member | yes | The member to time out. |
duree | text | no | How long: 10m, 2h, 3j… (28j max). Empty or 0 = lift the timeout. |
raison | text | no | Why. |
Discord’s own timeout, 28 days at most. An empty duration or 0 lifts it.
Lift an account’s ban.
/unban <utilisateur> [raison]| Name | Type | Required | What it’s for |
|---|---|---|---|
utilisateur | text | yes | The banned person (name or ID). |
raison | text | no | Why. |
The person is named by their name or ID: they’re not on the server anymore, so you can’t mention them.
See also: /ban
Give a muted member their voice back.
/unmute <utilisateur>| Name | Type | Required | What it’s for |
|---|---|---|---|
utilisateur | member | yes | The member (mention or ID). |
See also: /mute
Warn a member, or open the warnings menu.
/warn [utilisateur] [raison]| Name | Type | Required | What it’s for |
|---|---|---|---|
utilisateur | member | no | The member to warn (leave empty to open the menu). |
raison | text | no | Why. |
With no user, the command opens a private menu (only you see it) to read, remove and browse warnings. With a user but no reason, the bot asks for the reason instead of saving an empty warning.
/warnOpens the private warnings menu./warn utilisateur:@member raison:spamWarning saved, direct message sent, total shown.Offer to help translate the bot.
/contribuer [langue] [message]| Name | Type | Required | What it’s for |
|---|---|---|---|
langue | text | no | The language you’d like to help with (e.g. Español). |
message | text | no | An optional message for the owner. |
The bot already speaks French and English, and the language is picked server by server.
Write straight to the bot’s owner.
/demande <message>| Name | Type | Required | What it’s for |
|---|---|---|---|
message | text | yes | Your request. |
For a bug, a question, or a special case that doesn’t fit in a suggestion.
See also: /proposer
The list of commands, or the details of one.
/help [commande]| Name | Type | Required | What it’s for |
|---|---|---|---|
commande | text | no | A command to explain (optional). |
With nothing after it, the full list. With a command name, its details.
Information about a member or the server.
/info server [id]/info user [id]| Name | Type | Required | What it’s for |
|---|---|---|---|
server › id | text | no | Server ID (optional). |
user › id | text | no | User ID (optional). |
For a member: when they joined, their roles, how old the account is. For the server: when it was created, how many members, its settings.
The bot’s latency.
/pingTwo numbers: the round trip of the message, and the one of the permanent link with Discord.
Suggest an improvement for the bot.
/proposer <titre> [description]| Name | Type | Required | What it’s for |
|---|---|---|---|
titre | text | yes | A short title. |
description | text | no | Your idea in more detail (optional). |
The suggestion goes to the bot’s roadmap, where it can be voted on.
See also: /roadmap · /suggestion
Get reminded of something later.
/rappel poser <quand> <quoi> [repeter]/rappel liste/rappel annuler <rappel>| Name | Type | Required | What it’s for |
|---|---|---|---|
poser › quand | text | yes | In how long: 30m, 2h, 3j… |
poser › quoi | text | yes | What you want to remember. |
poser › repeter | text | no | Then repeat every: 1j, 1 semaine… (optional) |
annuler › rappel | text | yes | The reminder to cancel. |
The delay is written 30m, 2h, 3j. A reminder can repeat (every 1j, every week…).
See the bot’s roadmap and vote.
/roadmapAccepted suggestions are listed there; everyone votes for what they want first.
See also: /proposer
Put a suggestion to the server’s vote.
/suggestion <titre> [description]| Name | Type | Required | What it’s for |
|---|---|---|---|
titre | text | yes | The suggestion’s title. |
description | text | no | More details (optional). |
Not to be confused with /proposer: this one is about YOUR server and its community, not the bot.
End your marriage.
/divorceSee also: /mariage
Start a mini-game: tic-tac-toe, connect 4, hangman, minesweeper, motus.
/jeu morpion [adversaire]/jeu puissance4 [adversaire]/jeu pendu [longueur]/jeu demineur [difficulte]/jeu motus [longueur]| Name | Type | Required | What it’s for |
|---|---|---|---|
morpion › adversaire | member | no | Against whom? (empty: the bot) |
puissance4 › adversaire | member | no | Against whom? (empty: the bot) |
pendu › longueur | integer | no | Number of letters (empty: random) |
demineur › difficulte | text | no | Number of mines on the 20 squares (default: normal) (one of: facile, normal, difficile) |
motus › longueur | integer | no | Number of letters (default: 6) (one of: 5, 6, 7, 8) |
Tic-tac-toe and connect 4 are played against someone or against the bot, which can’t be beaten at tic-tac-toe. Hangman is played by the whole channel. At minesweeper, the first click never blows up.
/jeu morpionA game against the bot starts in the channel./jeu motus longueur:6Six tries to find the word, the first letter is given.Start a Werewolf game.
/loupgarou creer [aveugle] [composition_cachee] [petite_fille_ecrit]/loupgarou arreter| Name | Type | Required | What it’s for |
|---|---|---|---|
creer › aveugle | true/false | no | Don’t reveal the dead’s roles (the bot calls dead roles as decoys). |
creer › composition_cachee | true/false | no | Nobody knows what was dealt. Longer nights, harder game. |
creer › petite_fille_ecrit | true/false | no | The little girl can write in the wolves’ thread and pass as one of them. |
Three variants to pick when creating it: blind game (the dead’s roles stay hidden and the bot calls out dead roles as decoys), hidden setup (nobody knows what was dealt), and a little girl allowed to write in the wolves’ thread to pass as one of them.
Propose to someone, or see your couple.
/mariage [membre]| Name | Type | Required | What it’s for |
|---|---|---|---|
membre | member | no | Who to propose to (empty: see your marriage). |
Without a member, shows your current marriage.
A member’s profile card.
/profil [membre]| Name | Type | Required | What it’s for |
|---|---|---|---|
membre | member | no | Whose? (default: you) |
A generated image: when they joined, how long ago, activity and roles.
How compatible two members are.
/ship <membre> [avec]| Name | Type | Required | What it’s for |
|---|---|---|---|
membre | member | yes | The person to test. |
avec | member | no | With whom? (default: you) |
Like on Twitch, the score comes from the names themselves: it never changes.
See also: /mariage
Choose where Twitch clips are announced.
/setclips voir/setclips ajouter <salon>/setclips retirer <salon>/setclips actif <valeur>| Name | Type | Required | What it’s for |
|---|---|---|---|
ajouter › salon | channel | yes | The channel where clips are announced. |
retirer › salon | channel | yes | The channel to remove. |
actif › valeur | true/false | yes | Announce clips? |
Several channels can receive them. /setclips actif pauses or resumes the announcements without losing the saved channels.
See also: /settwitch
Link this server to your Twitch channel.
/settwitch relier/settwitch voir/settwitch retirerThe Discord side of ?setdiscord. Once linked, the two bots talk to each other: clips made in the chat can be announced here.
See also: /setclips
Give a Discord role based on someone’s status on your Twitch channel.
/twitchroles voir/twitchroles definir <statut> <role>/twitchroles actif <statut> <valeur>/twitchroles retirer <statut>| Name | Type | Required | What it’s for |
|---|---|---|---|
definir › statut | text | yes | The status on your Twitch channel. (one of: vip, subscriber, moderator) |
definir › role | role | yes | The role to give. |
actif › statut | text | yes | Which status. (one of: vip, subscriber, moderator) |
actif › valeur | true/false | yes | Give this role? |
retirer › statut | text | yes | Which status. (one of: vip, subscriber, moderator) |
The channel’s VIPs, subscribers and moderators can each get a role here. Nothing is given until a match is declared: a role showing up on a server that didn’t set this up would make no sense to the member. The same thing can be set from the chat with ?roles, but Discord’s dropdown saves you from copying a role ID.
See also: /settwitch
Chat commands, typed during the stream. The Twitch bot answers in French for now, so the examples show its real French replies. They start with ?.
also: ?desactiver
Turn one of the bot’s commands on or off.
?activer <commande>?desactiver <commande>?desactiver| Name | Type | Required | What it’s for |
|---|---|---|---|
commande | — | no | Empty, with ?desactiver: the list of what’s off. |
Turning off an alias turns off the whole command: the bot maps any alias back to its original name before saving. ?activer is the only command that can’t be turned off, otherwise you could lock yourself out.
?desactiver ship@toi « ?ship » est éteinte sur cette chaîne.?desactiver@toi éteintes : ?ship — ?activer <commande> pour en rallumer une?desactiver activer@toi « ?activer » ne peut pas être éteinte : c’est elle qui sert à rallumer les autres.also: ?perms
See and set who can do what on the channel.
?droits?droits commande <nom>?droits commande <nom> <niveau|defaut>?droits commande <nom> <geste> <niveau|defaut>?droits retirer @pseudo?droits rendre @pseudo| Name | Type | Required | What it’s for |
|---|---|---|---|
commande | — | no | Who can run a command. Without a level, the bot says the current setting and the actions you can set apart. |
geste | — | no | For commands that do two things: add or remove a quote, change the title or category, move or delete a counter, start guess the word, stop someone else’s game. |
niveau | — | no | tous, followers, vip, abonnés, modos, principaux, streamer. The English names work too (viewer, subscriber, moderator…). “defaut” restores the original setting. |
retirer / rendre | — | no | Reduce or give back a lead moderator’s rights. The streamer only. |
Each command has its level, and the ones that do two things have a setting per action. Everyone reads quotes, but who can add them? The streamer decides, with their lead moderators. The command’s level comes first: letting everyone add quotes changes nothing if ?citation is for subscribers only. The lead moderator role comes from Twitch, the bot reads it in the badges. Taking their rights away here takes nothing away on Twitch: they stay lead moderator there, and become an ordinary moderator for the bot.
?droits@toi toutes les commandes à leur seuil d’origine — ?droits commande <nom> <niveau>?droits commande citation@toi ?citation : ouvert à tout le monde (réglage d’origine) · gestes réglables : ajouter, retirer?droits commande citation ajouter abonnés@toi ?citation ajouter : réservé aux abonnés.?droits commande clip followers@toi ?clip : réservé aux personnes qui suivent la chaîne. Il faut que je sois modérateur de la chaîne pour le vérifier.also: ?events ?evenement ?annonces
What the bot says when something happens on the channel.
?event?event <événement> <message>?event <événement> on | off?event <événement> annonce?event <événement> retirer?event variables| Name | Type | Required | What it’s for |
|---|---|---|---|
événement | — | no | follow, abonnement (sub), réabonnement (resub), cadeau (gift), bits, raid, points, live, fin (end) |
message | — | no | The text to send. Can contain variables. |
annonce | — | no | Switches the message to a coloured announcement instead of a normal message. |
variables | — | no | Lists what you can write in a message. |
Nothing is set by default, and that’s deliberate: no saved message means no message sent. A bot that starts talking at every sub without being asked gets turned off that same night. The streamer decides what deserves a word. For lead moderators. The same setting lives on the dashboard, in Diffusion › Messages d’événements, with a preview as you type.
?event raid Bienvenue aux {viewers} de {user} !@toi Raid reçu enregistré. Aperçu : Bienvenue aux 42 de toi !?event@toi événements : Nouveau follow · Raid reçu 📢 · Nouvel abonnement (coupé)See also: ?so
also: ?prefix
Change the sign that starts commands.
?prefixe?prefixe <signe>| Name | Type | Required | What it’s for |
|---|---|---|---|
signe | — | no | 1 to 3 punctuation signs among ! ? . $ + - & % * # ~ (no letters, no spaces). |
Changing the prefix makes every command unreachable under the old one, this one included: that’s why it’s for the streamer and lead moderators. The bot announces the new prefix plainly, otherwise nobody would know how to call it anymore.
?prefixe !@toi prefixe change : les commandes s’ecrivent desormais « !aide », « !ping »…?prefixe ab@toi un prefixe fait 1 a 3 signes de ponctuation, sans lettre ni espace.also: ?role ?rolesdiscord
Give a Discord role based on someone’s status on the channel.
?roles?roles vip <id du rôle>?roles abonnes <id du rôle>?roles mods <id du rôle>?roles <statut> off | on?roles <statut> retirer?roles sync| Name | Type | Required | What it’s for |
|---|---|---|---|
statut | — | no | vip, abonnes (subscribers) or mods. |
id du rôle | — | no | The ID of the Discord role to give. |
sync | — | no | Runs a pass right now, without waiting for the next one. |
No declared match means no role given, ever: handing out a role on a server that didn’t set this up would be intrusive. The command asks for a role ID, not a name, because the Twitch bot doesn’t know Discord’s roles and two roles can share a name. For the streamer. The same thing is easier with /twitchroles on Discord, where the roles show in a list.
?roles vip 1122334455667788✅ VIP de la chaîne → un rôle sur Akiden.?roles sync✅ 12 rôle(s) donné(s), 3 retiré(s).See also: ?setdiscord
also: ?clipsdiscord
Choose where clips are announced on Discord.
?salonclips?salonclips #salon?salonclips retirer #salon?salonclips off?salonclips on| Name | Type | Required | What it’s for |
|---|---|---|---|
#salon | — | no | The Discord channel. Empty: what’s already set. |
The right to write is checked right away: the Discord bot makes sure it can see the channel and write in it before saving. Otherwise you’d find out on the first clip, that is at the worst moment. From the chat you work on the main server; other servers are set from the dashboard.
?salonclips #clips@toi les clips seront annoncés dans #clips sur « Akiden ».?salonclips off@toi annonces arrêtées. Les salons restent enregistrés — ?salonclips on pour reprendre.See also: ?setdiscord · ?clip
also: ?serveurdiscord
Link the channel to a Discord server.
?setdiscord?setdiscord <id du serveur>?setdiscord off| Name | Type | Required | What it’s for |
|---|---|---|---|
id du serveur | — | no | The server’s numeric ID, about 18 digits. Not its name. |
The bot checks the server really is yours: it asks the Discord bot whether you’re a member and have “Manage Server” there. It still has to know who you are on Discord, which only linking both accounts on the dashboard tells it. No linking link is ever sent by direct message: pasted in the chat, it would act as proof of identity and the first person to click it would link their own account.
?setdiscord 123456789012345678@toi chaîne reliée à « Akiden ». — ?salonclips <salon> pour y annoncer les clips.?setdiscord monserveur@toi donne l’identifiant du serveur (18 chiffres environ), pas son nom.See also: ?salonclips · ?clip
also: ?help ?commandes ?cmds
The list of commands you can use here.
?aide?aide <commande>| Name | Type | Required | What it’s for |
|---|---|---|---|
commande | — | no | Empty: everything YOU can type on this channel. |
Three filters, each one saving a disappointment: commands that are off are hidden, so are the ones above your level, and the channel’s own commands are included. The message is cut before Twitch’s 500-character limit, and shows that the list goes on.
?aide@toi commandes : ?aide ?ping ?uptime ?clip … · détail : ?aide <commande>?aide titre@toi ?titre — Voir ou changer le titre du live. · tout le monde · aussi : ?titlealso: ?aki
The bot’s business card, and where to get help.
?akibotAlso a sign of life: if it answers, both the chat connection and the command loader work.
?akibot🍁 AkiBot v0.33.0 — bot Discord et Twitch, gratuit. Réglages : https://akibot.akiden.frCheck that the bot answers, and how fast.
?pingThe real round trip, measured from the timestamp Twitch puts on the message. More honest than an instant “pong”, which measures nothing.
?ping@toi je suis là (312 ms).also: ?modauto ?filtres
Set up the channel’s auto-moderation.
?automod?automod on|off?automod <règle> on|off?automod <règle> action supprimer|exclure|avertir?automod majuscules seuil 80?automod mots + <mot>?automod domaines + <domaine>| Name | Type | Required | What it’s for |
|---|---|---|---|
règle | — | no | links (liens) · words (mots) · caps (majuscules) · emotes · spam · repetition · zalgo · length (longueur) |
action | — | no | What the bot does when the rule fires: delete, time out or warn. |
The main switch matters as much as the rules: a channel may want everything off during an event without losing its settings. Turning them off one by one would mean turning them all back on from memory, and one would be forgotten. The fine settings (eight rules, their thresholds, their exemptions) don’t read well in one chat line and are much clearer on the dashboard.
?automod liens on@toi filtre anti-liens activé.?automod majuscules seuil 80@toi majuscules : seuil réglé à 80 %.Ban from the chat for good.
?ban <pseudo> [raison]| Name | Type | Required | What it’s for |
|---|---|---|---|
pseudo | — | yes | The person to ban. |
raison | — | no | Saved on Twitch’s side, 500 characters max. |
For the streamer and lead moderators only: a ban can be undone, but it costs some trust, and it’s not a call for a passing moderator.
?ban gêneur harcèlement@toi gêneur banni.Clear the whole chat.
?clearFor the streamer and lead moderators only: it can’t be undone, and doing it by mistake wipes a whole conversation.
?clearChat vidé par @toi.also: ?slow ?slowmode ?followers ?suiveurs ?abonnes ?abonnés ?subonly ?subs ?emotes ?emoteonly ?unique ?r9k
Set the chat modes: slow, followers, subscribers, emotes, unique.
?lent [secondes]?lent off?followers [minutes]?abonnes on|off?emotes on|off?unique on|off| Name | Type | Required | What it’s for |
|---|---|---|---|
valeur | — | no | A number sets the delay at the same time. “off” turns it off. Empty: turns it on with the default. |
Five modes behind one command, told apart by the name you type. Twitch has all of this in its interface, but a moderator who sees a raid coming doesn’t have ten seconds to leave the chat and tick a box, and that’s exactly when slow mode helps. With nothing after it, the mode turns on with its default value: that’s what you want in a hurry.
?lent 30@toi mode lent activé : un message toutes les 30 secondes.?lent off@toi mode lent désactivé.?followers 10@toi réservé à ceux qui suivent depuis 10 minutes.also: ?autorise ?permis
Let someone post a link, once.
?permit @pseudo| Name | Type | Required | What it’s for |
|---|---|---|---|
@pseudo | — | yes | The person allowed. |
Twitch can block links, but not make a one-time exception: that’s the gap this command fills. Without the link filter on, it’s useless, and it says so rather than granting a silent permission nobody would see.
?permit @amie✅ @amie tu peux poster ton lien — 60 secondes.?permit @amie@toi le filtre anti-liens n’est pas actif : tout le monde peut déjà poster des liens.See also: ?automod
also: ?timeout
Time someone out of the chat.
?to <pseudo> [durée] [raison]| Name | Type | Required | What it’s for |
|---|---|---|---|
pseudo | — | yes | The person to time out. |
durée | — | no | 10m, 2h, 1j… 10 minutes by default. |
raison | — | no | If the second word isn’t a duration, the reason starts there. |
Replaces the old chat command Twitch removed from IRC in 2023, which failed silently. The bot refuses to time itself out, and warns you if you aim at yourself.
?to spammeur 10m pub@toi spammeur exclu 10 min.?to@toi qui ? — ?to <pseudo> [durée] [raison]also: ?ut ?untimeout
Lift a ban or a timeout.
?unban <pseudo>| Name | Type | Required | What it’s for |
|---|---|---|---|
pseudo | — | yes | The person to free. |
Lifting a sanction that doesn’t exist is a harmless mistake: the bot says so calmly rather than showing an error code.
?unban quelquun@toi quelquun est de nouveau le bienvenu.?unban innocent@toi innocent n’était ni banni ni exclu.also: ?8ball ?magic8
Ask the magic 8-ball a question.
?boule <question>| Name | Type | Required | What it’s for |
|---|---|---|---|
question | — | yes | Without a question, the ball has nothing to say. |
Twenty answers like the real one: ten positive, five vague, five negative. That balance is what keeps it fun for more than two minutes.
?8ball je vais gagner ?🎱 @toi c’est certain.?8ball@toi pose-moi une question. 🎱also: ?câlin ?hug ?tape ?slap
Give someone a hug, or a slap.
?calin @pseudo?tape @pseudo| Name | Type | Required | What it’s for |
|---|---|---|---|
@pseudo | — | no | With no target, you aim at yourself, with a sentence of its own. |
One command for both: they only differ by their sentences. The name you actually type decides the tone.
?calin @amietoi fait un câlin à amie 🤗also: ?dé ?dice ?roll
Roll one or more dice.
?de?de <faces>?de <nombre>d<faces>| Name | Type | Required | What it’s for |
|---|---|---|---|
forme | — | no | Empty: a six-sided die. “20”: twenty sides. “2d6”: two six-sided dice. Up to 20 dice. |
The details of the rolls are only shown when there are several: a “9” after 2d6 doesn’t tell if it was 4+5 or 3+6, and that’s exactly what people look at. The bot doesn’t guess: ?de red reminds you of the syntax instead of rolling a random die.
?de🎲 @toi 4?de 2d6🎲 @toi 9 (4 + 5)?de rouge@toi ?de 20 · ?de 2d6 — jusqu’à 20 dés, 1000 faces.also: ?pendu ?motus ?devine
Start hangman, motus or guess the word in the chat.
?pendu?pendu <longueur>?motus?motus <5|6|7|8>?devine?devine <longueur> <secondes>?pendu stop| Name | Type | Required | What it’s for |
|---|---|---|---|
longueur | — | no | The number of letters. Empty: any length for hangman, six for motus. |
secondes | — | no | Guess the word: a letter drops at this pace, 10 to 120 seconds. Twenty by default. The two numbers go in any order. |
stop | — | no | Stops the current game and gives the word. Whoever started it can stop it, and moderators to begin with. |
devinearreterThat’s the starting point. The streamer picks a level for each action, on the dashboard or with ?droits commande jouer <action> <level>.
DURING A GAME, YOU PLAY WITHOUT THE PREFIX: a single letter, or the whole word, is enough. A hangman where you had to type “?pendu a” for each letter wouldn’t be a chat game. The conversation is safe anyway: a move never has a space, and a whole word has to be in the bot’s list, so “haha” costs no life on a four-letter word. A game with no move for three minutes clears itself. One game at a time per channel: two hangmen side by side in the same chat can’t be read. Nothing survives a restart, on purpose: a game lasts three minutes. Guess the word plays differently. Nobody suggests letters: the bot drops one every twenty seconds, and the first to type the whole word wins. Accents, capitals and punctuation don’t matter. A wrong answer gets no reply, otherwise the bot would flood the chat. The last letter never drops: when only one is left, the next turn ends the game and gives the word. The streamer or a moderator starts it to begin with, set with ?droits commande jouer devine <level>.
?pendu 6🪢 Pendu — _ _ _ _ _ _ (6 lettres). ❤️❤️❤️❤️❤️❤️ Proposez une lettre, ou le mot entier.a✅ _ a _ _ _ _ · ❤️❤️❤️❤️❤️❤️ · tentées : az❌ _ a _ _ _ _ · ❤️❤️❤️❤️❤️🤍 · tentées : a zmaison🎉 @toi trouve : « maison » ! 1 erreur.?motus🟩 Motus — 6 lettres, ça commence par « M ». 6 essais.moulin🟩🟨⬛⬛🟨🟩 moulin · 5 essais restants?devine 7 30🔤 Devine le mot — 7 lettres, une qui tombe toutes les 30 s. Tape le mot entier, accents ou pas.Plateau !🎉 @toi trouve « plateau » en 48 s !also: ?marie ?couplemarie
See a marriage. It’s set on Discord.
?mariage?mariage @pseudo| Name | Type | Required | What it’s for |
|---|---|---|---|
@pseudo | — | no | Empty: yours. |
Read only, on purpose. A marriage is proposed and accepted on Discord: consent can’t be gathered in a Twitch chat, and a command that married people on the spot would be a prank any viewer could pull. The spouse’s name is never said: someone may not want their Discord account announced in a stranger’s chat.
?mariage@toi tu es marié depuis 8 mois. 💍 Le détail est sur Discord.?mariage@toi rattache ton compte Discord sur https://akibot.akiden.fr pour que je puisse te répondre.See also: ?ship
also: ?face ?pileouface ?flip
Flip a coin.
?pileThe command’s name doesn’t predict the result: ?pile flips the coin, it can land on face.
?pile🪙 @toi face !also: ?couple ?amour
How compatible two people are.
?ship @pseudo?ship @a @b| Name | Type | Required | What it’s for |
|---|---|---|---|
@a | — | yes | With one name only, you’re the other half. |
@b | — | no | The second name. |
The score never moves: it comes from the two names themselves, not from a roll. Half the fun is trying again to check; a score that changed every time would be pointless after three tries. “a and b” is exactly “b and a”.
?ship @a @b💘 a + b = 87 % — ça sent le mariage.?ship @toi@toi s’aime déjà très fort. 100 % 💜also: ?cat ?jeu ?game
See the stream’s category, or change it.
?categorie?categorie <jeu>| Name | Type | Required | What it’s for |
|---|---|---|---|
jeu | — | no | The Twitch category name. The bot looks it up in the catalogue before writing it. |
changerThat’s the starting point. The streamer picks a level for each action, on the dashboard or with ?droits commande categorie <action> <level>.
Everyone can read it. Changing it is for moderators to begin with; the streamer decides with ?droits commande categorie changer <level>. The bot doesn’t guess: if no category matches the text, it says so and touches nothing.
?cat🎮 Minecraft?cat Hollow Knight@toi catégorie changée : Hollow Knight?cat jeu qui n’existe pas@toi aucune catégorie ne correspond à « jeu qui n’existe pas ».also: ?clips
Clip the last seconds of the stream.
?clipThe link comes right away, before Twitch has finished making the clip: waiting would look like a failure. The link works once it’s done, about fifteen seconds later.
?clip@toi 🎬 https://clips.twitch.tv/…See also: ?salonclips · ?setdiscord
also: ?title
See the stream’s title, or change it.
?titre?titre <nouveau titre>| Name | Type | Required | What it’s for |
|---|---|---|---|
nouveau titre | — | no | Up to 140 characters. Empty: the bot shows the current title. |
changerThat’s the starting point. The streamer picks a level for each action, on the dashboard or with ?droits commande titre <action> <level>.
Everyone can read the title. Changing it is for moderators to begin with, and the streamer decides: ?droits commande titre changer abonnés opens it to subscribers, ?droits commande titre changer streamer keeps it for themselves.
?titre📋 On finit le donjon !?titre Speedrun du dimanche@toi titre changé : Speedrun du dimanche?titre Speedrun du dimanchewithout the right@toi changer le titre est réservé aux modérateurs.See also: ?categorie · ?droits
also: ?enligne
How long the stream has been live.
?uptimeThe answer is cached for thirty seconds: it’s the most typed command in a chat, and it rarely comes alone. Offline, the bot simply says the channel isn’t live. A network failure and an offline stream give the same sentence, on purpose.
?uptime🔴 okastream est en live depuis 2 h 14 min.also: ?quote ?citations
The channel’s memorable quotes.
?citation?citation <numéro>?citation add <texte> - Pseudo?citation del <numéro>| Name | Type | Required | What it’s for |
|---|---|---|---|
numéro | — | no | A specific quote. Empty: a random one. |
add | — | no | Add one. A “- Name” at the end says who said it. Moderators to begin with. |
del | — | no | Remove a quote. Moderators to begin with. |
ajouterretirerThat’s the starting point. The streamer picks a level for each action, on the dashboard or with ?droits commande citation <action> <level>.
A quote’s number never changes: deleting number 12 renumbers nothing, the gaps are on purpose. The game and the date are frozen when the quote is added, which is what makes it funny months later.
?citation add je vais y arriver cette fois - Oka✅ #7 « je vais y arriver cette fois » — Oka (Celeste, 18/08/2026)?citation 7#7 « je vais y arriver cette fois » — Oka (Celeste, 18/08/2026)?citation del 7@toi citation #7 retirée. Les autres gardent leur numéro.?citation add trop drôlewithout the right@toi réservé aux modérateurs.See also: ?droits
also: ?commande
Create and manage the channel’s own commands.
?cmd add <nom> <réponse>?cmd del <nom>?cmd level <nom> <niveau>?cmd delay <nom> <secondes>?cmd list?cmd vars| Name | Type | Required | What it’s for |
|---|---|---|---|
nom | — | yes | Letters, digits and dashes, 25 characters max. The bot’s own names are taken. |
réponse | — | yes | The text the bot will send. Can contain variables like $(user). |
niveau | — | no | viewer · follower · vip · subscriber · moderator · headmod · broadcaster |
?cmd vars lists the variables: $(user), $(touser), $(channel), $(count), $(args), $(random), $(game), $(title), $(uptime).
?cmd add discord Rejoins-nous → discord.gg/akiden@toi ✅ ?discord enregistrée.?discordRejoins-nous → discord.gg/akiden?cmd level discord subscriber@toi ✅ ?discord réservée aux subscriber.?cmd list@toi ?discord ?twitter ?pcalso: ?compteurs ?count
Count deaths, wins, anything you like.
?compteur?compteur <nom>?compteur <nom> +?compteur <nom> +3?compteur <nom> -?compteur <nom> =12?compteur <nom> reset?compteur <nom> supprimer| Name | Type | Required | What it’s for |
|---|---|---|---|
nom | — | no | The counter. Empty: the channel’s counters. |
action | — | no | + · +3 · - · =12 · reset · supprimer (delete). Empty: reads the value. |
modifiersupprimerThat’s the starting point. The streamer picks a level for each action, on the dashboard or with ?droits commande compteur <action> <level>.
Anyone can read a counter. Moving one is for moderators to begin with, otherwise the chat would push it up for fun and the number would mean nothing. The streamer can open it up (the “modifier” action in ?droits), and pick separately who can delete one. A counter at zero that goes down stays at zero, and the bot says so instead of looking broken.
?compteur morts +morts : 1?mortsmorts : 1?compteur morts =12morts : 12?compteur@toi compteurs : morts : 12 · victoires : 3also: ?recurrent ?rappel
Schedule a message that repeats during the stream.
?timer add <nom> <15m|50msg> <message>?timer rem <nom>?timer edit <nom> <message>?timer every <nom> <15m|50msg>?timer list| Name | Type | Required | What it’s for |
|---|---|---|---|
nom | — | yes | Letters, digits and dashes, 25 max. |
déclencheur | — | yes | A delay (15m, 2h) or a number of messages (50msg). |
message | — | yes | What the bot will post again. |
The trigger comes before the message: otherwise there’s no telling where one ends and the other starts.
?timer add discord 30m Rejoins le Discord !@toi ✅ « discord » republie toutes les 30 min.?timer list@toi discord (toutes les 30 min)also: ?accountage ?anciennete
How old a Twitch account is.
?compte?compte @pseudo| Name | Type | Required | What it’s for |
|---|---|---|---|
@pseudo | — | no | Empty: your own account. |
The only information command that needs no rights: an account’s creation date is public. Mostly useful to spot accounts created that very day, which often come with a wave of spam.
?compte @nouveau@toi le compte de nouveau a 2 jours.also: ?follow ?suivi
How long someone has followed the channel.
?followage?followage @pseudo| Name | Type | Required | What it’s for |
|---|---|---|---|
@pseudo | — | no | Empty: yourself. |
Twitch only lets the streamer and their moderators read this. If the bot isn’t a moderator of the channel, it says it needs that role and reminds you of the /mod command to type.
?followage@toi tu suis la chaîne depuis 1 an et 3 mois. 💜?followage @quelquun@toi quelquun ne suit pas cette chaîne.also: ?unlurk
Say you’re lurking, or that you’re back.
?lurk?unlurkThe bot keeps the list of people lurking, so it can tell a real return from an ?unlurk typed by someone who never left.
?lurk🌙 toi passe en fond. Merci d’être là quand même !?unlurk👋 Bon retour toi !?unlurk@toi tu n’étais pas parti. 👀also: ?pred ?pari
Open, lock and resolve a Twitch prediction.
?prediction <question> | <issue 1> | <issue 2>?prediction <question> | <issue 1> | <issue 2> | 90s?prediction?prediction bloquer?prediction <numéro de l’issue gagnante>?prediction annuler| Name | Type | Required | What it’s for |
|---|---|---|---|
question | — | yes | Separated from the outcomes by a vertical bar. |
issues | — | yes | Two to ten, separated by vertical bars. |
durée | — | no | At the end. Two minutes of betting by default. |
bloquer | — | no | Closes the bets. Required before picking a winner. |
numéro | — | no | The winning outcome, by its position: 1 for the first. |
annuler | — | no | Refunds everyone. |
Twitch lets you resolve a prediction that’s still open; the bot refuses. Between the moment the result is known and the moment the command goes out, someone could still bet on a sure thing. So betting has to be locked before a winner is picked. It’s the one safeguard a streamer can’t give themselves in the heat of the moment.
?prediction On gagne ce round ? | Oui | Non🔮 On gagne ce round ? — Oui · Non — paris ouverts 2 minutes !?prediction bloquer🔒 Paris fermés pour « On gagne ce round ? ». 1. Oui · 2. Non?prediction 1🔮 « On gagne ce round ? » — Oui l’emporte !See also: ?sondage
also: ?shoutout
Shout out another channel.
?so @pseudo| Name | Type | Required | What it’s for |
|---|---|---|---|
@pseudo | — | yes | The channel to shout out. |
Two things at once: the message in the chat, which always goes out, and Twitch’s official shoutout on top when it’s accepted. Twitch limits the second (two minutes between two, an hour for the same person); when it fails, it fails silently, since the message is already out.
?so @amie📢 Allez voir Amie — dernièrement sur Celeste → https://twitch.tv/amiealso: ?poll
Start a Twitch poll from the chat.
?sondage <question> | <choix 1> | <choix 2>?sondage <question> | <choix 1> | <choix 2> | 120s?sondage?sondage fin?sondage annuler| Name | Type | Required | What it’s for |
|---|---|---|---|
question | — | yes | Separated from the choices by a vertical bar. |
choix | — | yes | Two to five, separated by vertical bars. |
durée | — | no | At the end, for example 120s. One minute by default. |
fin | — | no | Ends now and announces the result. |
annuler | — | no | Puts the poll away without announcing anything. |
For moderators, for a precise reason: a poll shows big on the channel and blocks the next one while it runs. Open to everyone, a single person could hold the tool for half an hour. With nothing after it, the command says where the current poll is and how much time is left.
?sondage Pile ou face | Pile | Face📊 Pile ou face — Pile · Face — vote ouvert 1 minute !?sondage fin📊 « Pile ou face » — Pile l’emporte. Pile 61 % · Face 39 % (312 voix)See also: ?prediction
also: ?abonnement
How many months you’ve been subscribed.
?subageOnly for yourself: Twitch’s API doesn’t give a subscription’s age, the bot reads it in the badges of your own message. So there’s no way to know it for someone else.
?subage@toi tu es abonné depuis 14 mois (palier 2). 💜?subage@toi tu n’es pas abonné à cette chaîne.