From e5a2c9ce4c54623ea418152efca8c319c9173b2f Mon Sep 17 00:00:00 2001 From: domcross Date: Wed, 7 Oct 2020 21:21:34 +0200 Subject: [PATCH 1/2] fix issue #1566 --- __init__.py | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/__init__.py b/__init__.py index 4b7ae7b..72812e4 100644 --- a/__init__.py +++ b/__init__.py @@ -14,14 +14,25 @@ from adapt.intent import IntentBuilder from mycroft.messagebus.message import Message -from mycroft.skills.core import MycroftSkill, intent_handler, intent_file_handler +from mycroft.skills.core import FallbackSkill, intent_handler, intent_file_handler +from mycroft.skills.skill_data import read_vocab_file -class StopSkill(MycroftSkill): +class StopSkill(FallbackSkill): def __init__(self): super().__init__(name="StopSkill") - @intent_handler(IntentBuilder("").require("Stop")) + def initialize(self): + self.register_fallback(self.handle_fallback, 50) + self.stopwords = read_vocab_file(self.find_resource('Stop.voc', 'vocab')) + + def handle_fallback(self, message): + utt = message.data.get('utterance').lower() + if [utt] in self.stopwords: + self.handle_stop(None) + return True + return False + def handle_stop(self, event): # Framework catches this, invokes stop() method on all skills self.bus.emit(Message("mycroft.stop")) @@ -53,5 +64,9 @@ def handle_ssh_enable(self, event): def handle_ssh_disable(self, event): self.bus.emit(Message("system.ssh.disable")) + def shutdown(self): + self.remove_fallback(self.handle_fallback) + super(StopSkill, self).shutdown() + def create_skill(): return StopSkill() From 866543d58da541d21083a5c460c0be16e09f385a Mon Sep 17 00:00:00 2001 From: domcross Date: Mon, 12 Oct 2020 08:37:45 +0200 Subject: [PATCH 2/2] add more phrases to stop.voc --- vocab/de-de/Stop.voc | 7 ++++--- vocab/en-us/Stop.voc | 4 +++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/vocab/de-de/Stop.voc b/vocab/de-de/Stop.voc index 973ed00..f7d316a 100644 --- a/vocab/de-de/Stop.voc +++ b/vocab/de-de/Stop.voc @@ -1,4 +1,5 @@ -Stop -Ruhe -halt den Mund +stop +ruhe +halt den mund sei leise +ruhe bitte diff --git a/vocab/en-us/Stop.voc b/vocab/en-us/Stop.voc index 5839db2..87316f6 100644 --- a/vocab/en-us/Stop.voc +++ b/vocab/en-us/Stop.voc @@ -1,4 +1,6 @@ stop silence shut up -be quiet \ No newline at end of file +be quiet +please stop +quiet please