-
Notifications
You must be signed in to change notification settings - Fork 72
/
Copy path__init__.py
62 lines (53 loc) · 2.45 KB
/
__init__.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# Copyright 2016 Mycroft AI, Inc.
#
# This file is part of Mycroft Core.
#
# Mycroft Core is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Mycroft Core is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Mycroft Core. If not, see <http://www.gnu.org/licenses/>.
from adapt.intent import IntentBuilder
from mycroft import MycroftSkill, intent_handler
class HelloWorldSkill(MycroftSkill):
def __init__(self):
""" The __init__ method is called when the Skill is first constructed.
It is often used to declare variables or perform setup actions, however
it cannot utilise MycroftSkill methods as the class does not yet exist.
"""
super().__init__()
self.learning = True
def initialize(self):
""" Perform any final setup needed for the skill here.
This function is invoked after the skill is fully constructed and
registered with the system. Intents will be registered and Skill
settings will be available."""
my_setting = self.settings.get('my_setting')
@intent_handler(IntentBuilder('ThankYouIntent').require('ThankYouKeyword'))
def handle_thank_you_intent(self, message):
""" This is an Adapt intent handler, it is triggered by a keyword."""
self.speak_dialog("welcome")
@intent_handler('HowAreYou.intent')
def handle_how_are_you_intent(self, message):
""" This is a Padatious intent handler.
It is triggered using a list of sample phrases."""
self.speak_dialog("how.are.you")
@intent_handler(IntentBuilder('HelloWorldIntent')
.require('HelloWorldKeyword'))
def handle_hello_world_intent(self, message):
""" Skills can log useful information. These will appear in the CLI and
the skills.log file."""
self.log.info("There are five types of log messages: "
"info, debug, warning, error, and exception.")
self.speak_dialog("hello.world")
def stop(self):
pass
def create_skill():
return HelloWorldSkill()