Mirror is a multi-purpose Discord bot which provides fun, immersive and informative features for your discord server at no cost.
Mirror is a for-fun personal project for learning programming and computer science concepts through TypeScript, node-js, GitHub, and the Discord API.
Mirror was created in 2021 by Ford and Phantasm, with contributions from Zac, Luke, Gavin and Marty.
Interested in adding Mirror to your server? Click here
By adding or using Mirror you agree to our Terms of Service and Privacy Policy.
Set your introtheme with /intro to play an audio clip every time you join a voice channel!
Paste a YouTube link into the 'video' field. The video can be up to 10 minutes long; Mirror keeps its first 5 seconds and plays those.
Mirror allows users to listen to songs and playlists from YouTube, Spotify, SoundCloud and Apple Music. Using /play or /playnext you can search for songs or paste your own song or playlist and it will add it to the queue.
The Music functionality includes many commands:
/shuffle/loop/resume,/pause/queue,/clearqueue/skip/nowplayingand more!
Save your birthday with /birthday and Mirror will wish you a happy birthday in your server. Only the day and month are stored. /birthdaylist shows everyone's birthdays in the server, and managers choose the channel and time for the messages with /birthdayconfig.
-
/weatherCurrent weather for a provided city. -
/stockDaily summaries for up to 5 provided tickers. -
/nasaDisplay the NASA Astronomy Picture of the Day.
/rollRoll dice for D&D, like1d20+4./pollCreate a poll with up to 10 options./nutAdd or remove a nut from the server's nut jar./kanye,/kawaii,/tickle,/sickoand more.
X/Twitter, Instagram and TikTok links arrive in Discord as bare text or an empty card. With /embedfix on, Mirror replies to one with the same post rewritten so it previews, and hides the empty embed on the original where it has Manage Messages. It is off until a manager turns it on, and it never deletes anyone's message.
Two things worth knowing before turning it on:
- The rewritten link is re-posted by Mirror, under Mirror's own name. A link filter, automod rule or audit habit that watches what people post will not see it, so managers should account for Mirror itself in those lists.
- The previews come from small third-party sites (the rules are listed here), not from X, Instagram or TikTok. Mirror only rewrites the text and posts it; Discord's crawler is what fetches the preview.
Commands marked [MANAGER] can only be used by server administrators and roles added with /managerrole. Managers can:
- Turn features on or off:
/autojoin,/embedfix,/nsfw - Stop a member or role from using intros, music and birthdays:
/silencemember,/silencerole - Remove someone's intro theme:
/removeintro - Set the embed color and update channel:
/servercolor,/update
Use /config to see your server's current settings.
Using Mirror means following our Terms of Service, which also cover what server managers are responsible for.
Mirror reads messages so it can respond to commands, keywords and links, but it does not store them. It stores only what you give it, such as your birthday and intro theme, plus server settings. Read the full Privacy Policy for details, including how to have your data removed.
Mirror is a public project and as such you are welcome to contribute if you desire.
If you want to work on Mirror with the team reach out to one of us on discord and we will get you started.
For more information on formatting and installing the bot read below:
Contributing
Building the bot
APIs we use
Monitoring the bot
Development Server
Big thank you to Phantasm for building Mirror's framework and being an incredible mentor through this process, answering every question I have, no matter how dumb.
discord.js.org for providing an incredibly deep and interesting package.
Luke, Gavin, Marty and Leo for allowing me to teach them GitHub, discord and TypeScript.
The wonderful folks from DisCouch, Paris, Friends and MarcyPark for breaking the bot countless times, making it even stronger than before.