Skip to content

Instantly share code, notes, and snippets.

@NovaFox161
Last active February 1, 2022 16:45
Show Gist options
  • Save NovaFox161/b69bdc908f0d95085ae94353d8db460a to your computer and use it in GitHub Desktop.
Save NovaFox161/b69bdc908f0d95085ae94353d8db460a to your computer and use it in GitHub Desktop.
DDevs Q&A Summary for January 2022

DDevs Q&A January 28 2022 Summary

Forward

This is a nonexhaustive summary of the DDevs Q&A stage. Most of the points below are paraphrased for brevity. Ephasis is my own unless explicitly stated, and my opinions on certain things may shine through. Please refer to a VOD of the stage for the exact wording from the Discord Developers.

Before the good stuff, some other stuff

  • No slido for this one, you can thank the ***hole(s) who dossed slido.
  • Remember to enable the "add to server" button for your bot in the dev panel. You need to enable it to be listed in the upcoming app discovery. This also now shows on mobile clients
  • They don't want to repeat questions, please see the previous Q&A summaries for previous answers
  • Verification + message intent ticket queues are caught up to Jan 4th. Some older tickets exist and are prioritized above others due to a bug with zendesk.
  • They are looking into a date/time picker option
  • They are undergoing a backend rewrite in order to allow full hiding of commands rather than showing them as greyed out. Wooo!!!

