MIDWAVE
[ DISCORD ENTERTAINMENT BOT ]

MAKING DISCORD MORE FUN.

Games, creative tools, and AI assistance built into one Discord bot.

07 MINI-GAMES02 CREATIVE UTILITIESGOOGLE GEMINI AI
[OBJ: POLY_CLUSTER]MODE: MONOCHROME
FIG. 01 // GEOMETRIC MATRIXNODE.JS + DISCORD.JS
[ 01 // CREATIVE UTILITIES ]

CREATIVE TOOLS.

Two in-memory PNG image generators built directly into Discord channels.

PREVIEW // 1024 × 1024 PNGFILE: midwave-brat.png

making discord more fun with midwave

TOOL 01 // IMAGE SYNTHESIS

BRAT GENERATOR

Create minimalist text-based images with the Brat-inspired visual aesthetic.

  • • Solid #FFFFFF background with #000000 lowercase type
  • • Top-left aligned text with automatic sizing and wrapping
  • • Subtle soft lo-fi blur (max 100 characters)
  • • Rendered in memory with per-user cooldown protection
/brat!brat
PREVIEW // 1080 × 1080 TRANSPARENT PNGFILE: midwave-igf.png
M
Midwave User
DISCORD IDENTITY
•••
TRANSPARENT CANVAS1080 × 1080 PNG OVERLAY
♡ 💬 ↗!igf
TOOL 02 // FRAME OVERLAY

INSTAGRAM POST FRAME

Turn your Discord identity into an Instagram-style post frame.

  • • Pulls caller's Discord avatar and display name
  • • Clean Instagram-style post card layout
  • • Square 1080 × 1080 PNG output
  • • Transparent image background for easy layering
!igf
[ 02 // ARCADE PROTOCOL ]

INTERACTIVE GAMES.

Challenge yourself or compete with friends through seven interactive mini-games directly inside Discord.

01

NUMBER GUESSING

Solo1v1 Multiplayer

Deduce the hidden target number using Higher or Lower feedback before attempts run out.

DIFFICULTIES: Easy (1–50, 8 attempts) • Normal (1–100, 10 attempts) • Hard (1–200, 12 attempts)
/guess
02

ROCK PAPER SCISSORS

Solo1v1 Multiplayer

Classic showdown with secret ephemeral choices until both players lock in.

DIFFICULTIES: Standard
/rps
03

TRIVIA QUIZ

Solo1v1 Multiplayer

90 curated questions across 6 categories and 3 difficulties in 5-round matches.

DIFFICULTIES: Easy • Normal • Hard
/trivia
04

COIN FLIP

Solo1v1 Multiplayer

Predict Heads or Tails in solo play or secret 1v1 predictions.

DIFFICULTIES: Standard
/coinflip
05

DICE ROLLING

Solo1v1 Multiplayer

Roll 1 to 10 customizable dice with 2 to 100 sides per die.

DIFFICULTIES: Custom (1–10 dice, 2–100 sides)
/dice
06

TIC TAC TOE

Solo1v1 Multiplayer

3×3 tactical grid with Easy, Normal, and unbeatable Hard (Minimax) AI.

DIFFICULTIES: Easy • Normal • Hard (Minimax AI)
/tictactoe
07

CONNECT FOUR

Solo1v1 Multiplayer

7×6 vertical disc board with Easy, Normal, and Alpha-Beta AI.

DIFFICULTIES: Easy • Normal • Hard (Alpha-Beta AI)
/connect4
[ 03 // 1V1 MULTIPLAYER ]

PLAY TOGETHER. COMPETE DIRECTLY.

Challenge another Discord user, accept invitations, take turns, and discover who wins.

01 — CHALLENGE

Send a 1v1 game invitation to any server member using a slash or prefix command.

02 — ACCEPT

The opponent accepts or declines within 60 seconds using /invite accept or /invite decline.

03 — PLAY

Compete turn-by-turn inside the channel until a winner or draw is declared.

PREVIEW 01 // MATCH INVITATION
MIDWAVE BOTTTL: 60s

@player_one challenged @player_two to TIC TAC TOE.

/invite accept/invite decline
PREVIEW 02 // GAME BOARD
TIC TAC TOE (3×3)TURN: X
X
O
A3
B1
X
B3
O
C2
C3
CMD: /tictactoe move position:C3
PREVIEW 03 // RESULT EMBED
MATCH COMPLETEIN-MEMORY

Winner: @player_one completed diagonal line A1 → B2 → C3.

Session disposed cleanly • Zero persistent storage
[ 04 // MIDWAVE AI ]

INTELLIGENCE, INSIDE DISCORD.

An AI-powered assistant designed to help with programming, technology, education, and everyday questions.

/ai!aiGOOGLE GEMINI API
OPERATING CHARACTERISTICS
  • • Each request is processed independently
  • • Strictly stateless — no conversation history stored
  • • Per-user cooldowns (8s) and 1,500-char prompt limit apply
  • • Supports Indonesian and other languages
DISCORD // #generalSTATELESS GEMINI REQUEST
USER // /ai question
> Jelaskan perbedaan let dan const di JavaScript secara singkat.
MIDWAVE AI // RESPONSE

let digunakan untuk variabel yang nilainya dapat diubah kembali (reassigned), sedangkan const digunakan untuk referensi konstan yang tidak bisa di-assign ulang setelah deklarasi.

let score = 10;
score = 20; // valid

const maxAttempts = 8;
// maxAttempts = 10; // TypeError
HISTORY: NONE (INDEPENDENT PROMPT)COOLDOWN: 8S / USER
FIG. 02 // HYPERCUBEZERO BLOAT
[ 05 // PHILOSOPHY ]

WHY AND HOW?

Midwave brings interactive entertainment, creative expression, and AI assistance into one Discord experience.

Instead of cluttering servers with separate bots for mini-games, meme utilities, and quick AI lookups, Midwave unifies all three inside a single modular Node.js and discord.js architecture.

Every game engine runs cleanly in memory with automatic session expiration, zero database overhead, and support for both Slash Commands and Prefix Commands.

07
MINI GAMES
02
CREATIVE TOOLS
01
AI ASSISTANT
02
PLAY MODES
[ 06 // COMMAND REFERENCE ]

EVERYTHING STARTS WITH A COMMAND.

Search and filter every supported Slash (/) and Prefix (!) command.

/guessGamesNumber Guessing

Start a solo or 1v1 number guessing match with Easy, Normal, or Hard ranges, then submit guesses.

USAGE: /guess solo difficulty:normal • /guess play number:42
/rpsGamesRock Paper Scissors

Play Rock Paper Scissors solo against Midwave or challenge an opponent with secret choices.

USAGE: /rps solo choice:rock • /rps challenge opponent:@user
/triviaGamesTrivia Quiz

Launch a 5-round trivia match from 90 curated questions across 6 categories and 3 difficulties.

USAGE: /trivia solo category:science difficulty:normal • /trivia answer option:B
/coinflipGamesCoin Flip

Predict Heads or Tails in solo mode or lock in secret 1v1 multiplayer predictions.

USAGE: /coinflip solo choice:heads • /coinflip challenge opponent:@user
/diceGamesDice Rolling

Roll 1–10 dice with 2–100 sides per die (default 1d6) solo or in a 1v1 roll-off.

USAGE: /dice solo count:2 sides:6 • /dice challenge opponent:@user
/tictactoeGamesTic Tac Toe

Play a 3×3 grid match against Easy/Normal/Hard Minimax AI or a Discord friend.

USAGE: /tictactoe solo difficulty:hard • /tictactoe move position:B2
NOTE: Prefix alias: !ttt
/connect4GamesConnect Four

Drop discs into a 7×6 board against Alpha-Beta AI or challenge another player.

USAGE: /connect4 solo difficulty:normal • /connect4 drop column:4
NOTE: Prefix alias: !c4
/bratCreativeBrat Generator

Render a 1024×1024 white-background PNG with lowercase black typography, auto-wrapping, and subtle lo-fi blur.

USAGE: /brat text:midwave in discord
NOTE: Max 100 characters • Per-user cooldown applies
/aiAIMidwave AI

Ask a single independent question powered by Google Gemini (programming, tech, education, or general Q&A).

USAGE: /ai question:Explain async/await in TypeScript
NOTE: Stateless (no chat history) • 8s cooldown • Max 1,500 chars • Supports Indonesian & other languages
/helpUtilityHelp

Display bot usage instructions, available utility commands, and multiplayer match rules.

USAGE: /help
/gamesUtilityGames Directory

List all seven interactive mini-games along with their Solo and Multiplayer commands.

USAGE: /games
/game statusUtilityGame Status

Inspect your currently active match or outgoing pending multiplayer invite.

USAGE: /game status
/game cancelUtilityGame Cancel

Cancel your active game session or withdraw an outgoing multiplayer challenge.

USAGE: /game cancel
/invite acceptUtilityAccept Invite

Accept the latest pending 1v1 multiplayer challenge sent to you.

USAGE: /invite accept
NOTE: Invites expire automatically after 60 seconds
/invite declineUtilityDecline Invite

Decline an incoming multiplayer challenge cleanly.

USAGE: /invite decline
[ 07 // ONBOARDING ]

READY TO EXPERIENCE MIDWAVE?

01 — INVITE

Add Midwave to your Discord server via the Discord OAuth2 authorization link.

02 — AUTHORIZE

Grant the required bot and applications.commands scopes along with channel permissions.

03 — EXPLORE

Run /help or /games in any permitted channel to start playing, generating, or asking.

DISCORD OAUTH2 SCOPES
botapplications.commands

Both scopes are required so Midwave can register slash commands and respond in channels.

REQUIRED BOT PERMISSIONS
View Channels
Required to read command triggers
Send Messages
Required to post game boards and AI replies
Embed Links
Required for structured Discord embeds
Attach Files
Required for /brat, !igf PNGs, and assets
Read Message History
Required to reference active channel context
Manage Messages
Optional — deletes secret prefix choices like !rps choose
[ 08 // DOCUMENTATION ]

FREQUENTLY ASKED QUESTIONS.

Midwave is a multifunctional Discord entertainment bot built with Node.js and discord.js. It combines seven interactive mini-games (Solo and 1v1 Multiplayer), two creative image utilities (/brat and !igf), and a stateless Google Gemini AI assistant (/ai and !ai) in one bot.
[ 09 // DEPLOY TO SERVER ]

MAKE YOUR DISCORD MORE INTERESTING.

Bring games, creativity, and AI to your server with Midwave.