Giter VIP home page Giter VIP logo

ark-guild-bot's People

Contributors

boraarslan avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

ark-guild-bot's Issues

Enum migrations are broken

The current version of SeaORM doesn't allow dropping enum types to be dropped from migrations. The enum types must be dropped manually and created by the migration only once.

Currently, the only two enum types are Role and Class enums. Until enums can be dropped within code no enum types will be added.

Improvements

Hey

As promised I'd like to offer a few suggestions.

  1. As far as code organization goes, current separation of concerns is mainly constrained by highly horizontal dependency.
    I think that separating lobby creation out into some sort of a builder and something to actually obtain required data would be a great start.

Long term this codebase could make use of simple dependency injection. This way you can make it much more flexible.
This can easily be done in Rust with Traits. That way you can easily redesign and add new code without having to modify previously written components.

It's easy to start here, even repeating code between modules if required to untangle unrelated things.

  1. Fixing a few critical issues:
    Same with task scheduling via tokio. For example tokio::spawn fails, the lobby being posted cannot be joined until the bot is restarted and critically doesn't seem to produce any errors to notify the user.

There are some Discord limitations that can cause issues. For example, options in select boxes are limited to 25, so with bigger guilds it can easily break lobby creation.

You can make changes to characters belonging to someone else.

  1. Messages visibility and limits:
    Currently commands are largely public with their output. For example, lobby creation is needlessly visible for everyone even before being posted.

  2. Certain things are outdated
    I'm sure you know that already, but ilvls are limited to 1490, which you can pass in the current version of the game. Classes are missing the latest addition too. This can and will prevent people from trying to use this the most.

  3. The choice of using .embed
    Some people have embeds disabled. So for them, each message is just a few buttons with no text or images.

I don't have much time to code features here for now, but I do intend to contribute in the future. It's a solid foundation for a bot.

Discord ids stored as Text

Currently, SeaORM doesn't support u64 fields in Models so Discord IDs are stored as TEXT. Once SeaORM supports u64 I will update the Models.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.