Skip to main content

Server Modules

This page covers the community features of Ririko: roles, giveaways, voice channels, welcome cards, stream alerts, free games, reminders, mini-games, and fun commands. Music, AI, economy, moderation and the card game have their own pages.

1. Overview​

Most features work as soon as the bot is in your server. Some need a few settings first.

FeatureDashboard pageNeeds setupSection
Auto rolesAuto RolesYes. Pick the roles.2.1
Reaction rolesReaction RolesYes. Build a panel.2.2
Temporary rolesNone (command only)No2.3
GiveawaysGiveawaysNo3
Auto voice channelsAuto VoiceYes. Pick a voice channel.4
Welcome and farewell cardsWelcome Card, Farewell CardYes. Pick a channel.5
Stream alertsStream AlertsYes. Pick a channel, add streamers.6
Free gamesFree GamesYes. Pick a channel.7
RemindersNoneNo8
Server settingsGeneralNo9
Mini-gamesGamesNo10
Anime, reactions, memesNoneNo11

To use the dashboard, see dashboard.md. To turn a command off, use the Commands page. See commands.md.

2. Roles​

Ririko needs the Manage Roles permission. It can only give roles that sit below its own highest role. It cannot give @everyone or roles that belong to an integration.

The role commands need Manage Roles or Manage Server (or Administrator).

2.1. Auto Roles​

Auto roles give roles to new members and bots when they join. They also set up a verification button.

Turn it on.

  1. Open the dashboard Auto Roles page.
  2. Pick up to 10 roles for new members.
  3. Pick up to 10 roles for new bots.
  4. Turn on Give join roles.
  5. Save.

Command. /autorole

OptionRequiredWhat it does
actionYesshow, humans, bots, verify, disable or send-verify.
roleFor humans, bots, verifyThe role to set.
targetFor disableWhat to turn off: humans, bots, both, verify or all.
channelNoWhere send-verify posts the button.
messageNoThe text on the verification message.

To set up verification:

  1. Run /autorole action:verify role:@Verified.
  2. Run /autorole action:send-verify channel:#verify.
  3. Members click the button to get the role.

2.2. Reaction Roles​

A reaction role gives a role when a member clicks a button or a reaction.

Turn it on. The dashboard has a message builder.

  1. Open the Reaction Roles page.
  2. Write the message. You can add an embed.
  3. Add up to 25 role buttons. Or add one role menu with up to 25 options.
  4. Pick a click mode: toggle, give only, remove only, or pick one.
  5. Check the preview. Then publish.

This page needs a passkey check. See dashboard.md. The page also lists every message with roles. You can remove a role or delete a panel.

Commands.

/create-reaction-role adds a role to a message that already exists.

OptionRequiredWhat it does
message-idYesThe ID of the message.
emojiYesThe emoji or the button label.
roleYesThe role to give.
modeNotoggle (default), give_only, remove_only or unique.
typeNoemoji (default) or button.
groupNoA group name. In a unique group, a member keeps one role.

/reaction-roles lists the roles of the server.

OptionRequiredWhat it does
actionNolist or remove.
idFor removeThe ID of the reaction role to remove.

2.3. Temporary Roles​

A temporary role is removed by Ririko after a set time. There is no dashboard page.

Command. /temprole

OptionRequiredWhat it does
actionYesadd, remove or list.
userFor add, removeThe member.
roleFor add, removeThe role.
durationFor addHow long, such as 30m, 2h, 1d or 1w.

3. Giveaways​

A giveaway has a prize, an end time and a button. Members click the button to enter. Giveaways continue after a restart of the bot.

Turn it on. Nothing to turn on. Members with Manage Messages, Manage Server or Administrator can create giveaways.

Command. /giveaway

OptionUsed byWhat it does
actionAllcreate, end, reroll, delete, edit or list. With no action, Ririko lists the giveaways.
prizecreate, editWhat you give away.
durationcreate, editTime until the end, such as 30m, 12h or 1d. At least 5 seconds and at most 30 days.
winnerscreate, edit, rerollHow many winners. The default is 1.
channelcreateThe channel for the giveaway.
rolecreateA role that members must have to enter.
giveawayend, reroll, delete, editThe message ID or the giveaway ID.
  • list is open to everyone. Every other action needs the permissions above.
  • You cannot edit a giveaway after it ends.
  • You can reroll only a giveaway that has ended.
  • The dashboard Giveaways page lists running giveaways and the last 25 that ended. You can end one or reroll winners there. Create giveaways in Discord.

Prefix form: !giveaway create <duration> <winners> <prize>. The old names !gcreate, !gend, !greroll, !gdelete, !gedit and !glist still work.

4. Auto Voice Channels​

A member joins a "Join to Create" voice channel. Ririko makes a new voice channel for them and moves them in. When everyone leaves, Ririko deletes the channel. After a restart, Ririko removes channels that were left behind.