Upcoming Features (and demos if available)

  • Application Command Permissions v2 - Client images. (block quotes are provided from Zeyla directly as descriptions on the images)
    • image 1
      • Overall integration management view displaying permissions for the application and sync status of its commands. There are two sections present. The first section is for managing role, member, and channel permission overwrites. The first section has two subsections, one for role and member overwrites and a second for channel overwrites. This is modeled after and acts much like the channel permission overwrite system. The first subsection is called “Roles & Members.” To the side of the subsection title there is a button which opens a modal to add more roles and members to the overwrites list. The first overwrite in the list - the “Everyone” role - is always present. It can be toggled but can’t be removed. Role overwrites are at the top of the list and member overwrites follow. To the side of each overwrite is a button to remove it. The second subsection, “Channels,” is quite similar, and has a persistent role called All Channels. The second section has a list of commands.

    • image 2
      • Upon clicking a command in the command list, this modal is shown. The modal lists the command’s name, its sync status, and permission overwrite sections identical to the application’s. Permission management of commands works exactly like with applications. If a command is not synced, then a button is available to sync its overwrites with the application’s.

    • image 3
      • The integration permissions management page supports the “View as Role” feature. This allows you to right-click a role and look at how command filtering will result for that role (with the ability to select more roles as needed, like from roles management).

    • image 4
      • Commands will be filtered based on permission overwrites of the command or application, or when not configured the default permissions required to use the command set by the application. For server managers this is accessible via the use of the View As Role feature. In this picture, two of the commands are disabled and can’t be used because the role currently being viewed has had overwrites disabled for the two commands.

    • Currently only supports top level commands, but they are aware that permssions on subcommand(group)s are a highly desired feature. There's a lot of challenges with their current architecture that makes this hard to implement.
    • Command descriptions will be visible on these screens (just wasn't there for the first test period)
    • Developers can set defaults for what permssions a user should have to use the command (server admins can override these defaults)
    • Existing permissions will still work on commands, setting v2 command permssions will override those v1 perms. Eventually v1 will be deprecated, but there is no timeline, and it won't be any time soon as to not punish devs who took the time to use the existing v1 system.
    • Thank you Zeyla and everyone else working on this!
  • Slash Commands Attachment option type
    • The beta just started and is being actively tested by large bot devs and lib devs. Its coming!
  • Rich Presence Assets Improvements
    • Video
    • Assets can now just be proxied. Instead of needing to upload a max of 150 images through the UI, you can now just send the link to the image in the paylod. Discord will proxy and display it.
    • This (should be) backwards compatible with the game SDK and work over IPC
    • thanks mason (even tho you admit you didn't work on it lol)

Answers + Other Interesting points

The following points are answers to questions asked by the community. Questions can be found in the VOD and will not be listed here. All points are listed in order they came up in.

  • Questions notion

  • context menus will be coming to mobile, but is not prioritized due to a number of things they believe needs more focus (eg the android app rewrite)

    • They'd rather do it once, and do it right, instead of hacking it in now, and then having to do it again to fix it.
  • They haven't thought a ton about it, but love the idea of showing what permissions are needed when you get a "missing permissions" error on the API

  • Components will be able to be sent without message content/embed. even tho mason strongly objects, it looks like they're going to do it.

  • input fields in modals is being worked on. There was a small beta for it, and will be another one this quarter. Input fields in messages most likely will not happen, because of the poor UX it would create while chat is moving.

  • They plan to make developing HTTP applications easier to make, but are not sure if sending gateway-esque events over a webhook is a good idea. If you want state, you can be on the gateway, the webhook approach works for stateless applications. And they are not sure if they want to rebuild the gateway all over again, but for HTTP. So, no real confirmation either way.

  • They are looking into several of the reported bugs with mobile interactions. If you are experiencing these issues, please report it to the correct place, as they need more data to find out if these are widespread bugs. If you have good repro steps, open an issue on the dapi docs repo. (ephasis from mason and Ian, they want good repro steps so they can fix it faster)

  • Ian agrees that making interactions through the web UI should be possible. Making commands only over post requests only is not great, and they agree.

  • Paginated/paged modals is something they intend to support, but sounds like it won't be available on the feature's launch.

  • editing messages as a response for interactions is possible with components, and you can edit the original response multiple times for app commands.

  • They agree that smaller/niche bots should be able to grow, but the app discovery feature will stil require verification. HOWEVER, they are thinking about aliviating some of the barriers to discoverability so that smaller bots can be verified without needing to hit some of the things currently required.

  • Android modal code will be in the beta cut this monday for. This does NOT mean it releases monday, just that the code is feature complete and QA can get to work. So, very soon it sounds like, unless they find some serious bugs with it.

  • There are plans for the future of embeds, but not any time soon. More than likely components will be a lite-"replacement" of embeds, by allowing it to be a visual layout and such, but there is no timeline, this is just the direction things are moving.

  • If you set min-value to 0 for select menus, it allows them to be unselected, however interaction reply is not something supported. But if you have a good use case, a discussion on github would be great. (They do look at the discussions, just rarely comment on them)

  • If you want bot-owner-only commands, guild commands + permissions will do the trick. You can always use @mybot mysecretadmincommand. Registering them globally is not great.

  • There are no current plans to allow changing a bot's "about me" section through the API due to "other stuff being worked on" so.... anyone's guess to what that means

  • Its hard to be able to go back to feature requests and explain why it can't be done. Often times, the answer would be "this is valid and a great idea, we just can't work on it right now". So hopefully we will get a proper place for API feature requests so they don't get lost. They do currently get brought into discord's internal tracker, so they aren't ignored even if they don't write back

  • Verification requiring the "Add to server" button being enabled is a problem, and they are trying to find a good solution to this. Verification is about letting bots to grow, but keeping it locked down is a bit "strange". They are assessing if this needs to be a full change, or just helping people get through this. They "don't want people to get stuck"

  • Images in modals? "probably in the future"

  • Perms v2 has a few more rounds of testing before releasing. Its coming and so far feels great

  • Mason is a little angry about the leaked app discovery stuff and therefore will not answer questions about categories and sorting.

  • They are confident that the roadmap to get needed things out before the message intent is enforced is accurate. If it changes, they will let us know. So, don't expect the deadline to be moved, but if they aren't able to get required things out, they will reassess.

  • They plan to have select menus support auto complete. Autocomplete will likely not be available for text input in modals. However, if you have a great usecase for it, open a discussion on the docs GH repo. They want to hear from you.

  • Not all interactions have bot users accossiated, so its hard to make the responses use the bot's role instead of the everyone role for stuff like external emotes. Whatever they decide, they have to make sure it supports interactions from bots, and from applications that are not bots.

  • guild count property for http bots might be possible, but a specific endpoint for it is not going to work.

    As always, big thank you to all the discord developers for your hard work!

Previous Q&A Summaries

@NovaFox161
Copy link
Author

NovaFox161 commented Jan 28, 2022

@Rayrnond
Copy link

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment