Issue-2812 - Allow overridden converse methods to accept messages

pull/2813/head
neonandrii 2021-01-21 11:26:46 +02:00
parent 1a179dacab
commit 3dca3a488a
1 changed files with 6 additions and 1 deletions

View File

@ -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'