Skip to content

Suggestions and Issues for Improving the Library #2821

Closed
@PaoloCuvato

Description

@PaoloCuvato

General Troubleshooting

  • I have checked for similar issues on the Issue-tracker.
  • I have updated to the latest JDA version
  • I have checked the branches or the maintainers' PRs for upcoming features.

Feature Request

Hi there,

I’m one of the users of this library and wanted to provide some feedback and suggestions for improvement. I’ve encountered several issues that I believe could be addressed to make the library more robust and user-friendly. Here are my main points:

1 Better Exception Handling One of the biggest problems I’ve faced is the lack of proper exception handling. I lost an entire week just because this library doesn’t handle NullPointerExceptions. There needs to be an exception for everything. For example:

  • GuildNotFoundException

  • PlayerNotFoundException (for when the player isn’t online or available)

General exception handling for all potential edge cases

Right now, I have to manually check for a thousand cases, but it should be built-in for every possible event or action in the library. This would make development much smoother and would save a lot of debugging time.

2 Persistence Layer: There needs to be a built-in way to save data persistently. For example, if someone wants to track messages (like which user sent which message or who deleted which message), this data should be saved somewhere. Right now, I had to spend an entire week building a custom persistence system just to handle this, which feels like a huge oversight. Certain functions should be revisited to ensure they support persistent storage.

3 Message Deletion Issue: This is another annoying problem. In the current state, there is no way to retrieve the message that was deleted in onMessageDelete, nor the user who deleted it. This is a huge limitation, and it should be addressed. Losing important data like this is a serious issue, and I had to spend an unnecessary amount of time building workarounds just to fetch this basic information.

4 Documentation: The documentation is another major issue. There are methods listed in the docs that don’t explain what they do, which makes it really difficult to work with the library. It’s poorly managed, and this lack of clarity causes a lot of frustration. The documentation needs to be updated to include proper descriptions of all methods and their expected behaviors.

5 Handling of Media (Images, Videos, etc.): There’s no clear way to handle media like images or videos in this library. For example, an onGuildMessageVideoSent event would be useful. I should be able to work with videos, images, and other media types in a more structured way. Currently, this is missing and limits the functionality of the library for users who need to deal with such media.

6 Embedded Messages: The embedded message functionality is extremely limited. Right now, I can only send one embedded message per operation, and that’s not enough. There should be a way to send multiple embedded messages or have more flexibility in modifying embedded messages. For example, the ability to modify an image in an embed or adjust its content after sending it. This would drastically improve the user experience and make the library more versatile.

I’m well aware that my time spent writing this will probably be “wasted” because I doubt any of these suggestions will be implemented. But at least I’m trying to offer some constructive feedback on how the library can be improved. I hope you can take this into consideration.

Thanks for reading.

Example Use-Case

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions