Mingming
A Discord bot that gets students registered with their proper names, so I can actually find them. It now runs in all three of my class servers.
the problem
I use Discord for class communication because I wanted to keep my professional and personal spaces separate (Messenger is the default in the Philippines). I asked students to rename themselves with their full names so I could find them easily.
It turns out I overestimated a group of humans' ability to be uniform. The nicknames were a mess, and looking up a student to message them took forever. No existing bot did exactly what I needed, so I thought: why don't I make one for this?
how it works
- 1
A student joins
All they can see is #welcome, with a Register button (or one button per section).
- 2
They fill in a form
Complete first name, middle name, last name, suffix, and email.
- 3
Mingming checks the list
It finds them on my class list, even with small typos, and reads their section from it.
- 4
Done!
Their nickname becomes "Last, First M.", their section's channels open, and I get pinged if anything looks off.
Behind the scenes: when a student clicks the button, Discord sends a request to Mingming on Cloudflare. Mingming wakes up, does the job, saves the record to a small SQL database, and goes back to sleep. Nothing runs on my laptop, and it costs nothing. Discord expects an answer within 3 seconds, so Mingming replies "thinking..." right away and finishes the work in the background.
features i'm proud of
Forgiving name matching
It still finds a student who made a small typo, skipped an accent (ñ) or a second given name, or put their first and last names in the wrong boxes.
Registrar mistakes get caught
If a name truly differs from the class list, Mingming keeps the student's spelling, asks them to check with the Registrar, and pings me to review it.
Names come out tidy
"jUaN dela CRUZ" becomes "Dela Cruz, Juan", and very long names shrink into initials to fit Discord's 32-character limit.
Channels open by themselves
Each student gets their section's role, so they only see their own section's announcements and chat.
Careful with student data
Only I can download the emails, and it refuses to hand out any role that carries staff powers.
Eleven commands just for me
Like /unregistered to see who hasn't signed up yet, and /export-roster for a spreadsheet of the whole class.
what students see (tap to zoom)
what i see
what it meant to me
For a long time I did "tech things" to graduate, then to get a job. Mingming was the first time I asked, "what can I make to fix a problem I'm personally facing?" It finally made me appreciate the beauty and fun of the computing field. It was a turning point for me. Maybe it came late, but late is better than never.