core: sendMessage handles the extra data key 'send_only' to skip triggers, storage and echo
This commit is contained in:
parent
df43c42611
commit
be2e956c0b
1 changed files with 9 additions and 4 deletions
|
|
@ -481,7 +481,9 @@ class SAT(service.Service):
|
|||
mess_data["type"] == 'chat'
|
||||
mess_data["type"] == "chat" if mess_data["subject"] else "normal"
|
||||
|
||||
if not no_trigger:
|
||||
send_only = mess_data['extra'].get('send_only', None)
|
||||
|
||||
if not no_trigger and not send_only:
|
||||
if not self.trigger.point("sendMessage", mess_data, pre_xml_treatments, post_xml_treatments, profile):
|
||||
return defer.succeed(None)
|
||||
|
||||
|
|
@ -494,9 +496,12 @@ class SAT(service.Service):
|
|||
pre_xml_treatments.addCallback(lambda dummy: self.generateMessageXML(mess_data))
|
||||
pre_xml_treatments.chainDeferred(post_xml_treatments)
|
||||
post_xml_treatments.addCallback(self._sendMessageToStream, client)
|
||||
post_xml_treatments.addCallback(self._storeMessage, client)
|
||||
post_xml_treatments.addCallback(self.sendMessageToBridge, client)
|
||||
post_xml_treatments.addErrback(cancelErrorTrap)
|
||||
if send_only:
|
||||
log.debug(_("Triggers, storage and echo have been inhibited by the 'send_only' parameter"))
|
||||
else:
|
||||
post_xml_treatments.addCallback(self._storeMessage, client)
|
||||
post_xml_treatments.addCallback(self.sendMessageToBridge, client)
|
||||
post_xml_treatments.addErrback(cancelErrorTrap)
|
||||
pre_xml_treatments.callback(mess_data)
|
||||
return pre_xml_treatments
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue