Open darrenparkinson opened 4 years ago
Seeing the same issue. Perhaps an approach could be to go ahead and accept a required message parameter in startPrivateConversation (as well as startConversationInRoom). The function could then go ahead and send the message, await the response, and extract the roomId/from etc. so that context creation works correctly...
@darrenparkinson what do you think of the above proposed solution, that the startPrivateConversation and related features take a first message
parameter that is used to create the conversation ID?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
not stale
Is this issue still open? i'm having exactly the same issue in botkit for webexteams.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Issue still exists and developers are still running into it...humbly bumped.
hey @dstaudt thanks for the bump.
I think we should go ahead and implement your suggested fix - require a message to begin the conversation.
I can do this for the next release.
Sounds good, happy to help with testing/validation if useful.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Bump to keep-alive, in hopes of a fix in 4.11
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Still present, bump in hopes of a fix
Can anyone share a workaround for the time being?
@seansbox this workaround works for me, replace toPersonEmail
with roomId
for room messages.
let bot = await controller.spawn();
let message = "The message";
let user_email = "example@mail.com";
bot.api.messages
.create({ // This already sends the message
toPersonEmail: user_email,
markdown: message,
})
.then((message) => maybe_do_something_after(message))
What is the current status on this?
What are you trying to achieve or the steps to reproduce?
In Webex Teams, after a group chat message, I am trying to initiate a private conversation with the user that initiated the chat using
await bot.startPrivateConversation(message.user)
What was the result you received?
On doing this, I receive the following error:
TypeError: Cannot read property 'id' of undefined
It is this line in
conversationState.js
that is throwing the error:This seems to be because
activity.conversation
essentially just contains{ id: 'temporary-value' }
andthis.changeContext
is returning an empty object.And in
botworker.js
, theBotWorker.changeContext
function never gets past this line:What did you expect?
I expected a direct conversation with the user.
Context:
It seems this may be a known issue because the documentation for startPrivateConversation says:
This seems to imply that it should work at some level?
Thanks.