Social Good Track
Inspiration
Non profits frequenty struggle to get the necessary attention and traction they need to make a significant impact in the causes theyre working towards. Building an app or website from scratch is not only hard, but also next to impossible to attract the viewerbase and awareness it needs to really make a difference.
This is why we made a discord bot! In 2020, Discord had almost 100 million monthly active users. Discord servers like the very one that Mocohacks is being hosted on can have hundreds, thousands, to hundreds of thousands of members. Discord can be a readily available resource and community that non profits and charities take advantage of. By using the well established userbase in discord, our bot can tap into the potential a plethora of diverse servers all ready to lend a helping hand. No bot in the community right now has done this yet.
What it does
Consists of several commands with certain parameters. !Charity: -Receives parameters of Search, State, City and Zip Code in that order
- Parameters for this command are not necessary, you can add “/” to parameters you don’t want to use(only really need the “/” if the parameter is between two other parameters you inputted) -Utilizes an API called “Charity Navigator API” -Parses through the database and sends in discord the names of the 10 best charities that match your search and each of their respective websites
!Volunteer:
- Receives parameters of name, zip code and day of the week in that order
- Adds a volunteer to our program’s dataset and also all the information gathered by the parameters
- Stores the information for the future calculations between volunteers and the donators closest to them
!Donate: Receives parameters of Name, Zip Code, Donate Item, Amount, Day of the week and Address Gets all the user input from discord and stores the data of the donation request in a data set inside the program Uses the address parameters to calculate the nearest volunteer and assign the donation request to that volunteer
!help: This command is a relatively simple one in which the Charity Bot returns a list of the commands and their respective parameters in discord.
How we built it
We used python with imported libraries such as json, requests, discord and os.
Challenges we ran into
During our whole process of creating this DIscord Charity Bot we encountered many challenges. One of the first challenges we encountered was during the brainstorming process for our project, since we weren't able to narrow anything specific down. It took us a couple hours to come up with this idea. Another challenge we ran into was when we were trying to add a feature where the user could search for volunteer opportunities near them. The issue we ran into for this was that there were essentially to accessible and free databases/apis to use for this sort of data. Finally, one other challenge we faced during our process was when we were figuring out how the discord library for the bot worked in Python. The documentation for this library was so long and we encountered errors many of the times when we were trying to run our program.
Accomplishments that we're proud of
- Actually getting the code to work
- Creating a way for people to get charity opportunities
- Learning how to use discord bots through the documentation ## What we learned
- READ DOCUMENTATION
- How to use discord bots
- Parsing through large databases
What's next for Discord Charity Bot
Our Discord Charity Bot is no where near it's full potential. Something we would definitely like to improve on for the future is the user interface. Creating a user friendly and easy to handle interface that a person could interact with is something that would make our bot 100% better. In addition to this another aspect of our project we could improve on for the future is our actual cod. Our code tended to be extremely messy and time consuming to debug. Adding comments throughout the code would not only make it easy for us to understand our own code, but others as well. Most importantly, one of the biggest potentials for the Discord Charity Bot is functionality. Right now we have the framework for a volunteer-donator interaction where the volunteers can be assigned to donators based on specific place and time and there's so much we can add onto this. For example, we were thinking of actually implementing the volunteer status and whether they were able to give the donations or not. It's important to note this is all a framework so actually implementing this concept with real volunteers and donators would be amazing!
Log in or sign up for Devpost to join the conversation.