Turn it on.

  1. Open the dashboard Auto Voice page.
  2. Add a hub (up to 20). Pick the voice channel.
  3. Set a name template. Use {user} for the member name.
  4. Set a user limit and a bitrate.
  5. Save.

Or run /autovoice action:setup channel:<voice channel>.

Commands. /autovoice needs Manage Channels or Manage Server.

OptionRequiredWhat it does
actionYessetup, remove or list.
channelFor setup, removeThe "Join to Create" voice channel.
templateNoThe name of new channels. Use {user} for the member name.
limitNoThe user limit. 0 means no limit. The most is 99.
bitrateNoThe bitrate in bps, such as 64000. Ririko lowers it to what the server allows.

/voice manages your own temporary channel. Only the channel owner can use it. You must be in that channel.

OptionRequiredWhat it does
actionYesname, limit, lock, permit, kick, claim or transfer.
nameFor nameThe new channel name.
limitFor limitThe user limit, 0 to 99.
lockedFor locktrue locks the channel. false unlocks it.
userFor permit, kick, transferThe member.

claim lets you take a channel when its owner has left it. The old names !avc, !vname, !vlimit, !vlock, !vunlock, !vpermit, !vkick, !vclaim and !vtransfer still work as prefix commands.

5. Welcome and Farewell Cards​

Ririko posts a picture card when a member joins or leaves.

Turn it on.

  1. Open the dashboard Welcome Card page. For leaves, open Farewell Card.
  2. Turn on the card.
  3. Pick the channel. Ririko needs to send messages and attach files there.
  4. Write the message. It can be up to 200 characters.
  5. Pick a text and border color, such as #ffffff.
  6. Pick a background. Give a link, or upload a file.
  7. Check the preview. Then save.

The message can use {user}, {server} and {memberCount}.

  • A link must be public and point to a PNG, JPEG, WebP or GIF image.
  • An upload can be a PNG, JPEG, WebP or GIF file. It can be up to 2 MB and 4096 pixels on each side. An upload replaces the link, and a link replaces the upload.
  • You can also send a text message in the same Discord message as the card. It can be up to 2000 characters. Placeholders: {user}, {username}, {server} and {memberCount}. A word like #rules that names a channel becomes a channel link. The text never pings @everyone, @here or roles.

Commands. /welcomer and /farewell need Manage Server. They have the same options.

OptionWhat it does
channelThe channel for the card.
messageThe text on the card. Use {user}, {server} and {memberCount}.
backgroundA public link to the background image, or none.
colorA hex color for the text and border.
textThe text message sent with the card, or none.
enabletrue or false.

The aliases are /welcome and /goodbye.

6. Stream Alerts​

Ririko posts a message when a streamer goes live. It supports Twitch, YouTube and TikTok. A server can follow up to 25 streamers.

Turn it on.

  1. For Twitch alerts, the host sets the Twitch keys. YouTube and TikTok alerts work without keys. See adapters.md.
  2. Open the dashboard Stream Alerts page.
  3. Add a streamer. Give a name, an @handle, a YouTube channel ID or a profile link.
  4. Pick the platform, or leave it on automatic.
  5. Pick the channel for the alerts.
  6. Optional: pick a role to mention, and write your own message.
  7. Save.

The message can use {streamer}, {title}, {game}, {platform}, {url} and {role}. It can be up to 1000 characters. Ririko pings only the role you picked.

Commands. All actions except list need Manage Server.

/stream

OptionUsed byWhat it does
actionAllsubscribe, unsubscribe, list, channel or check.
streamersubscribe, unsubscribeThe name, handle, channel ID or profile link.
platformNoTWITCH, YOUTUBE or TIKTOK.
channelsubscribe, channelThe channel for the alerts.
roleNoThe role to mention.
custom_messageNoYour own message.
  • !subscribe <streamer> [platform] and !unsubscribe <streamer> [platform] are prefix shortcuts.
  • /setup-stream-notification channel:<channel> sets the default alert channel.
  • /stream-status lists the followed streamers and shows who is live. Everyone can use it.
  • Ririko checks for live streams every minute. The host can change this with STREAM_CHECK_INTERVAL_MS.

7. Free Games​

Ririko announces free games from the Epic Games Store and Steam.

Turn it on.

  1. Open the dashboard Free Games page.
  2. Pick the announcement channel. Ririko needs to send messages and embed links there.
  3. Optional: pick a role to ping above each announcement.
  4. Save. Leave the channel empty to turn the announcements off.

Command. /freegames

OptionWhat it does
actionshow, setchannel or remove.
channelThe announcement channel (for setchannel).
roleThe role to ping. When you leave it out, the old role stays.

setchannel and remove need Manage Server. show is open to everyone.

8. Reminders​

/reminder sets a reminder for you. Ririko sends it as a direct message.

OptionWhat it does
timeWhen. For example 30m, 2h, tomorrow 9am, next friday 8pm or 2026-12-25 08:00. Up to 100 characters.
messageWhat to remind you about. Up to 500 characters.
repeatnone, daily or weekly.
actionset, list, cancel or timezone. With a time, the default is set. Without one, it is list.
idThe reminder ID to cancel. The list shows it.
zoneYour time zone, such as Asia/Kuala_Lumpur.

