Mycroft Community Forum

Problem with the converse and response methods

I run my skill: https://github.com/alonyomtov123/useridentification-skill.git

12:20:20.154 | INFO | 15177 | main:handle_record_begin:37 | Begin Recording…
0
12:20:23.211 | INFO | 15171 | AlarmSkill | on ended…
12:20:23.203 | INFO | 15177 | main:handle_record_end:43 | End Recording…
12:20:23.203 | INFO | 15177 | mycroft.client.speech.mic:listen:648 | Recording utterance
12:20:25.862 | INFO | 15177 | main:handle_utterance:64 | Utterance: [‘yes’]
100
12:20:25.866 | ERROR | 15171 | mycroft.skills.skill_manager:handle_converse_request:343 | exception in converse method
Traceback (most recent call last):
File “/home/alon/Desktop/mycroft-core/mycroft/skills/skill_manager.py”, line 340, in handle_converse_request
self._emit_converse_response(message, skill_loader)
File “/home/alon/Desktop/mycroft-core/mycroft/skills/skill_manager.py”, line 362, in _emit_converse_response
result = skill_loader.instance.converse(utterances, lang)
TypeError: converse() takes 2 positional arguments but 3 were given
12:20:26.072 | INFO | 15171 | QuestionsAnswersSkill | Searching for yes
Removing event fallback-query.mycroftai:QuestionQueryTimeout

This is the error.
Can someone please help?
Thank you

Your method is missing one parameter: See the API docs.

It should be

        def converse(self, utterances, lang):

/Åke

I tried to do so but then the skill stopped being called.
The error shown is in the skill_manager.py, not in my skill.
Thank You

The skill_manager is what calls the method. If the method signature is wrong it will throw an error.

If I change the converse then the skill isn’t even called so changing it doesn’t help!