prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  [Dialogs] InputHint is hardcoded for AttachmentPrompt as expecting_input
  ## Version
  4.12.0
  
  ## Describe the bug
  In the [AttachmentPrompt](https://github.com/microsoft/botbuilder-python/blame/main/libraries/botbuilder-dialogs/botbuilder/dialogs/prompts/attachment_prompt.py) class, the **prompt.input_hint** is set as [expecting_input](https://github.com/microsoft/botbuilder-python/blame/main/libraries/botbuilder-dialogs/botbuilder/dialogs/prompts/attachment_prompt.py#L45) replacing any value the user could set.
  This behavior is not present in either .NET or JS SDKs.
  
  ## To Reproduce
  Steps to reproduce the behavior:
  1. Using the sample: [05.multi-turn-prompt](https://github.com/microsoft/BotBuilder-Samples/tree/main/samples/python/05.multi-turn-prompt):
      - Open [dialogs/user_profile_dialog.py](https://github.com/microsoft/BotBuilder-Samples/blob/main/samples/python/05.multi-turn-prompt/dialogs/user_profile_dialog.py) file.
      - Add the following line to the imports section `from botbuilder.schema import InputHints`.
      - Update picture_step method adding `input_hint=InputHints.accepting_input` to the message as can be seen below:
  ![image](https://user-images.githubusercontent.com/44245136/115744805-45a0ed00-a369-11eb-9eb1-6d86e9d73a26.png)
      - Save the changes.
      - Open the console in the bots folder and run the following commands:
          -  python -m pip install -r requirements.txt
          - python app.py
  
  2. Open BotFramework Emulator and connect to your bot.
  3. Follow the dialog flow until the profile picture step.
  4. See the activity in the Inspection panel and check the value of the inputHint property.
  ![image](https://user-images.githubusercontent.com/44245136/115744882-56516300-a369-11eb-837b-833dcce1bec7.png)
  
  ## Expected behavior
  The bot should send the activity with the inputHint property that was set for the message in the prompt options.
  
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `libraries/botbuilder-dialogs/botbuilder/dialogs/prompts/attachment_prompt.py`
  Content:
  ```
  1 # Copyright (c) Microsoft Corporation. All rights reserved.
  2 # Licensed under the MIT License.
  3 
  4 from typing import Callable, Dict
  5 
  6 from botbuilder.schema import ActivityTypes, InputHints
  7 from botbuilder.core import TurnContext
  8 
  9 from .prompt import Prompt, PromptValidatorContext
  10 from .prompt_options import PromptOptions
  11 from .prompt_recognizer_result import PromptRecognizerResult
  12 
  13 
  14 class AttachmentPrompt(Prompt):
  15     """
  16     Prompts a user to upload attachments like images.
  17 
  18     By default the prompt will return to the calling dialog an `[Attachment]`
  19     """
  20 
  21     def __init__(
  22         self, dialog_id: str, validator: Callable[[PromptValidatorContext], bool] = None
  23     ):
  24         super().__init__(dialog_id, validator)
  25 
  26     async def on_prompt(
  27         self,
  28         turn_context: TurnContext,
  29         state: Dict[str, object],
  30         options: PromptOptions,
  31         is_retry: bool,
  32     ):
  33         if not turn_context:
  34             raise TypeError("AttachmentPrompt.on_prompt(): TurnContext cannot be None.")
  35 
  36         if not isinstance(options, PromptOptions):
  37             raise TypeError(
  38                 "AttachmentPrompt.on_prompt(): PromptOptions are required for Attachment Prompt dialogs."
  39             )
  40 
  41         if is_retry and options.retry_prompt:
  42             options.retry_prompt.input_hint = InputHints.expecting_input
  43             await turn_context.send_activity(options.retry_prompt)
  44         elif options.prompt:
  45             options.prompt.input_hint = InputHints.expecting_input
  46             await turn_context.send_activity(options.prompt)
  47 
  48     async def on_recognize(
  49         self,
  50         turn_context: TurnContext,
  51         state: Dict[str, object],
  52         options: PromptOptions,
  53     ) -> PromptRecognizerResult:
  54         if not turn_context:
  55             raise TypeError("AttachmentPrompt.on_recognize(): context cannot be None.")
  56 
  57         result = PromptRecognizerResult()
  58 
  59         if turn_context.activity.type == ActivityTypes.message:
  60             message = turn_context.activity
  61             if isinstance(message.attachments, list) and message.attachments:
  62                 result.succeeded = True
  63                 result.value = message.attachments
  64 
  65         return result
  66
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/libraries/botbuilder-dialogs/botbuilder/dialogs/prompts/attachment_prompt.py b/libraries/botbuilder-dialogs/botbuilder/dialogs/prompts/attachment_prompt.py
  --- a/libraries/botbuilder-dialogs/botbuilder/dialogs/prompts/attachment_prompt.py
  +++ b/libraries/botbuilder-dialogs/botbuilder/dialogs/prompts/attachment_prompt.py
  @@ -3,7 +3,7 @@
   
   from typing import Callable, Dict
   
  -from botbuilder.schema import ActivityTypes, InputHints
  +from botbuilder.schema import ActivityTypes
   from botbuilder.core import TurnContext
   
   from .prompt import Prompt, PromptValidatorContext
  @@ -39,10 +39,8 @@
               )
   
           if is_retry and options.retry_prompt:
  -            options.retry_prompt.input_hint = InputHints.expecting_input
               await turn_context.send_activity(options.retry_prompt)
           elif options.prompt:
  -            options.prompt.input_hint = InputHints.expecting_input
               await turn_context.send_activity(options.prompt)
   
       async def on_recognize(
  
verification_info: {"golden_diff": "diff --git a/libraries/botbuilder-dialogs/botbuilder/dialogs/prompts/attachment_prompt.py b/libraries/botbuilder-dialogs/botbuilder/dialogs/prompts/attachment_prompt.py\n--- a/libraries/botbuilder-dialogs/botbuilder/dialogs/prompts/attachment_prompt.py\n+++ b/libraries/botbuilder-dialogs/botbuilder/dialogs/prompts/attachment_prompt.py\n@@ -3,7 +3,7 @@\n \n from typing import Callable, Dict\n \n-from botbuilder.schema import ActivityTypes, InputHints\n+from botbuilder.schema import ActivityTypes\n from botbuilder.core import TurnContext\n \n from .prompt import Prompt, PromptValidatorContext\n@@ -39,10 +39,8 @@\n             )\n \n         if is_retry and options.retry_prompt:\n-            options.retry_prompt.input_hint = InputHints.expecting_input\n             await turn_context.send_activity(options.retry_prompt)\n         elif options.prompt:\n-            options.prompt.input_hint = InputHints.expecting_input\n             await turn_context.send_activity(options.prompt)\n \n     async def on_recognize(\n", "issue": "[Dialogs] InputHint is hardcoded for AttachmentPrompt as expecting_input\n## Version\r\n4.12.0\r\n\r\n## Describe the bug\r\nIn the [AttachmentPrompt](https://github.com/microsoft/botbuilder-python/blame/main/libraries/botbuilder-dialogs/botbuilder/dialogs/prompts/attachment_prompt.py) class, the **prompt.input_hint** is set as [expecting_input](https://github.com/microsoft/botbuilder-python/blame/main/libraries/botbuilder-dialogs/botbuilder/dialogs/prompts/attachment_prompt.py#L45) replacing any value the user could set.\r\nThis behavior is not present in either .NET or JS SDKs.\r\n\r\n## To Reproduce\r\nSteps to reproduce the behavior:\r\n1. Using the sample: [05.multi-turn-prompt](https://github.com/microsoft/BotBuilder-Samples/tree/main/samples/python/05.multi-turn-prompt):\r\n    - Open [dialogs/user_profile_dialog.py](https://github.com/microsoft/BotBuilder-Samples/blob/main/samples/python/05.multi-turn-prompt/dialogs/user_profile_dialog.py) file.\r\n    - Add the following line to the imports section `from botbuilder.schema import InputHints`.\r\n    - Update picture_step method adding `input_hint=InputHints.accepting_input` to the message as can be seen below:\r\n![image](https://user-images.githubusercontent.com/44245136/115744805-45a0ed00-a369-11eb-9eb1-6d86e9d73a26.png)\r\n    - Save the changes.\r\n    - Open the console in the bots folder and run the following commands:\r\n        -  python -m pip install -r requirements.txt\r\n        - python app.py\r\n\r\n2. Open BotFramework Emulator and connect to your bot.\r\n3. Follow the dialog flow until the profile picture step.\r\n4. See the activity in the Inspection panel and check the value of the inputHint property.\r\n![image](https://user-images.githubusercontent.com/44245136/115744882-56516300-a369-11eb-837b-833dcce1bec7.png)\r\n\r\n## Expected behavior\r\nThe bot should send the activity with the inputHint property that was set for the message in the prompt options.\r\n\n", "before_files": [{"content": "# Copyright (c) Microsoft Corporation. All rights reserved.\n# Licensed under the MIT License.\n\nfrom typing import Callable, Dict\n\nfrom botbuilder.schema import ActivityTypes, InputHints\nfrom botbuilder.core import TurnContext\n\nfrom .prompt import Prompt, PromptValidatorContext\nfrom .prompt_options import PromptOptions\nfrom .prompt_recognizer_result import PromptRecognizerResult\n\n\nclass AttachmentPrompt(Prompt):\n    \"\"\"\n    Prompts a user to upload attachments like images.\n\n    By default the prompt will return to the calling dialog an `[Attachment]`\n    \"\"\"\n\n    def __init__(\n        self, dialog_id: str, validator: Callable[[PromptValidatorContext], bool] = None\n    ):\n        super().__init__(dialog_id, validator)\n\n    async def on_prompt(\n        self,\n        turn_context: TurnContext,\n        state: Dict[str, object],\n        options: PromptOptions,\n        is_retry: bool,\n    ):\n        if not turn_context:\n            raise TypeError(\"AttachmentPrompt.on_prompt(): TurnContext cannot be None.\")\n\n        if not isinstance(options, PromptOptions):\n            raise TypeError(\n                \"AttachmentPrompt.on_prompt(): PromptOptions are required for Attachment Prompt dialogs.\"\n            )\n\n        if is_retry and options.retry_prompt:\n            options.retry_prompt.input_hint = InputHints.expecting_input\n            await turn_context.send_activity(options.retry_prompt)\n        elif options.prompt:\n            options.prompt.input_hint = InputHints.expecting_input\n            await turn_context.send_activity(options.prompt)\n\n    async def on_recognize(\n        self,\n        turn_context: TurnContext,\n        state: Dict[str, object],\n        options: PromptOptions,\n    ) -> PromptRecognizerResult:\n        if not turn_context:\n            raise TypeError(\"AttachmentPrompt.on_recognize(): context cannot be None.\")\n\n        result = PromptRecognizerResult()\n\n        if turn_context.activity.type == ActivityTypes.message:\n            message = turn_context.activity\n            if isinstance(message.attachments, list) and message.attachments:\n                result.succeeded = True\n                result.value = message.attachments\n\n        return result\n", "path": "libraries/botbuilder-dialogs/botbuilder/dialogs/prompts/attachment_prompt.py"}], "after_files": [{"content": "# Copyright (c) Microsoft Corporation. All rights reserved.\n# Licensed under the MIT License.\n\nfrom typing import Callable, Dict\n\nfrom botbuilder.schema import ActivityTypes\nfrom botbuilder.core import TurnContext\n\nfrom .prompt import Prompt, PromptValidatorContext\nfrom .prompt_options import PromptOptions\nfrom .prompt_recognizer_result import PromptRecognizerResult\n\n\nclass AttachmentPrompt(Prompt):\n    \"\"\"\n    Prompts a user to upload attachments like images.\n\n    By default the prompt will return to the calling dialog an `[Attachment]`\n    \"\"\"\n\n    def __init__(\n        self, dialog_id: str, validator: Callable[[PromptValidatorContext], bool] = None\n    ):\n        super().__init__(dialog_id, validator)\n\n    async def on_prompt(\n        self,\n        turn_context: TurnContext,\n        state: Dict[str, object],\n        options: PromptOptions,\n        is_retry: bool,\n    ):\n        if not turn_context:\n            raise TypeError(\"AttachmentPrompt.on_prompt(): TurnContext cannot be None.\")\n\n        if not isinstance(options, PromptOptions):\n            raise TypeError(\n                \"AttachmentPrompt.on_prompt(): PromptOptions are required for Attachment Prompt dialogs.\"\n            )\n\n        if is_retry and options.retry_prompt:\n            await turn_context.send_activity(options.retry_prompt)\n        elif options.prompt:\n            await turn_context.send_activity(options.prompt)\n\n    async def on_recognize(\n        self,\n        turn_context: TurnContext,\n        state: Dict[str, object],\n        options: PromptOptions,\n    ) -> PromptRecognizerResult:\n        if not turn_context:\n            raise TypeError(\"AttachmentPrompt.on_recognize(): context cannot be None.\")\n\n        result = PromptRecognizerResult()\n\n        if turn_context.activity.type == ActivityTypes.message:\n            message = turn_context.activity\n            if isinstance(message.attachments, list) and message.attachments:\n                result.succeeded = True\n                result.value = message.attachments\n\n        return result\n", "path": "libraries/botbuilder-dialogs/botbuilder/dialogs/prompts/attachment_prompt.py"}]}