Skip to content

HyScript7/fvBot

logo

FvBot

License Latest Reelase Stars

The discord bot that powers the official Fusionverse discord server.

📋 Table of Contents
  1. 🚀 About
  2. 🏁 Getting Started
  3. 🗺️ Roadmap
  4. 🤝 Contributing
  5. ✉️ Support
  6. 📄 License
  7. 💖 Acknowledgments

🚀 About

Fusionverse is a discord server I made for a fictional world I am building with my friends. Since we want a very immersive experience, I designed and implemented this discord bot in my favorite language - Java - in order to have a sort of character creation process on first join, and other useful utilities I always found lacking in the past.

🛠️ Built with

🏁 Getting started

This section will walk you through setting up the project locally. You can also consult the Contributing Guide for more information.

✅ Prerequisites

Before you can setup the project, you need to have the following installed and/or prepared:

  • Java 21

  • Gradle

  • PostgreSQL Database (Optional)

    If you do not have a local PostgreSQL database, you can run a local instance using docker:

    docker run -d -p 5432:5432 -e POSTGRES_USER=fvbot -e POSTGRES_PASSWORD=fvbot postgres
  • A discord bot token

    If you do not have a token, you can get one here

📦 Installing dependencies

After you clone the project using git or github cli (concrete commands here), you need to install the project dependencies using the appropriate package manager.

Since this is a gradle project, all you need to do is open it in your IDE (which supports Gradle), or run gradle in the root directory of the repo.

🏗️ Building

To build the project, you can follow the steps below:

  1. Make sure you are in the root of the repository directory

  2. Run the command below

    docker build . -t fvBot:latest

Alternatively, if you do not want a docker image, you can run this command:

gradle bootjar

🧪 Testing

To run unit tests, you can use the command below.

gradle boottest

🔧 Running for Development

To run the app without building, you can use the command below.

gradle bootrun

You may need to do a gradle clean first in some cases.

🚀 Running for Production

Make sure you have the fvBot jar or docker image on the machine you intend to use for hosting. Also make sure you have your bot token. If you don't, you can get one here.

You can specify a bot token by creating a fvbot.properties file and setting the fvbot.token property to your token as such:

fvbot.token=your.token.here

This must be in the directory from which you are running the bot.

🗺️ Roadmap

  • 1.0.0 Release
    • Welcome
      • Character Creation
    • Title System
  • 2.0.0 Release
    • Math
      • Eval
      • LaTeX
      • Dice
      • Probability / Chance
  • 3.0.0 Release
    • Currency System
    • Item DB
      • Equipment
      • Gambling Method of obtaining items
      • Item Creator
        • Crafting
    • Character DB
    • Lore DB / Wiki

🤝 Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated!

How to contribute

  1. Fork the project.

  2. Create your feature branch:

    git checkout -b feature/amazing-feature
  3. Commit your changes:

    git commit -m "Add some amazing feature"
  4. Push to the branch:

    git push origin feature/amazing-feature
  5. Open a pull request.

For more detailed guidelines, check out CONTRIBUTING.md.

✉️ Support

If you encounter any issues or have questions, feel free to:

We're here to help!

📄 License

This project is licensed under the BSD 3-Clause "New" or "Revised" License - feel free to use, modify, and distribute this project in accordance with the license terms.

💖 Acknowledgments

I would like to express my deepest gratitude to the following individuals and organizations:

  • JDA by dv8tion - for the amazing discord API wrapper, which this project wouldn't be possible without.
  • Spring.io - for making development easier.
  • AngrytrashCZ, Spelis and all my other friends - for their invaluable advice and troubleshooting help.
  • @SomeKristi - for reading out every file in this repository out loud like a TTS bot, and catching a bunch of oversights and bugs.

About

The official discord bot used for the Fusionverse discord server

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages