Allow bots to create client-side bot messages like Clyde

Comments

37 comments

  • Marvin Witt

    I want to have messages that are only visible to one user and not to others.

    E.g. if I have some super secret message that is only meant for one specific person, I want to send such a client side message in the chat. Of course this could be managed through direct messages but this will fail if users have their direct messages closed or only allow direct messages from friends plus it's pretty annoying to scroll to your direct messages just to look at what the bot sent you instead of having a message directly in chat.

    What's also super annoying, is that direct messages from bots fill up your direct messages after a while.

    23
  • digimbyte

    I second this feature. it would be handy to message a user directly even if they have DM's closed.
    such as authentication and important notifications that you might not want to share to all users.
    this could be anything from a private notification about the server, or a private output from a role play bot.

    15
  • Ghost

    @ThatTonybo everything is abusable in the wrong hands

    14
  • DingleFlop

    This is not abusable. This is IN ESSENCE, a temporary DM that shows up somewhere a user doesn't have to tab to see it.
    I vehemently second this. I love good ideas like this.
    The words "client-side" don't apply here, and people thinking this has a security implication or abuse potential don't understand the underlying structure of Discord.

    11
  • Ghost

    I see it as a potential area to gain indirect messages to effect of managment, or whispers in RP or outcomes for minigames and server moderation

    being temporary, the messages self destruct on the client anyway.
    it's sad when people dont seem to understand what developing a bot for discord is like

    10
  • Dojnaz

    I would like this idea. It's a small notification, that can be removed by the user at any time. Not just when the bot is up. 

    7
  • donovan_dmc

    This would make for a nice permissions error message though, only alerts the person who triggered it, and anything like bans coulf be sent separate

    Publicly "User#0000 was banned", locally "You banned User#0000"

    7
  • majd

    This is NOT an abusable feature

    • Spam:
      This feature, I don't feel like can be abused for spam, if there was a bot that abused this, then the server owners could happily bin it, and no-one would upvote it on sites like top.gg

      This problem is also easily solvable by discord, simply by putting a limit to how many messages can be on a user's screen at once

    • Security
      The bot has no access to the user's computer, otherwise, it would turn out WAY worse, instead, it could go like:
      user.sendPrivateMessage(msg);
      and NOT a script running on the user's pc

    Anyway, I like this idea as it is really useful, especially for sending verification messages....

    7
  • Dojnaz

    How is it really abusable?

    6
  • index.ts

    This would be pretty helpful! An example of where it could be helpful is if a moderator wanted to run a command without other people seeing it, such as a moderation command or even a help command (because those tend to be long and take up a lot of channel space)! +1 from me!

    EDIT: I just thought of this: Having messages like this show up in chat would be a good replacement to having bots DM you. For (lazy) people who are in a lot of servers, it takes a while to scroll from the DMs to a server at the bottom and back to DMs, etc. It would also keep it more organized if multiple servers are using the same bot to DM things to people.

    6
  • Rubat

    I support this as well, I don't see how this could be abusable or is a security concern, you are still just sending a message to a channel, but only the target person can see it.

    This would be very useful for "bad command input" notifications and less annoying auto moderation messages, such as telling the user that they shouldn't post certain things in a certain channel, etc.

    6
  • 1nvisible

    Support this.

    This would be extremely helpful for my game bot.

    5
  • $$

    I would love to see this opened up too. Possibly as a “whisper(content)” function instead of “send(content)”. I would also personally like to be able to allow certain bots to pass through the “friends only” dms, maybe giving bots a “friendly bot” toggle or something. Cause i hate having to turn down my privacy settings so i can receive dms from my bots that ive written

    5
  • Jack

    Very useful idea!
    I'm currently in the process of creating a bot myself and this feature would be incredibly helpful.

    I have information that I want to only display to one user, but they are channel and server related.
    This would basically be a DM with relation to a channel. From a usability point, it's sort of akward to relay this information through normal DMs, since the user might be in multiple servers where the bot is active, and I would have to always specify "Here is your data for <channel> in <server>: <data>". This way I could directly embet the message into the context it belongs to.

    3
  • Jack

    @Minx the thing is that if you already have to switch to a different channel, it's similar to switching to PMs. It's better, but it is a clunky workaround in my eyes. The main benefit of this feature would be to have a way to send direct messages in the context of a specific channel on a server, where it makes sense for the message to appear. Using that workaround does create a pseudo private message with relation to the server, but it still doesn't have relation to the channel. On big servers users might even not realize that a channel has been created for them. From a usability perspective, I would like to have a way to immediately and privately respond to the user in the same channel where he issued the command that triggerd an action.

    3
  • donovan_dmc

    This exists now. With command interactions, supply the message flag 64 (1 << 6) when responding to an interaction, or creating a a follow up message

    it's called an ephemeral message

    example:

    3
  • TheCire

    I +1 this too. Has there been any more info on whether this has been implemented or they are looking at it?

    2
  • gagi12

    Well considering clyde is not really a bot as much as a notification method from discord i don't think you can at least get ur hands on the official clyde bot as i really don't think its a thing at least not to my knowledge

    2
  • mattrick

    This is a great idea and already exists in some capacity on other messaging services like Slack.

    2
  • Bentroen

    I just figured this would be extremely useful for the bot I'm making, and it's sad that it isn't a thing yet!

    2
  • Jack

    While at first glance this is a solution and I was really excited to read about it, after digging a bit deeper it turned out that those are unfortunately pretty useless for the majority of cases. The way they are implemented makes them only work when used together with the new Slash Commands, which in all honesty are very far away from being usable, since they are heavily limited in functionality. I am hoping this will be extended to work independently of Slash Commands some time in the future, for the time being unfortunately that stays wishful thinking though. They also only support plain text, so no embeds, files or images as far as I can tell. It's a step in the right direction though, would just be nice if it wouldn't be locked away behind a different feature that people might not want to implement in their bots for a variety of reasons.

    2
  • Two

    ^ I agree with the message above. Maybe only verified bots should be able to use this?

    1
  • melzhang

    Slack also has something that's similar so may be a good proof case

    1
  • DonV

    Agreed that this is a fairly common feature that can be useful. I'm building a bot right now that, instead of providing info to just the user that requests it, will end up spamming the whole channel, thereby necessitating the creation of another channel.

    1
  • donovan_dmc

    If you only want them to see it, just dm them

    I can see where this would be useful, say if they don't have dms enabled (like I don't, because people are annoying), but as Tony said, it could be abused to spam that persons chag that only they can see, and no one else knows is happening 

    0
  • Ghost

    doesn't work like that last example Donovan

    Also if an excuse is 'but spam' well, so can any and every other bot spam messages and DM's - most developers don't go down that path and if a user joins a guild where that is normal and they don't like it, they can leave

    its all about the purpose and 'vibe' that guild is using that bot for. if its spam, its on the server owners to make that call. 

    0
  • gagi12

    Well it does look good and clean.

    0
  • Minx

    Turns out it doesn't work anymore with the 2.2 api update.  But it still gets the general idea across. It was made on 2.0.1.

    0
  • gagi12

    rip well the concept still looks nice and good tbh

    0
  • Iced Dev

    I see why a lot of people have a problem with devs being able to abuse this
    We could however, ratelimit this feature 
    Like say only 1message at a time
    That would discourage ppl from abusing this
    Also as Kyoko said that a bot shouldn't have access to a user's client-side, it is true. However we can make this so that the bot can only create that client-side message and nothing else

    0

Please sign in to leave a comment.