Skip to content

WeismanGitHub/Hall-of-Fame-Discord.js-Bot

Repository files navigation

Hall-of-Fame Discord.js Bot

Description

In this project, I designed and developed a comprehensive "Hall of Fame" bot, equipped with 28 commands, enabling users to capture and organize memorable moments in various formats such as text, images, and audio. The bot's primary objective is to provide users with a seamless experience in saving and categorizing cherished memories, making them easily accessible through attributes like authors, tags, types, and text. To facilitate user interaction, a user-friendly web dashboard serves as a convenient alternative to interacting with the bot directly, which necessitated the creation of a robust API.


Web Dashboard

The web dashboard is an alternate way to use the bot's infrastructure. It can do nearly everything the bot can do, but it uses a GUI to make usage simpler. Mobile is currently not supported, and without more popularity that won't change.


Authors

Authors have a name and an optional image. The default image is the Hall of Fame Bot's icon. Authors are created with /create_author and edited with /edit_author. Use the last_image parameter of the command to use the latest image sent in a channel. You can also upload an image to Discord or somewhere else, copy the link, and input that into the image_link parameter. Deleting an author with /delete_author will make any of those author's quotes display "Deleted Author". See a server's authors with /get_authors.

Author Example


Quotes

You can find quotes with /count_quotes, /find_quotes, and /random_quote. When using these commands, you can filter by the author, tags, type of quote (regular, image, audio, and multi), and look for specific text. You can also use /quotes_channel to choose a channel for all quotes to automatically be forwarded to so you can have them all in a centralized place.

Regular Quote

Regular quotes require an author and text, and you can choose up to 3 tags. They are created with /create_quote, edited with /edit_quote, and deleted with /delete_quote.

Regular Quote Example

Image Quote

Adding an image to any type of quote converts it to an image quote. To create a quote with just an image use /create_quote and edit with /edit_quote. The last_image parameter of a quote command uses the latest image sent in a channel. You can also upload an image to Discord or somewhere else, copy the link, and input that into the image_link parameter. Make sure not to copy the link to the message.

Image Quote Example

Audio Quote

Audio quotes require an author and title, and optionally up to 3 tags. They are created with /create_audio_quote, edited with /edit_audio_quote, deleted with /delete_quote, and played in a voice channel with /play_quote or /play_random_quote. Use the last_audio parameter of the command to use the latest audio or video file sent in a channel. You can also upload an audio or video file to Discord or somewhere else, copy the link, and input that into the audio_file_link parameter. Make sure not to copy the link to the message.

Audio Quote Example

Multi Quote

Multi quotes require between two and five fragments and a title, and optionally up to 3 tags. A fragment is an author/text pair. Multi quotes are created with /create_multi_quote, edited with /edit_multi_quote, and deleted with /delete_quote.

Multi Quote Example


Tags

Tags are just text. They are created with /create_tag, edited with /edit_tag, and deleted with /delete_tag. Editing/deleting a tag changes the tag in quotes. See a server's tags with /get_tags.

Tag Example