From 3dca3a488a5ae1d74ec81c21d993e5581c10537e Mon Sep 17 00:00:00 2001 From: neonandrii Date: Thu, 21 Jan 2021 11:26:46 +0200 Subject: [PATCH] Issue-2812 - Allow overridden converse methods to accept messages --- mycroft/skills/skill_manager.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mycroft/skills/skill_manager.py b/mycroft/skills/skill_manager.py index b76c555600..18055f1f9c 100644 --- a/mycroft/skills/skill_manager.py +++ b/mycroft/skills/skill_manager.py @@ -17,6 +17,7 @@ import os from glob import glob from threading import Thread, Event, Lock from time import sleep, time, monotonic +from inspect import signature from mycroft.api import is_paired from mycroft.enclosure.api import EnclosureAPI @@ -445,7 +446,11 @@ class SkillManager(Thread): try: utterances = message.data['utterances'] lang = message.data['lang'] - result = skill_loader.instance.converse(utterances, lang) + # check the signature of a converse method to either pass a message or not + if len(signature(skill_loader.instance.converse).parameters) == 3: + result = skill_loader.instance.converse(utterances, lang, message) + else: + result = skill_loader.instance.converse(utterances, lang) self._emit_converse_response(result, message, skill_loader) except Exception: error_message = 'exception in converse method'