How to Test And Official Website
You can find information on how to join the Meme Bot Server and how to use the bot at: http://make-memes.online (Note this domain is registered with Domain.com and is my submission for the best domain registered with Domain.com)
My idea was to make a fully-featured, yet light-hearted and fun bot. I found that most bots have common basic functions, which should be included in my bot, as well as other unique functions that make it stand out.
What it does
There are several functions that my bot has, namely:
~User verification using the Google Sheets API to make sure users have registered before joining the server
~Meme creation using PIL, where users can use the !meme command to specify text to go on any of the 12 meme templates included.
~Random joke using the pyjokes API, where users can use the !joke command to get a joke from the bot.
~Anonymous messages, where users can send an anonymous message to the channel with the !anon command
~Purge messages (Admin only) for easy channel cleanup
~Magic 8 Ball via the !ask command, where the user gets a response to a question
~Coin flip and custom dice rolling via the !flip and !roll commands
How I built it
The overall bot is written with the discord.py API. Verification is done using the Google Cloud Platform, where a Google Form is used for registration, which automatically populates a Google Sheet, whereby the bot fetches the info from the Google Drive and Google Sheets APIs to validate user verification. Meme Creation is done using PIL (the Python Imaging Library) whereby text is affixed to various template images based on user input. Random Jokes are fetched via the pyjokes API
Challenges I ran into
As this was my first real Discord Bot, I found it difficult to traverse through the documentation, making it difficult to figure out how to manage roles necessary for verification. Moreover, it was difficult to get the PIL meme creation working properly, as I had to hand-tune certain settings to make the text look presentable.
Accomplishments that I'm proud of
I am proud of my accomplishment of successfully building and deploying a fully-featured Discord bot. The two features that I am proud of are verification and meme creation. Both of these features required me to step outside my comfort zone and learn to use external APIs.
What I learned
This is my first Discord bot so I learned how to use discord.py over the weekend. Moreover, it was my first time using the Google Cloud Platform, and my first time doing image manipulation (which I accomplished via PIL). This is my first time using many different APIs in one project, so I definitely learned how to compartmentalize and organize them in a way that is legible.
What's next for Meme Bot
I plan on adding new meme templates, as well as new commands based on user requests. Moreover, I plan on adding Meme Bot to some of the various servers I am a part of so that real people can use it.
I submit the domain http://make-memes.online for the best domain registered with Domain.com challenge
~Google Drive API
~Google Sheets API
~PIL (Python Imagine Library) API
Best Use of Google Cloud
I utilize various Google services to employ secure and seamless verification for my bot. These include: Google Cloud Platform, Google Drive API, Google Sheets API, and Google Forms, as well as Google Sites to host information about my bot. Users fill out a Google Form, which populates a Google Sheet, which is fetched via the Google Drive API and Google Sheets API (from the Google Cloud Platform) and matched against user input. This allows users to verify themselves quickly, easily, and safely.
jere_mie#9432 (Discord Tag)