Message Content Access Deprecation for Verified Bots #3540
Replies: 9 comments 30 replies
-
I just drop in here to provide some reasons as to why I currently won't switch to Slash commands and, given the planned deprecation, most likely will discontinue my bot if these problems/features haven't been fixed/added yet to Slash commands.
Those are the most prominent issues I currently have with the slash commands and why I don't use them yet. |
Beta Was this translation helpful? Give feedback.
-
I would like to go into detail on why I believe this entire idea is just not ready to happen so soon and I would also like to give an alternative idea that could be far better.
I support the fact you want to bring more privacy to the end user, but this change you're proposing is too drastic and downright outrageous. What I purpose would be a much simpler solution that should be compatible with every single discord library out there, provides just the same amount of privacy and does not have the current limitations of slash commands. What I suggest is to instead make all discord bots only receive message events of messages that start with their prefix. This would require every discord bot user to go on the Discord Developer Portal and set their intended prefix(es) for their bot(s). Verified bots without a prefix set, would not receive any message events. You can also enforce some rules such as minimum of 2 characters for a prefix if you would fancy so. Edited: changed the point 1.1. and removed the 1.2. since it isn't true at the present moment, sorry for the possible confusion caused over those. |
Beta Was this translation helpful? Give feedback.
-
One more thing I'd like to mention. It's not possible to do it via permissions due to the way interactions work, it would require all bot developers to add a system for servers to configure the bot/application to only respond in x channel While I know they're looking into the And imo everything with slash commands need to be in place before they even decide when/if they make the message intent required. Overall slash commands are good but barely anyone uses them which is a huge problem and is going to cause issues for bot developers and their support staff, it's the bot devs & support staff that has to deal with the blow back from their user base for a decision that Discord forced onto them and everyone else. I do have hopes for the entire system getting better but now really isn't the time when everything is still up in the air with everything. |
Beta Was this translation helpful? Give feedback.
-
I think this is a great change, and if this means that slash commands and message components will have a higher priorty for releases, then I'm all for it. I strongly believe this change is great, especially because only ~10% of bots (speculation) have the commands that truly need the message content to do their fancy stuffs. However, the other 90% of bots really just serve commands (again, speculation). The need for reading message content for commands is not really something that should happen, and as long as there's enough library support for slash commands and building them, then I think this is 'migration' from message prefixes to full slash commands can be justified. Also, libraries are going to have all the support, at least the major ones, way before this change is actually in effect. Discord.js for example is doing great with thier v13 release, and I can assume the same with other languages like discord.py. I don't believe library support will become a hinderance to this migration, and in fact, will probably come faster with the added pressure, but that may be a good and bad thing. I also believe the gripes that Andre601 has are valid points to have a discussion on, seeing as restricting commands is the most important thing right now. There's a lot missing from slash commands that are needed before my bot can be migrated, but I have full confidence that Discord, within the next 9 months and with enough developer feedback on the API, will be able to make this switch easily and confidently. The last 9 months have brought in a lot of new features, and I think with the work Discord is doing, the next 9 months will be filled with the tools we as bot developers need to make this switch. I may as well add that this is a change in 9 months, and I don't think there should be a lot of anger regarding the "but slash commands aren't doing x or y" point that's brought up so many times. I don't think there's any grounds for this argument since it's something that can improve 10 fold over the next 9 months. Furthermore, the suggestions of how to make slash commands would be much more of a benefit here rather than the arugments against this new policy. When there's more support for the slash commands, there would be almost no reason to not use them. In fact, if you're planning on a rewrite or next major version, there's probably good intent you should migrate to slash commands now- most libraries support it, and if not, you can find a package that can work short term, though that's quite a a bodge there. In summery, this change is good; not only will it force developers to use bare minimum from the Discord API, thus saving bandwidth on WS events (and saving the planet from that CPU usage time!), but it will also help bring the slash commands and message components to the degree Discord showed off last year. The argument that this is not a good change because it will hinder developers abilities to make custom bots is invalid because if Discord is offering a way to improve your ability to make it clearer for end users to use your bot's commands, I think that's enough of a justification to deprecate support for reading user messages. There's really only a small margin of users who can make use of commands that need message content to work, and those who need that support, well, they can just request it. |
Beta Was this translation helpful? Give feedback.
-
I've submitted the exact same thing in the survey, posting it here for the world to see and maybe comment on: As I said I understand "why" discord is making these changes -- that is, I understand what problem is being solved there, and I agree that it is a problem and that it needs solving. But I do not understand/agree with the chosen general direction of the solution. The overall strategy that Discord seems to be executing is that all interactions with bots have to conform to a fixed list of pre-defined rules. You're expanding the list, that's great, but it's still fundamentally rigid. Bots of the past were first-class users of the platform, they could do most things a user could, and you could interact with your bot in any way that the platform could proxy. You didn't have to selfbot because you could just create an actual bot (unless of course you wanted to automate something specifically related to your account, in which case tough luck). You may think that you've made great UI/UX choices, but they're just that -- a subjective choice. Bot developers might have their own choices based off their understanding of the process. You're robbing the bot developers of the freedom to make that choice for their bot. These kinds of freedoms are what made developing bots for discord fun, and a lot of bots are developed by a single person or a very small team, just because it's fun. Bots had their own identity, a personal touch from their creator. Instead now Discord is trying to advertise bots as more a part of the platform, a Discord feature that you can enable on your server (ignoring the fact that it's developed by someone else). My personal pet peeve here is the kind of bot that you don't specifically address, but which instead reacts to certain parts of your message, and automatically augments it with its own information. You're just having a normal conversation with someone, and the bot adds onto it. For example, it could be looking for hashtag issue numbers and provide issue tracker links; it could be looking for code blocks and evaluating code in it, for demonstration purposes; it could be looking for LaTeX and rendering it. Considering the usage pattern of such bots, it would be detrimental to require the users to manually request an interaction with the bot in these cases. Having the bots automatically extract triggers from message contents is part of the magic. And so this "strategy" leads into the rules you'll be using to decide whether to grant or deny the message content intent. If your understanding of how bots should be is "everything is slash commands, buttons, context menus", then you will be denying the intent to people who want custom interactions with their bot via messages. And I can definitely see how you come to this: if bots reading message contents is a problem, then the bots that do want to read message contents better have a damn good (security, moderation) reason for it. But this is where I and a lot of other people disagree. And the 100+ guilds distinction doesn't really matter here. It would be a double standard to say that small bots can do what they want. Sure if someone is making a bot as they're learning making bots, or learning programming in general it's different. But when someone is making a tool that they're intending for others to use, either as a productivity tool, or even just for entertainment -- it doesn't really matter how popular the tool is. You shouldn't restrict access to core features based solely on how popular a bot is. So if you were more lenient with your assumption that every single thing must go through interactions, and actually were willing to accommodate for other types of bots -- then we could have a productive conversation about how to reconcile the root issue (bots snooping on a ton of messages they have no business snooping on) with the existing bot ecosystem, where bots might still want to read some messages. Here's an example of what that might look like:
P.S. There's already talks among bot developers to just implement terms moderation into their bot to get approved for message intent, so the fundamental assumption of your system is already broken. |
Beta Was this translation helpful? Give feedback.
-
Bruh, the slash commands are just so bad and uncomfortable tho |
Beta Was this translation helpful? Give feedback.
-
Hey yall, moosh here. I feel like interactions as a whole are still half baked. Slash commands don't support variadic arguments, which is a huge deal, because the best solution for now is to slap an absolutely massive amount of optionals in the arguments list. That looks bad, and can be confusing. Multi line string arguments don't exist either - some bots use form-style input, and this completely messes that up, because those devs have to split up and inline their form, which doesn't look easy to use, and can be overwhelming for the end users. Attachment arguments don't exist - Some bots (for example, bots with ID cards with custom backgrounds) need those, and attachments are hidden in this change too, which is a huge hit against the systems of those bots. There are many other argument types that are currently text parsed, that are not supported, such as dates, timespans, code, and more I remember the biggest deal with slash commands was supposed to be serverside and clientside validated arguments - what's the point of that, when there's so many arg types that the only way to implement is through a string arg you parse yourself? Even a regex arg type would be amazing, if we could filter user input that way. All of those aren't even my biggest issue with this, and what I feel like is most important that we get an answer for. My biggest issue with this change is that we don't know what components and slash arg types will be available before this change hits - we have a doomsday date, but no way to see what tools we have to survive it. It'd be better if you all did like threads, and posted the api structure for upcoming things, and a promise to implement them, that way we can at least prepare, even if it's not usable stuff yet. |
Beta Was this translation helpful? Give feedback.
-
I like Slash Commands. I like Interactions. I'm excited for the future. But I'm concerned with how quickly this was rolled out and how lacking communication on what we can expect has been. Slash Commands and Interactions are not ready for the primetime, and us bot devs are not stuck waiting for our libraries to implement features that don't even fully exist yet.
I also would like to know what other Interactions are planned. so we can plan around them. Will we get a text field? Checkboxes? Sliders? Knowing this changes a lot about how I design these next few months. Again, I'm excited for this update, but it being this rushed and incomplete has me and many others worried. |
Beta Was this translation helpful? Give feedback.
-
I thought I'd put my 2p in here both from the perspective of a bot developer using a 3rd party library and as a user of slash commands (and pulling some feedback from users of my bot too). I will start off by repeating some of the points from earlier comments to get that out of the way:
From a user perspectiveAs a user migrating from prefix commands to slash commands I have encountered a few small issues which have been incredibly frustrating:
From a developers perspective
If I can think of anything else to add I shall reply, Thanks! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi everyone! We have an important update to share.
As the popularity and number of Discord bots grow, it's important to keep our users and developers safe and healthy. This means from time to time, like any maturing platform, we need to update our policies to reflect the current needs of the ecosystem.
In April of 2022, message content will become a Privileged Intent. Like other privileged intents (Presence and Guild Members), it will require approval and affect only verified bots.
If you run a verified bot, or a bot that you plan to get verified in the future, we recommend starting to transition to new functionality like slash commands and other interactions.
We want to help make this transition as easy as possible, so we're starting off by providing plenty of time (nine months) as well as hosting an "office hours" in the Discord Developers server where you can ask us questions or flag any considerations. This will be on Wednesday, August 4, at 11am pacific. We will be sharing our answers to questions that come in for those who want to read but can't make that time.
We're also continuing to invest in interactions as the future of bots, including new slash command option types, better moderation controls, and new types of interactions.
Thank you all for your help in making this change with us. We know it's a big one, and we know that the future of bots on Discord remains incredibly exciting.
Beta Was this translation helpful? Give feedback.
All reactions