Forum Discussion
How to set `You and moderator can reply` in bot when posting proactive message to channels?
Hi there,
I am currently developing a bot that posts proactive message to channels. My client wants me to set `No reply` or `You and moderator can reply` on the message that posted from the bot proactively.
What I tried so far:
// post message to channels
const credentials = new MicrosoftAppCredentials(process.env.MicrosoftAppId, process.env.MicrosoftAppPassword);
const client = new ConnectorClient(credentials, { baseUri: serviceUrl });
const message = MessageFactory.text(inMessage);
let approveResult = false;
let MessageActivityId = "";
const conversationParams = {
isGroup: true,
bot: {
id: process.env.MicrosoftAppId,
name: process.env.BotName
},
conversationType: 'channel',
channelData: {
channel: {
id: teamsChannelId
}
},
activity: message
};
const msRes = await client.conversations.createConversation(conversationParams).catch(e => console.log(e));
I tried to post the message first, and immediately update the activity and set the type as `ActivityTypes.EndOfConversation`. However, it doesn't work at all.
const tmpResult = await client.conversations.updateActivity(teamsChannelId, msRes.activityId, {type: ActivityTypes.EndOfConversation})
Error form above updateActivity code:
RestError: Unknown activity type
at ...(skipped for paths)
{
code: 'BadArgument',
statusCode: 400,
request: WebResource {
streamResponseBody: false,
url: 'https://{service_url}/{channel_id}/activities/{messageActivityId}',
method: 'PUT',
headers: HttpHeaders {
_headersMap: [Object]
},
body: '{"type":"endOfConversation"}',
query: undefined,
formData: undefined,
withCredentials: false,
abortSignal: undefined,
timeout: 0,
onUploadProgress: undefined,
onDownloadProgress: undefined,
proxySettings: undefined,
keepAlive: undefined,
agentSettings: undefined,
operationSpec: {
httpMethod: 'PUT',
path: 'v3/conversations/{conversationId}/activities/{activityId}',
urlParameters: [Array],
requestBody: [Object],
responses: [Object],
serializer: [Serializer]
}
},
response: {
body: '{"error":{"code":"BadArgument","message":"Unknown activity type"}}',
headers: HttpHeaders {
_headersMap: [Object]
},
status: 400
},
body: {
error: {
code: 'BadArgument',
message: 'Unknown activity type'
}
}
}
Is there any method that allows me to do so? Thanks.
3 Replies
- Ravindra-MSFTFormer Employee
- ssywilsonCopper Contributor
Ravindra-MSFT Hi, I was following https://docs.microsoft.com/en-us/microsoftteams/platform/bots/how-to/conversations/send-proactive-messages?tabs=dotnet to send proactive messages to channels. However, I found that after the bot sends out the proactive message, the channel's chatroom will appear a `Reply` button right below the bot's message.
Therefore, I want to ask is there any method to disable the `Reply` button?
----
Simulation of expected behavior on UI:
Simulation of actual behavior on UI:
- Ravindra-MSFTFormer Employee
ssywilson It is by design, we cannot disable reply button