Yes I have another question, again this is presumably because being not very experienced with python (and presumably in reading a manual)
I have several intents some with 1 slots some with up to 3 slots
The intent PlayMusic has one slot named artist
@app.on_intent(“PlayMusic”)
async def play_music(intent: NluIntent):
the intent give me the following response:
NluIntent(input=‘spiele musik von Bob Marley’, intent=Intent(intent_name=‘PlayMusic’, confidence_score=1.0), site_id=‘default’, id=None, slots=[Slot(entity=‘artists’, value={‘kind’: ‘Unknown’, ‘value’: ‘Bob Marley’}, slot_name=‘artist’, raw_value=‘bob marley’, confidence=1.0, range=SlotRange(start=17, end=27, raw_start=17, raw_end=27))], session_id=‘default-hey-mycroft-2-53c25d70-c593-482a-b395-c94b2630c61f’, custom_data=None, asr_tokens=[[AsrToken(value=‘spiele’, confidence=1.0, range_start=0, range_end=6, time=None), AsrToken(value=‘musik’, confidence=1.0, range_start=7, range_end=12, time=None), AsrToken(value=‘von’, confidence=1.0, range_start=13, range_end=16, time=None), AsrToken(value=‘Bob’, confidence=1.0, range_start=17, range_end=20, time=None), AsrToken(value=‘Marley’, confidence=1.0, range_start=21, range_end=27, time=None)]], asr_confidence=None, raw_input=‘spiele musik von bob marley’, wakeword_id=‘hey-mycroft-2’, lang=None)
intent.intent.intent_name gives me => PlayMusic
intent.slots[0] => Slot(entity=‘artists’, value={‘kind’: ‘Unknown’, ‘value’: ‘Bob Marley’}, slot_name=‘artist’, raw_value=‘bob marley’, confidence=1.0, range=SlotRange(start=17, end=27, raw_start=17, raw_end=27))
intent.slots[0].value => {‘kind’: ‘Unknown’, ‘value’: ‘Bob Marley’}
intent.slots[0].value.value => ERROR AttributeError: ‘dict’ object has no attribute ‘value’
how do I get my slot value?
it would be great to just have to use: intent.slot.artists
but then I also have another intent Timer which can have up to 4 slots… here an example:
NluIntent(input=‘Nudel Timer 1 Stunde und 30 Minute und 20 Sekunden’, intent=Intent(intent_name=‘Timer’, confidence_score=1.0), site_id=‘default’, id=None, slots=[Slot(entity=‘timerType’, value={‘kind’: ‘Unknown’, ‘value’: ‘Nudel’}, slot_name=‘timerType’, raw_value=‘nudel’, confidence=1.0, range=SlotRange(start=0, end=5, raw_start=0, raw_end=5)), Slot(entity=‘rhasspy/number’, value={‘kind’: ‘Number’, ‘value’: 1}, slot_name=‘duration’, raw_value=‘eins’, confidence=1.0, range=SlotRange(start=12, end=13, raw_start=12, raw_end=16)), Slot(entity=‘durationUnit’, value={‘kind’: ‘Unknown’, ‘value’: ‘Stunde’}, slot_name=‘durationUnit’, raw_value=‘stunde’, confidence=1.0, range=SlotRange(start=14, end=20, raw_start=17, raw_end=23)), Slot(entity=‘rhasspy/number’, value={‘kind’: ‘Number’, ‘value’: 30}, slot_name=‘duration’, raw_value=‘dreißig’, confidence=1.0, range=SlotRange(start=25, end=27, raw_start=28, raw_end=35)), Slot(entity=‘durationUnit’, value={‘kind’: ‘Unknown’, ‘value’: ‘Minute’}, slot_name=‘durationUnit’, raw_value=‘minute’, confidence=1.0, range=SlotRange(start=28, end=34, raw_start=36, raw_end=42)), Slot(entity=‘rhasspy/number’, value={‘kind’: ‘Number’, ‘value’: 20}, slot_name=‘duration’, raw_value=‘zwanzig’, confidence=1.0, range=SlotRange(start=39, end=41, raw_start=47, raw_end=54)), Slot(entity=‘durationUnit’, value={‘kind’: ‘Unknown’, ‘value’: ‘Sekunden’}, slot_name=‘durationUnit’, raw_value=‘sekunden’, confidence=1.0, range=SlotRange(start=42, end=50, raw_start=55, raw_end=63))], session_id=‘default-hey-mycroft-2-e8857988-fc2e-4662-ac8c-b563ba11c614’, custom_data=None, asr_tokens=[[AsrToken(value=‘Nudel’, confidence=1.0, range_start=0, range_end=5, time=None), AsrToken(value=‘Timer’, confidence=1.0, range_start=6, range_end=11, time=None), AsrToken(value=‘1’, confidence=1.0, range_start=12, range_end=13, time=None), AsrToken(value=‘Stunde’, confidence=1.0, range_start=14, range_end=20, time=None), AsrToken(value=‘und’, confidence=1.0, range_start=21, range_end=24, time=None), AsrToken(value=‘30’, confidence=1.0, range_start=25, range_end=27, time=None), AsrToken(value=‘Minute’, confidence=1.0, range_start=28, range_end=34, time=None), AsrToken(value=‘und’, confidence=1.0, range_start=35, range_end=38, time=None), AsrToken(value=‘20’, confidence=1.0, range_start=39, range_end=41, time=None), AsrToken(value=‘Sekunden’, confidence=1.0, range_start=42, range_end=50, time=None)]], asr_confidence=None, raw_input=‘nudel timer eins stunde und dreißig minute und zwanzig sekunden’, wakeword_id=‘hey-mycroft-2’, lang=None)
I presume these are questions for dummies, would be great if you can help me out
Thanks!