Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

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

Open
deepakmehta1 opened this issue Nov 29, 2024 · 3 comments
Assignees
Labels
Bot Services Required for internal Azure reporting. Do not delete. Do not change color. bug Indicates an unexpected problem or an unintended behavior. customer-replied-to Indicates that the team has replied to the issue reported by the customer. Do not delete. customer-reported Issue is created by anyone that is not a collaborator in the repository.

Comments

@deepakmehta1
Copy link

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.

@deepakmehta1 deepakmehta1 added bug Indicates an unexpected problem or an unintended behavior. needs-triage The issue has just been created and it has not been reviewed by the team. labels Nov 29, 2024
@deepakmehta1
Copy link
Author

from botbuilder.core.teams import TeamsActivityHandler, TeamsInfo

missing this import in above code snippet.

@dmvtech
Copy link

dmvtech commented Dec 2, 2024

from botbuilder.core.teams import TeamsActivityHandler, TeamsInfo

missing this import in above code snippet.

Did this solve it for you?

@dmvtech dmvtech self-assigned this Dec 2, 2024
@dmvtech dmvtech added customer-reported Issue is created by anyone that is not a collaborator in the repository. Bot Services Required for internal Azure reporting. Do not delete. Do not change color. customer-replied-to Indicates that the team has replied to the issue reported by the customer. Do not delete. and removed needs-triage The issue has just been created and it has not been reviewed by the team. labels Dec 2, 2024
@deepakmehta1
Copy link
Author

@dmvtech I meant in the above snippet in Expected behavior section. I am already using this import.
The issue still exists.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Bot Services Required for internal Azure reporting. Do not delete. Do not change color. bug Indicates an unexpected problem or an unintended behavior. customer-replied-to Indicates that the team has replied to the issue reported by the customer. Do not delete. customer-reported Issue is created by anyone that is not a collaborator in the repository.
Projects
None yet
Development

No branches or pull requests

2 participants