Prefix examples:

  • !remindme 1h take a break
  • !remindme daily 9am take pills
  • !reminder list
  • !reminder cancel <id>
  • !reminder tz Asia/Kuala_Lumpur

Limits:

  • The time must be in the future and at most 1 year away.
  • You can have 25 active reminders.
  • Ririko checks for due reminders every 15 seconds.
  • If Ririko cannot send a direct message, it posts in the channel where you set the reminder and mentions only you. If that also fails, the reminder is dropped.
  • A repeating reminder keeps the same clock time when summer time changes. It skips times missed while the bot was offline.

Ririko reads times in your time zone. If you set none, it uses the time zone of the server. If that is not set either, it uses UTC.

9. Server Settings and Information​

CommandWhat it does
/prefixShows the prefix. /prefix set:<prefix> changes it. Needs Manage Server. !setprefix <prefix> also works.
/timezoneShows a time zone. /timezone set:<zone> scope:server sets the server zone (Manage Server). scope:user sets your own zone.
/get-avatarShows the avatar of a member. Options: user, and server_avatar for the server avatar.
/guild-infoShows the server's information and settings. Server only.
/member-infoShows a member's profile, roles, permissions and time zone. Option: user. Server only.

The dashboard General page sets the prefix and time zone too. Time zone names come from the IANA list, such as Europe/London or UTC.

10. Mini-Games​

Mini-games use credits. See economy.md. A wager is optional. When you play with a wager, Ririko takes the credits first. A win pays double the wager. A tie gives the wager back. A loss keeps the credits.

Turn it on. The games are on by default. Open the dashboard Games page to:

  • set the largest wager (empty means no limit),
  • turn each game on or off,
  • set a cooldown for each game.
CommandOptionsHow it works
/tictactoeopponent (required), wagerA 3x3 game with buttons. Pick a member to play a person. Pick Ririko to play the AI, which never loses. Each turn has 60 seconds.
/rpsopponent, wagerRock-Paper-Scissors with secret buttons. With no opponent, you play Ririko.
/highlowwagerRiriko shows a number from 1 to 100. Guess if the next number is higher or lower. A tie gives the wager back.
/coinflipguess (heads or tails), wagerFlips a coin. A wager needs a guess.
/dicecount (1 to 6), sides (2 to 100), wagerRolls dice. With a wager, you and Ririko each roll one six-sided die. The higher roll wins.

Prefix examples: !cf heads 100, !roll 2, !rps @friend 50.

/adventure is a story game with choices. See adventure-game.md.

11. Anime, Reactions and Memes​

/anime, /manga and /anime-character search for a title or a character. Each has one required option, search.

  1. Run the command.
  2. Pick a result in the menu (up to 10 results).
  3. Read the details. Pick another result in the same menu if you want.

Only you can use the menu. It stops working after 2 minutes.

  • Ririko asks MyAnimeList (through Jikan) first. If that fails, it asks AniList.
  • Adult entries show only in age-restricted channels.
  • Ririko remembers search results for 10 minutes.

11.2. Waifu Images and Wallpapers​

  • /waifu sends a random safe image from waifu.im. The Another one button sends a new image. Only you can use it.
  • /wallpaper search:<keyword> finds anime wallpapers. Pick a source (WallHaven, Zerochan or Konachan). Ririko shows 3 wallpapers. Then you can load more, switch the source, or stop. Wallpapers are safe for work and never repeat.

11.3. Reactions​

/react type:<name> [target:@user] sends an anime GIF. With no target, it is aimed at you. Start typing in type to see the list.

There are 68 reactions: airkiss, angrystare, bite, bleh, blush, brofist, celebrate, cheers, clap, confused, cool, cry, cuddle, dance, drool, evillaugh, facepalm, handhold, happy, headbang, hug, kiss, laugh, lick, love, mad, nervous, no, nom, nosebleed, nuzzle, nyah, pat, peek, pinch, poke, pout, punch, roll, run, sad, scared, shout, shrug, shy, sigh, sip, slap, sleep, slowclap, smack, smile, smug, sneeze, sorry, stare, stopit, surprised, sweat, thumbsup, tickle, tired, wave, wink, woah, yawn, yay, yes.

Each name also works as a prefix command, such as !hug @friend. The exception is roll, which is also /dice. Use !react roll. The cooldown is 2 seconds.

11.4. Memes​

/meme template:<name> text1:<text> [text2] [text3] [text4] [text5] makes a meme picture. Start typing in template to see the list.

Templates: 0days, allmyhomies, always-been, american-chopper, chad, everywhere, getting-paid, got-any-more, train-bus, undertaker and woman-yelling-at-cat.

  • Each template uses its own number of texts. american-chopper has up to five panels.
  • Prefix forms: !meme chad text1 | text2 and !chad text1 | text2.
  • The cooldown is 3 seconds.