jagrosh / GiveawayBot

🎉 Hold giveaways quickly and easily on your Discord server!
https://giveawaybot.party
Apache License 2.0
649 stars 304 forks source link

Issues and improvements with new layout of / command giveaway bot #175

Closed Tapalow closed 2 years ago

Tapalow commented 2 years ago

Hi Jag Thanks for the hard work you are doing on this bot as always with your team but I would really like to share a couple of points on the new format/layout of the new bot :

Overall would be very nice to have the old layout of bot and command prompt but just replacing the ! by the /. Now is this possible in essence, will wait for your reply to tell me. Other option would be to still offer for use to only patreons supporters for example the old bot using ! command but hence not verified/certified by discord. I would gladly pay extra for this to keep as is.

Thanks very much for your consideration and support Tapalow

jagrosh commented 2 years ago

It is currently impossible to review before /gend the patricipants who entered the giveaway

Seeing the current participants is already addressed in #162 .

The overall layout of how to gstart and gend is not as simple as before.

For command input, you can still copy and paste commands (for example: /gstart duration:1h winners:1 prize:test). Yes, they are slightly longer than they were previously, but the only way to avoid this would be to make the "winners" field optional. However, in testing, many users didn't notice that the optional field existed, and questioned why setting the number of winners had been removed. Hence, I've opted for maximum clarity over an extremely minor convenience that only affects a very small number of users. If Discord improves the appearance of optional parameters, I may consider modifying this behavior.

Same thing for /gend even though this is clearly not to complicated to quickly gend the last gstart

The removal of gend and greroll without parameters was an intentional change, as searching through previous messages was both a heavy toll on the bot, as well as a point of confusion for users. I'm not sure if Discord respects the provided autocomplete order, or if it re-orders in the client, but I can investigate and determine the best way to sort the autocomplete options if Discord does maintain the order provided. For example, I could sort by creation time, or by ending time.

The ephemeral messages when generating a gstart or gend is pointless spam

With slash commands, bots must respond to inputs, so the ephemeral message is the most-concise and least-intrusive way to respond. Additionally, this provides a quick method to give the giveaway creator the giveaway's ID, which is a convenience for users that don't have developer mode turned on.

Other option would be to still offer for use to only patreons supporters for example the old bot using ! command

The old system is not returning, as it was built on an entirely different framework, it was harder to maintain, and it was not nearly as bulletproof and efficient as the new system. It's also just not very conformant to how Discord wants bots to exist nowadays, and was vastly more expensive to run than the new system, which doesn't even need to connect to Discord's gateway at all. I have no plans to continue using the old code at all once the rewrite has fully taken over, although I'm sure there are plenty of clones/copies of this bot that will probably continue using my old code (or a variant of it, although these types of bots are fairly questionable).


TLDR: For the most part, the things that have changed have reasons behind them (or there is another issue addressing them), and are unlikely (at this time) to be reverted. The actionable component of this issue is to investigate the order of autocomplete options and determine if there is a better order in which to return options for gend and gdelete.

Tapalow commented 2 years ago

Thanks for your reply Jag, I must say now after having tested the bot it really needs significant improvement to be more smooth... The amount of interaction errors, not updating the number of entries (when entering or leaving), not responding to either /gstart ou /gend command is really painful. Would it be in any way possible to pay a premium price for the bot to be hosted on a separate server which should make it more smooth and with much less data communication errors ? I am willing to paye extra for this service and am sure most users that rely on your bot heavily would do to.

Wihtout being able to check who has entered anymore prior to /gend, we seriously rely on the quality of the information shown to /gend in the proper conditions the giveaway.

Loking forward to your reply Thanks Tapalow

jagrosh commented 2 years ago

There are no plans to host a separate instance of the bot, and this wouldn't address your concerns anyway, as the interaction issues are problems on Discord's end, not the bot's.

Tapalow commented 2 years ago

How about offering the old layout with /command to premium users ?

jagrosh commented 2 years ago

If by layout you mean...

the parsing system of the command? No, this is not planning to change, as the current system is a lot more bulletproof and easier to maintain.

the layout of the giveaway message? The only difference is using a button instead of a reaction, and this isn't going to change, as the reaction-based system has a large number of factors that prevent it from working smoothly or creating massive ratelimit issues for the bot.

Overall I think if you need niche features, your best bet is to find a bot developer and have them build a custom bot for you. I do not have the time to maintain multiple versions of this bot, as this entire project is a hobby, and one of many at that. Many of the changes in the rewrite were designed to either conform more to how Discord wants bots to work (such as with the new argument parsing), or to facilitate maintainability for me (unification of giveaway parameters).