You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Getting TypeError: 'staticmethod' object is not callable when I run the 'help' command on webex
What I Did
When running the 'help' command on webex, I am seeing the below Traceback on the terminal , I analyse code again and it seems like method response_from_adaptive_card should be a regular method rather than static method as currently showing up in the response.py
import json
from webexteamssdk.models.cards import AdaptiveCard
@staticmethod --> should be a regular method
def response_from_adaptive_card(adaptive_card: AdaptiveCard):
"""
Convenience method for generating a Response from an AdaptiveCard.
@param adaptive_card: AdaptiveCard object
@return: Response object
"""
response = Response()
response.text = "This bot requires a client which can render cards."
response.attachments = {
"contentType": "application/vnd.microsoft.card.adaptive",
"content": adaptive_card.to_dict()
}
return response
class Response(object):
--------- truncated -----------
Traceback on the terminal
(py_3.8) murafi@MURAFI-M-VC10:chat_bot$ python chattybot.py
2022-03-14 23:16:01 [INFO] [webex_bot.webex_bot.webex_bot.__init__]:45 Registering bot with Webex cloud
2022-03-14 23:16:01 [INFO] [restsession.webexteamssdk.restsession.user_agent]:167 User-Agent: webexteamssdk/0+unknown {"implementation": {"name": "CPython", "version": "3.8.12"}, "distro": {"name": "macOS", "version": "12.2.1"}, "system": {"name": "Darwin", "release": "21.3.0"}, "cpu": "x86_64"}
2022-03-14 23:16:01 [WARNING] [webex_bot.webex_bot.webex_bot.approval_parameters_check]:115 Your bot is open to anyone on Webex Teams. Consider limiting this to specific users, domains or room members via the WebexBot(approved_domains=['example.com'], approved_users=['user@company.com'], approved_rooms=['Y2lzY29zcGFyazovL3VzL1JPT00vZDUwMDE2ZWEtNmQ5My00MTY1LTg0ZWEtOGNmNTNhYjA3YzA5']) bot parameters.
2022-03-14 23:16:01 [INFO] [webex_bot.webex_bot.webex_bot.get_me_info]:87 Running as bot 'ChattyBot' with email ['chattyrobot@webex.bot']
2022-03-14 23:16:01 [WARNING] [command.webex_bot.models.command.__init__]:40 no card actions data so no entry for 'callback_keyword' for echo
2022-03-14 23:16:01 [INFO] [command.webex_bot.models.command.set_default_card_callback_keyword]:54 Added default action for 'echo' callback_keyword=callback___echo
2022-03-14 23:16:02 [INFO] [webex_websocket_client.root._connect_and_listen]:151 Opening websocket connection to wss://mercury-connection-partition0-a.wbx2.com/v1/apps/wx2/registrations/c6792f58-ead1-4aa7-9153-5cfe6c669493/messages
2022-03-14 23:16:02 [INFO] [webex_websocket_client.root._connect_and_listen]:154 WebSocket Opened.
/Users/murafi/py_3.8/lib/python3.8/site-packages/webex_bot/websockets/webex_websocket_client.py:100: RuntimeWarning: coroutine 'WebSocketCommonProtocol.send' was never awaited
self.websocket.send(json.dumps(ack_message))
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
2022-03-14 23:16:09 [INFO] [webex_websocket_client.root._ack_message]:101 WebSocket ack message with id=Y2lzY29zcGFyazovL3VzL01FU1NBR0UvYmFmYjY2NTAtYTNlYy0xMWVjLThiMDEtNTdmYjk4YjcwNzM0. Complete.
2022-03-14 23:16:09 [INFO] [webex_bot.webex_bot.webex_bot.process_incoming_message]:193 Message from murafi@cisco.com: Webex Teams Message:
{
"id": "Y2lzY29zcGFyazovL3VzL01FU1NBR0UvYmFmYjY2NTAtYTNlYy0xMWVjLThiMDEtNTdmYjk4YjcwNzM0",
"roomId": "Y2lzY29zcGFyazovL3VzL1JPT00vYTRiYzMzNjAtNjFmMi0xMWVjLWJkNGUtNTM5NTE1ZDZlYzEz",
"roomType": "direct",
"text": "help",
"personId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS80MTZkMDE5Mi0yMDQ1LTRhMTktOTM4Yy03YzI0Mjk5MTU1NGY",
"personEmail": "murafi@cisco.com",
"created": "2022-03-14T23:16:08.629Z"
}
2022-03-14 23:16:09 [WARNING] [webex_bot.webex_bot.webex_bot.approval_parameters_check]:115 Your bot is open to anyone on Webex Teams. Consider limiting this to specific users, domains or room members via the WebexBot(approved_domains=['example.com'], approved_users=['user@company.com'], approved_rooms=['Y2lzY29zcGFyazovL3VzL1JPT00vZDUwMDE2ZWEtNmQ5My00MTY1LTg0ZWEtOGNmNTNhYjA3YzA5']) bot parameters.
2022-03-14 23:16:09 [ERROR] [base_events.asyncio.default_exception_handler]:1707 Future exception was never retrieved
future: <Future finished exception=TypeError("'staticmethod' object is not callable")>
Traceback (most recent call last):
File "/usr/local/Cellar/python@3.8/3.8.12_1/Frameworks/Python.framework/Versions/3.8/lib/python3.8/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/Users/murafi/py_3.8/lib/python3.8/site-packages/webex_bot/websockets/webex_websocket_client.py", line 56, in _process_incoming_websocket_message
self.on_message(teams_message=webex_message, activity=activity)
File "/Users/murafi/py_3.8/lib/python3.8/site-packages/webex_bot/webex_bot.py", line 202, in process_incoming_message
self.process_raw_command(raw_message, teams_message, user_email, activity)
File "/Users/murafi/py_3.8/lib/python3.8/site-packages/webex_bot/webex_bot.py", line 262, in process_raw_command
reply, reply_one_to_one = self.run_command_and_handle_bot_exceptions(command=command,
File "/Users/murafi/py_3.8/lib/python3.8/site-packages/webex_bot/webex_bot.py", line 341, in run_command_and_handle_bot_exceptions
return command.card_callback(message, teams_message, activity), False
File "/Users/murafi/py_3.8/lib/python3.8/site-packages/webex_bot/commands/help.py", line 61, in build_card
return response_from_adaptive_card(adaptive_card=card)
TypeError: 'staticmethod' object is not callable
I am going to raise a pull request, please review it and let me know if you are happy with it.
Thanks,
-Rafi
The text was updated successfully, but these errors were encountered:
Description
Getting
TypeError: 'staticmethod' object is not callable
when I run the 'help' command on webexWhat I Did
When running the 'help' command on webex, I am seeing the below Traceback on the terminal , I analyse code again and it seems like method
response_from_adaptive_card
should be a regular method rather than static method as currently showing up in theresponse.py
Traceback on the terminal
I am going to raise a pull request, please review it and let me know if you are happy with it.
Thanks,
-Rafi
The text was updated successfully, but these errors were encountered: