java-slack-sdk
java-slack-sdk copied to clipboard
Not able to add bots to DMs/MPDMs
I'm @ mentioning the bot app in a direct message channel but it doesn't respond in the same way as it does in the channel where you get a modal asking if you want to invite it. Additionally, conversations.info
gives channel_not_found
error for above channel's ID. My bot application configured with all the scopes mentioned here. What I'm doing anything wrong here or it is something that isn't supported as of now in Slack?
If you are receiving channel_not_found
when passing the channel ID, then I do not think your app has the correct scope for being able to 'see' this channel. Is it a direct message between a single user and the app, or a multi-person direct message?
Can you post all the scopes your app has?
It is a multi-person direct message. My app has the following scopes:
"scopes": {
"user": [
"chat:write"
],
"bot": [
"app_mentions:read",
"calls:read",
"calls:write",
"channels:history",
"channels:join",
"channels:read",
"chat:write",
"chat:write.customize",
"chat:write.public",
"commands",
"conversations.connect:read",
"conversations.connect:write",
"groups:history",
"groups:read",
"groups:write",
"im:history",
"im:read",
"im:write",
"mpim:history",
"mpim:read",
"users.profile:read",
"users:read",
"users:read.email",
"mpim:write",
"mpim:write.invites"
]
}
@kranti-rh I see your app uses both user and bot scopes. This means your app will be issued multiple tokens depending on the situation. Are you sure you are using the bot token, which includes the mpim:read
scope, when calling conversations.info
? Perhaps you are using the user token, which does not have the relevant required scope?
yes, i'm using the bot token while calling conversations.info
.
Hmm, hold on.. re-reading what you said initially:
I'm @ mentioning the bot app in a direct message channel but it doesn't respond in the same way as it does in the channel where you get a modal asking if you want to invite it.
Can you clarify whether your app is a member of the MPDM or not? Are you expecting that the app will be auto-invited into the DM?
If the app is NOT a part of the MPDM, then conversations.info
will always return channel_not_found
when providing the conversation ID of the MPDM.
Channel membership is a pre-requisite for many conversation APIs. Given the private nature of DM and MPDM conversations, if the user or app whose access token you are using is not a member in these conversations to begin with, then any API that interacts with this conversation will fail or error out (admin tokens are the exception but that is not at play here). This is to ensure privacy and security.
Hmm, hold on.. re-reading what you said initially:
I'm @ mentioning the bot app in a direct message channel but it doesn't respond in the same way as it does in the channel where you get a modal asking if you want to invite it.
Can you clarify whether your app is a member of the MPDM or not? Are you expecting that the app will be auto-invited into the DM?
If the app is NOT a part of the MPDM, then
conversations.info
will always returnchannel_not_found
when providing the conversation ID of the MPDM.
No, isn't a member of the MPDM. Yes, I expect that the app should be auto-invited into the MPDM like it happens in channels. Could you please confirm if it is possible or not?
That is NOT the case for DMs or MPDMs. Because of the private nature of these conversations, simply mentioning the app name in a direct message will not auto-invite the app. An end-user has to explicitly invite the bot into a conversations. It may also be possible to open (i.e. start) an MPDM with a bot token via the conversations.open
API but I haven't personally experimented with that API myself.
@filmaj Yes, using conversations.open i was able to start a new private conversation but this is not the solution I'm looking for. My problem is with existing conversations, in those how I can add bot application. Being an end-user I'm not able to invite the bot into the existing DMs or MPDMs conversations.
Yes you are correct. It seems you must create a new conversation explicitly with a bot.
I dug into this a bit. It seems inviting users to existing DMs/MPDMs is a relatively new feature, and it looks like bots/apps were excluded from the initial implementation of this new feature.
I have filed a feature request to extend this ability to apps/bots as well.
Appreciated @filmaj !!!
@filmaj I was just wondering to know that how long this thing gonna take to get fixed.
It is a feature request that is being weighed and prioritized by the relevant team. There is no specific timeline but whenever I hear more I will update this issue. It is best not to have any expectations on a timeline at this moment.
@filmaj cool!
@filmaj do we have any update on this?