Embed Buttons
CompletedCould we please have a option to make with bots buttons in embeds and then add a onClick event so the bots can even be more interactive? What I would do for example with this is like click as fast on the button when its displayed or make a button to accept the server rules etc. I know we have reactions for this but that's not really that nice to work with.
I hope this will be available in the future :D
-Kyllian / Kyle
-
Even though I am not a developer myself, this sounds like a very good idea!
7 -
Explination is quite vague, but it'd be awesome to do these kind of things.
2 -
Further explanation:
Add button functionality (like a button on a website to submit a post) for RichEmbeds. The button can be referenced with an onClick() event to allow additional functionality. Examples of this could be for adding verification to a guild (server), or for incrementing a score counter on a bot.
Please do let me know if this further explanation was useful. -Gear
7 -
Yes that explanation was helpful thank you, but I also wanted to add some explanation cause some people did'nt get the point of this.
It would be very usefull for a button like "Visit Website" and it can open a link to the user that clicks it. This is not clear if you do it with Emoticons because they don't explain as themselves what they are, you need a extra text for that. Even you can make custom emoticons this is still not clear and nice for the user to interact with, because they are so small. And you also can't modify them, like for example if somebody clicks it the counter will go up and it will change its color. That's why I liked to see a button function! Its clear and nice to interact with, and you could modify it on so many ways! And I know this would not be that hard for Discord staff to implement cause we already have seen buttons before like the Fortnite Join Party button etc.
Still ideas or more explanation? Please add them in this comments, let's hope Discord Staff Team will see it :D
-Kyllian / Kyle
8 -
I love this idea!
1 -
As close as I have come to thinking up a workaround to make this is embed an image that, clicked, sends you to a link that is a REST API for your bot. Problem is getting the user struct/snowflake to store their responses (like you mention with accepting terms, etc.) I do not know how much of the cookie we can access from an external link... my guess would be none without some sort of authentication to allow it as that is otherwise a security violation. This also poses issues if they are using the app rather than the website as I am unsure about having the browser open on people just to perform that function with the REST API.
However, if we could get an event or even a "message_edited" call with the user snowflake that way, it would start us into the process. That discord lacks such a useful and common functionality of not only websites, but other chat programs like Slack, is disappointing as a developer looking to enhance their guild system (and maybe even open-source some code).
The other idea of a workaround is to display a message with a command at the end and, to continue into the channels, you need to use that command to let yourself in. Sort of like an anti-botting measure unless they make something to specifically scan for it. Then the bot, with permissions, removes your message so, effectively, no one sees it and you are allowed to view things (taken off mute, etc.). Then your user snowflake and such are passed through to the managing bot system.
I guess if discord were open source, this would have been added by now. I do not know what the limitations are, if any, to providing such button functionality, but it really would be a nice feature to have.
5 -
I don't believe you can access any of the cookie through external links, unless you can find a way to send it. That would breach account security, though, so I assume Discord has prevented that. On the other hand, another command at the end has already been done by numerous bots and works well. Though that doesn't exactly give the full idea of a button. The button could be used for numerous other things that aren't server verification. An example I would personally implement is a mod mail feature, that allows moderators to quickly reply to any mod mail sent by a user. You can't do this with reactions, and it won't remain anonymous if you give them the user who sent it. The button acts as a middle-man, taking user input and sending it off to the original sender, all without the moderator (or anyone else for that matter) knowing who the original user was. Of course, this is (somewhat) poor implementation of that feature since if you don't know who is spamming it, you can't stop it, but as I normally state, it's just an example™
Jumping off the open source, I believe the API itself is open source, stripped of URL calls and such, so developers can see how they are able to wrap it. I don't believe Discord accepts external contributions to it. Of course, I may be wrong and not have been viewing the original API.
-Gear
3 -
It doesn't go about the whole idea about you can send people to a website to it, I know that would be unsafe for scam websites and IP trackers. But this is what I was doing and what I thought which features would be could:
I was working on a MC plugin integrating with JDA bot, and I was making that people could verify with a button in discord and then get a DM. When I came up with that idea I thought there would be actually really cool things that could be added to this feature like:
-onClick event
-set unusable for person (when they clicked it for example, they can't click it again)
-change color
-whit the onClick event it also would pe possible to change the embed for the user that clicked it
-and so on...
That where a few ideas I had, cause I really feel like this little things are missing. What I mean is Discord is a beauty of a communication platform, but I really mis some ways the users could be able to interact with the server! I still hope we can get a reaction from a staff or get this feature ofcoarse :D
1 -
I saw the new update contained a hidden text feature that is clickable but that's not what we want Discord!!! Haha, no but I still hope to get any kind of reaction.
2 -
I just now got notification for the comment with ideas from OP
I agree with all of that, except for changing the embed on a per-user basis. This can not be done because of the fact that the embed is a message to a channel, visible to more than one user. The only things that work as such on a per-user basis are data files (image, audio, and video) because of resource loading and local cache files.
Using onClick events would be nice and very usable in this setting, and disabling the button for users seems pretty doable, except for the possibility to show as disabled without intervention on Discord's end through the API.
-Gear
1 -
I really hate it how everything is being answered but this isn't even the stuff with negative votes are getting answered OOF
0 -
It would be great to have this, especially since slack already offers this feature
7 -
Would be even better, if in addition to the "onClick()" event we had a predefined text messages (when you click on the button it makes you send what's wrote on the button) and having a button that can open links 😃 -1 -
Like slack embeds! Cool! 2 -
possibly even add an option for keyboard buttons presses. Maybe mouse clicks as well.
-3 -
Imho the best would be something similar to the Telegram inline keyboard, introduced in Bot API 2.0:
https://core.telegram.org/bots/2-0-intro#new-inline-keyboards
The inline keyboard is very convenient to use and adds much more intuitive interaction with a bot than a series of messages.
5 -
bump
0 -
Wow, this would be a really cool features if added!
1 -
Since I have no idea if Discord Staff Team actually already read this I'll add some ideas about how it could look in the Code:
I only use JavaScript for bots so this is for JS:
It could be just like a Field you add...
.addButton(A, B)
At A you should have to give a String that is displayed on the button (the text).
And at B it could be a function that should be called when the button is clicked.
Ofcoarse it also would be cool if it was with just a ButtonClick event.
I really hope this will be added or I get some kind of reply because I've been waiting 9 Months now... So PLS!
Give me atleast a reply Discord ;)
1 -
@KyllianGamer you should be looking at the json being sent to the api in that case
it would be something like
{
// normal embed structure above
buttons: [
{
text: "Click me",
identifier: "your_identifier"
}
]
}
And that would trigger a websocket event to the embed owner with the name of "EMBED_INTERACTION_BUTTON" and the identifier that you has setThis could also be used for dropdowns and radio buttons.
(just an idea that I sketched in my head)
2 -
Would be good to see something like how Telegram handles buttons.
Would allows us bot developers to implement some nifty features, games, or even Payment systems.0 -
I guess, it's finally coming: https://blog.discord.com/the-future-of-bots-on-discord-4e6e050ab52e
1 -
Please add this! It would make game bots super easy to use for users!
0 -
bump, its been 2 years now lol
1 -
Would still be real nice but yeah, it's been 2 years :LUL:
1 -
If they where to do this: https://support.discord.com/hc/en-us/community/posts/360057847912-Replace-embeds-with-Adaptive-Cards-open-standard
The button question would be answered already ;)1 -
So any news on this specific update idea they made? I would still love to see a better way to let users interact with bots :) It's also really cringy to read this all again since I made a bunch of spelling mistakes 2 years ago it seems, ha.
0 -
Added Today
1 -
Your wish came true after 2 years
2 -
You can find this feature here; https://support.discord.com/hc/en-us/articles/1500012250861-Bots-Buttons
0
Please sign in to leave a comment.
Comments
32 comments