Open
Description
Version
botbuilder-core 4.16.2
botframework-connector 4.16.2
Describe the bug
When using the search-based message extension (search command) from Copilot for Microsoft 365 via plugin, I was not able to get the member details.
To Reproduce
Steps to reproduce the behavior:
- Create a basic example of a search-based message extension.
- Enable this plugin in Copilot for Microsoft 365 and search matching context so that it hits the extension.
- See error
Expected behavior
The TeamsInfo.get_member method should give member details (TeamsChannelAccount).
class SearchBasedMessagingExtension(TeamsActivityHandler):
def __init__(
self,
config: DefaultConfig
):
self.bot_id = config.APP_ID
async def on_teams_messaging_extension_query(
self, turn_context: TurnContext, query: MessagingExtensionQuery
):
member = await TeamsInfo.get_member(
turn_context, turn_context.activity.from_property.id
)
print("member: ", member)
Error
INFO:src.routes.messages:API called: POST /internal/api/messages
WARNING:msrest.serialization:source is not a known attribute of class <class 'botbuilder.schema.teams._models_py3.TeamsChannelData'> and will be ignored
ERROR:__main__:[on_turn_error] unhandled error: (ServiceError) Unknown
Traceback (most recent call last):
File "/Users/arundeepak/Desktop/workspace/iu_works/teams_ai/syntea.service.teams-copilot/venv/lib/python3.12/site-packages/botbuilder/core/bot_adapter.py", line 174, in run_pipeline
return await self._middleware.receive_activity_with_status(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/arundeepak/Desktop/workspace/iu_works/teams_ai/syntea.service.teams-copilot/venv/lib/python3.12/site-packages/botbuilder/core/middleware_set.py", line 69, in receive_activity_with_status
return await self.receive_activity_internal(context, callback)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/arundeepak/Desktop/workspace/iu_works/teams_ai/syntea.service.teams-copilot/venv/lib/python3.12/site-packages/botbuilder/core/middleware_set.py", line 79, in receive_activity_internal
return await callback(context)
^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/arundeepak/Desktop/workspace/iu_works/teams_ai/syntea.service.teams-copilot/venv/lib/python3.12/site-packages/botbuilder/core/activity_handler.py", line 78, in on_turn
invoke_response = await self.on_invoke_activity(turn_context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/arundeepak/Desktop/workspace/iu_works/teams_ai/syntea.service.teams-copilot/venv/lib/python3.12/site-packages/botbuilder/core/teams/teams_activity_handler.py", line 94, in on_invoke_activity
await self.on_teams_messaging_extension_query(
File "/Users/arundeepak/Desktop/workspace/iu_works/teams_ai/syntea.service.teams-copilot/src/plugin/extensions.py", line 44, in on_teams_messaging_extension_query
member = await TeamsInfo.get_member(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/arundeepak/Desktop/workspace/iu_works/teams_ai/syntea.service.teams-copilot/venv/lib/python3.12/site-packages/botbuilder/core/teams/teams_info.py", line 238, in get_member
return await TeamsInfo._get_member(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/arundeepak/Desktop/workspace/iu_works/teams_ai/syntea.service.teams-copilot/venv/lib/python3.12/site-packages/botbuilder/core/teams/teams_info.py", line 396, in _get_member
await connector_client.conversations.get_conversation_member(
File "/Users/arundeepak/Desktop/workspace/iu_works/teams_ai/syntea.service.teams-copilot/venv/lib/python3.12/site-packages/botframework/connector/aio/operations_async/_conversations_operations_async.py", line 731, in get_conversation_member
raise models.ErrorResponseException(self._deserialize, response)
botbuilder.schema._models_py3.ErrorResponseException: (ServiceError) Unknown
Traceback (most recent call last):
File "/Users/arundeepak/Desktop/workspace/iu_works/teams_ai/syntea.service.teams-copilot/venv/lib/python3.12/site-packages/botbuilder/core/bot_adapter.py", line 174, in run_pipeline
return await self._middleware.receive_activity_with_status(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/arundeepak/Desktop/workspace/iu_works/teams_ai/syntea.service.teams-copilot/venv/lib/python3.12/site-packages/botbuilder/core/middleware_set.py", line 69, in receive_activity_with_status
return await self.receive_activity_internal(context, callback)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/arundeepak/Desktop/workspace/iu_works/teams_ai/syntea.service.teams-copilot/venv/lib/python3.12/site-packages/botbuilder/core/middleware_set.py", line 79, in receive_activity_internal
return await callback(context)
^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/arundeepak/Desktop/workspace/iu_works/teams_ai/syntea.service.teams-copilot/venv/lib/python3.12/site-packages/botbuilder/core/activity_handler.py", line 78, in on_turn
invoke_response = await self.on_invoke_activity(turn_context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/arundeepak/Desktop/workspace/iu_works/teams_ai/syntea.service.teams-copilot/venv/lib/python3.12/site-packages/botbuilder/core/teams/teams_activity_handler.py", line 94, in on_invoke_activity
await self.on_teams_messaging_extension_query(
File "/Users/arundeepak/Desktop/workspace/iu_works/teams_ai/syntea.service.teams-copilot/src/plugin/extensions.py", line 44, in on_teams_messaging_extension_query
member = await TeamsInfo.get_member(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/arundeepak/Desktop/workspace/iu_works/teams_ai/syntea.service.teams-copilot/venv/lib/python3.12/site-packages/botbuilder/core/teams/teams_info.py", line 238, in get_member
return await TeamsInfo._get_member(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/arundeepak/Desktop/workspace/iu_works/teams_ai/syntea.service.teams-copilot/venv/lib/python3.12/site-packages/botbuilder/core/teams/teams_info.py", line 396, in _get_member
await connector_client.conversations.get_conversation_member(
File "/Users/arundeepak/Desktop/workspace/iu_works/teams_ai/syntea.service.teams-copilot/venv/lib/python3.12/site-packages/botframework/connector/aio/operations_async/_conversations_operations_async.py", line 731, in get_conversation_member
raise models.ErrorResponseException(self._deserialize, response)
botbuilder.schema._models_py3.ErrorResponseException: (ServiceError) Unknown
Additional context
Observation: The body has the turn_context.activity.conversation.id the same as the turn_context.activity.from_property.id.