Skip to content

Unable to get member with TeamsInfo.get_member method from message based extension from copilot for microsoft 365 via plugin #2193

Open
@deepakmehta1

Description

@deepakmehta1

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:

  1. Create a basic example of a search-based message extension.
  2. Enable this plugin in Copilot for Microsoft 365 and search matching context so that it hits the extension.
  3. 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.

Metadata

Metadata

Assignees

Labels

Bot ServicesRequired for internal Azure reporting. Do not delete. Do not change color.bugIndicates an unexpected problem or an unintended behavior.customer-replied-toIndicates that the team has replied to the issue reported by the customer. Do not delete.customer-reportedIssue is created by anyone that is not a collaborator in the repository.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions