Description
Version
v4.11.0
Describe the bug
When content received from Slack is in type application/x-www-form-urlencoded, a dictionary called request_dict is created from the body using the query_string_to_dictionary method of the SlackHelper class. The resulting dictionary has one key called payload and its value is a dictionary with several key-values ({"type": ..., "user": ..., etc.}).
Later, a SlackPayload object is created from the key-values. However, the constructor of the SlackPayload class gets the values of the nested dictionary without getting the value of first key. Therefore, everything turns to be None in that object.
To Reproduce
- Use the 60.slack-adapter sample.
- Put a breakpoint in line 11 of botbuilder/adapters/slack/slack_payload.py and start debugging.
- Use the /test command in Slack (requires registering the command in the Slack application).
- In Slack, click on of the buttons sent from the bot.
Expected behavior
The created SlackPayload object should contain information about the Slack action.
Activity
omid-jf commentedon Feb 21, 2021
Another related bug:
Line 29 of the same file (slack_payload.py) has an incorrect syntax (check the screenshot below).
if isinstance(message) is SlackMessage
should be changed to:
if isinstance(message, SlackMessage)
congysu commentedon Feb 23, 2021
Thanks @axelsrz to take a look at this item.
congysu commentedon Feb 25, 2021
@axelsrz could you please take a look at this one? Thanks.
axelsrz commentedon Feb 25, 2021
bringing @tracyboehrer into the loop
tracyboehrer commentedon Mar 3, 2021
@omid-jf Thanks for reporting this. I'll get setup to test and correct this, and get it into the next release.
2 remaining items