Inspiration
Going into this, we wanted to implement the Java skills that we learned last semester in CS 180. Creating a Discord bot felt like the natural choice, given that we could create something fun and interesting while being exclusively text-based. After learning about the John Deere Hack Challenge for the event, we wanted to create something enjoyable that had a shot at winning one of the challenges.
What it does
This Discord bot is a community-controlled farming sim with shared resources and environments. Within a discord server, server members are able to shop from a randomly generated selection of plants (currently three kinds of flowers) and plant them on a farm plot. Plants grow in real time and change from sprouts to flowers over time. Users can also expand the farm plot to accommodate for more plants.
How we built it
This program is written in Java with JDA (Java Discord API). The basic structure of the code allows for modular additions for features such as slash commands, greater variety in plants, and variety in growth duration.
Challenges we ran into
The greatest constraint was the time limit, there was very little time to plan ahead for the control flow of the program. There were many times the framework had to be modified to accommodate new features and edge cases. In addition, the most difficult feature to implement was the real-time growth of plants, as that involved storing and retrieving local time to calculate the time difference.
Accomplishments that we're proud of
Going into this, we had no idea how to make Discord bots, or even where to start, really. About 30 minutes before the event, we watched our first tutorial on how to even begin. The entire thing was a learning process where we tinkered with random things until we got something to work properly. It's not our finest work, but the journey and process are something we can replicate in future projects and be proud of ourselves for.
What we learned
We learned how to create a Discord Bot from scratch, both on Discord's end and on the developing side. We became much more familiar with JDA (Java Discord API) and all of its features. We learned how to embed messages and create a bot that responds to user interactions and commands.
What's next for CropBot
We plan on continuing this project in our own time in the future, and there is much room for additional features such as currency, growth-time variance, harvesting and selling, varied shop rarity, and so on. We hope to develop this bot to a point of public release so that it can be enjoyed as a fun addition to many servers.

Log in or sign up for Devpost to join the conversation.