有没有办法将 python 中的 2 个装饰器与 or 条件结合起来?
Is there a way to combine 2 decorators in python with or condition?
我正在使用 RTMclient 获取松弛消息数据。这里消息的类型是 'message' ,它只给我们父线程的数据。但我想要回复的消息数据。
在研究中我发现它是 'message_replied' 类型。我想在装饰器中包含消息或 message_replied。
Pfb 示例代码。
@slack.RTMClient.run_on(event='message')
def respond(**payload):
data = payload['data']
web_client = payload['web_client']
rtm_client = payload['rtm_client']
user_id = data.get("user")
text = data.get("text")
这里我也想使用 @slack.RTMClient.run_on(event='message_replied')
但条件是 'or'
查看 slack.RTMClient.run_on()
的源代码,您应该能够 "stack" 像这样的装饰器:
@slack.RTMClient.run_on(event='message')
@slack.RTMClient.run_on(event='message_replied')
def respond(**payload):
data = payload['data']
web_client = payload['web_client']
rtm_client = payload['rtm_client']
user_id = data.get("user")
你试过吗?
我正在使用 RTMclient 获取松弛消息数据。这里消息的类型是 'message' ,它只给我们父线程的数据。但我想要回复的消息数据。 在研究中我发现它是 'message_replied' 类型。我想在装饰器中包含消息或 message_replied。
Pfb 示例代码。
@slack.RTMClient.run_on(event='message')
def respond(**payload):
data = payload['data']
web_client = payload['web_client']
rtm_client = payload['rtm_client']
user_id = data.get("user")
text = data.get("text")
这里我也想使用 @slack.RTMClient.run_on(event='message_replied')
但条件是 'or'
查看 slack.RTMClient.run_on()
的源代码,您应该能够 "stack" 像这样的装饰器:
@slack.RTMClient.run_on(event='message')
@slack.RTMClient.run_on(event='message_replied')
def respond(**payload):
data = payload['data']
web_client = payload['web_client']
rtm_client = payload['rtm_client']
user_id = data.get("user")
你试过吗?