Mycroft-core: рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░реАрдХреНрд╖рдг рд╕рдорд╕реНрдпрд╛: "рдлрд┐рд░ рдЙрддреНрддрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП|рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ" рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 30 рд╕рд┐рддре░ 2020  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: MycroftAI/mycroft-core

рдореИрдВ рдЕрдкрдиреЗ рдХреМрд╢рд▓ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рд╛ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдореИрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред
рдорд╛рдЗрдХреНрд░реЙрдлреНрдЯ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЬрдм рдпрд╣ рд╕рдордЭрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдмрд┐рд╣реЗрд╡ рдХреЗ рд╕рд╛рде рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХреИрд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рджрд┐рдЦрд╛рдИ рдЬрд╛рддреА рд╣реИ рдХрд┐ рдорд╛рдЗрдХреНрд░реЙрдлреНрдЯ рдЙрддреНрддрд░ рдореЗрдВ рдХреЛрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╢рдмреНрдж рд╣реИ рдпрд╛ рдирд╣реАрдВред
рд▓реЗрдХрд┐рди рдкреНрд░рд╕реНрддреБрдд рд╕рднреА рддрд░реАрдХреЗ рдореЗрд░реЗ рдХрд╛рдо рдирд╣реАрдВ рдЖрддреЗред

рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА:

  • рддрдм "mycroft-skill" рдЙрддреНрддрд░ рдореЗрдВ [рд╢рдмреНрдж] рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
  • рдлрд┐рд░ "mycroft-skill" рдХреЛ рд╕рдВрд╡рд╛рдж [рд╕рдВрд╡рд╛рдж рдлрд╝рд╛рдЗрд▓] рдХреЗ рд╕рд╛рде рдЙрддреНрддрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рд▓реЗрдХрд┐рди рдЙрддреНрддрд░ рдореЗрдВ [рд╢рдмреНрдж] рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
  • рдлрд┐рд░ "mycroft-skill" рдХреЛ рд╕рдВрд╡рд╛рдж [рд╕рдВрд╡рд╛рдж рдлрд╝рд╛рдЗрд▓] рдХреЗ рд╕рд╛рде рдЙрддреНрддрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдлрд┐рд░ "mycroft-skill" рдЙрддреНрддрд░ рдореЗрдВ [рд╢рдмреНрдж] рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
  • рдлрд┐рд░ "mycroft-skill" рдХреЛ рд╕рдВрд╡рд╛рдж [рд╕рдВрд╡рд╛рдж рдлрд╝рд╛рдЗрд▓] рдХреЗ рд╕рд╛рде рдЙрддреНрддрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рд▓реЗрдХрд┐рди "mycroft-skill" рдЙрддреНрддрд░ рдореЗрдВ [рд╢рдмреНрдж] рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
  • рдлрд┐рд░ "mycroft-skill" рдХреЛ рд╕рдВрд╡рд╛рдж [рд╕рдВрд╡рд╛рдж рдлрд╝рд╛рдЗрд▓] рдХреЗ рд╕рд╛рде рдЙрддреНрддрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рд▓реЗрдХрд┐рди рдЙрддреНрддрд░ рдореЗрдВ [рд╢рдмреНрдж] рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
  • рдлрд┐рд░ "mycroft-skill" рдХреЛ рд╕рдВрд╡рд╛рдж [рд╕рдВрд╡рд╛рдж рдлрд╝рд╛рдЗрд▓] рдХреЗ рд╕рд╛рде рдЙрддреНрддрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдлрд┐рд░ "mycroft-skill" рдЙрддреНрддрд░ рдореЗрдВ [рд╢рдмреНрдж] рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
  • рдлрд┐рд░ "mycroft-skill" рдХреЛ рд╕рдВрд╡рд╛рдж [рд╕рдВрд╡рд╛рдж рдлрд╝рд╛рдЗрд▓] рдХреЗ рд╕рд╛рде рдЙрддреНрддрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рд▓реЗрдХрд┐рди "mycroft-skill" рдЙрддреНрддрд░ рдореЗрдВ [рд╢рдмреНрдж] рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

рдЧрд▓рддреА рдХрд╣рд╛рдБ рд╣реИ?
рдореБрдЭреЗ рдХреБрдВрдЬреА-рд╢рдмреНрдж "contain" рдпрд╛ "include" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ?

For discussion Enhancement - proposed help wanted

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЕрд░реЗ, рдореИрдВрдиреЗ рдЙрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИред рдпрд╣ рдореЗрд░реА рдУрд░ рд╕реЗ рдПрдХ рдЧрд▓рддреА рдереАред

рд╡реНрдпрд╛рдкрдХ "рдорд╛рдЗрдХреНрд░реЙрдлреНрдЯ рдЙрддреНрддрд░" рдЪрд░рдг рддрдм рдЙрдкрдпреЛрдЧреА рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕рд╛ рдХреМрд╢рд▓ рддрдм рддрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИ рдЬрдм рддрдХ рдЖрдкрдХреЛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрддреНрддрд░ рдорд┐рд▓рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдлрд┐рд▓ рдЯрд╛рд╡рд░ рдХреА рдКрдВрдЪрд╛рдИ рдЬреИрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдЬреНрдЮрд╛рди рдХрд╛ рдкреНрд░рд╢реНрди рдкреВрдЫрдирд╛ - рдпрд╣ рдбрдХрдбрдХрдЧреЛ, рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛, рдпрд╛ рд╡реЛрд▓реНрдлреНрд░рд╛рдо рдЕрд▓реНрдлрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЙрддреНрддрд░ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдпрд╣ рдЕрднреА рднреА рдПрдХ рд╕рдлрд▓ рдмрд╛рддрдЪреАрдд рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпреЗ рд╕рднреА рдЕрдЪреНрдЫреЗ рдЙрдореНрдореАрджрд╡рд╛рд░ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдирдП рдХрджрдореЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  • рддреЛ {рдХреМрд╢рд▓} рдЙрддреНрддрд░ рдореЗрдВ "{text}" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
  • рддреЛ {рдХреМрд╢рд▓} рдЙрддреНрддрд░ рдореЗрдВ "{text}" рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
  • рддреЛ mycroft рдЙрддреНрддрд░ рдореЗрдВ "{text}" рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

рд╕рднреА 5 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╣рд╛рдп рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐рд╕реА рд╢рдмреНрдж рдХреЛ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

Then mycroft reply should contain "SOMETHING CLEVER"

рдЬрд╣рд╛рдВ рдХреБрдЫ рдЪрд╛рд▓рд╛рдХ mycroft рд╕реЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рдЪрддреБрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИ :)

рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВ рдФрд░ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╡рд┐рдХреА рдХреМрд╢рд▓ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВрдиреЗ "рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП" рдЪрд░рдг рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ, рдореИрдВ рдЗрд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рджреЗрдЦрддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ ...

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╣реИред
рдпрджрд┐ рдЖрдк рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ "рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП" рджреВрд╕рд░реЗ рдЪрд░рдг рдХреА рддрд░рд╣ рд╡рд┐рд╢реЗрд╖рддрд╛ {skill} рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ, рддреЛ рдЗрд╕ рдЪрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ "рдлрд┐рд░ mycroft..." рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ рди рдХрд┐ "рдлрд┐рд░ {skillname}..."

рдЗрд╕ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреА рджреЛ рддреБрд▓рдирд╛ рдХрд░реЗрдВ...
@then('mycroft рдЙрддреНрддрд░ рдореЗрдВ "{text}"' рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП)
рдФрд░ рджреВрд╕рд░реЗ рдЪрд░рдг рдХреА рддрд░рд╣ рдирд╣реАрдВ
@then('"{skill}" рдХреЛ рдареАрдХ "{text}"' рдХреЗ рд╕рд╛рде рдЬрд╡рд╛рдм рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП)

рдЕрд░реЗ, рдореИрдВрдиреЗ рдЙрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИред рдпрд╣ рдореЗрд░реА рдУрд░ рд╕реЗ рдПрдХ рдЧрд▓рддреА рдереАред

рд╡реНрдпрд╛рдкрдХ "рдорд╛рдЗрдХреНрд░реЙрдлреНрдЯ рдЙрддреНрддрд░" рдЪрд░рдг рддрдм рдЙрдкрдпреЛрдЧреА рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕рд╛ рдХреМрд╢рд▓ рддрдм рддрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИ рдЬрдм рддрдХ рдЖрдкрдХреЛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрддреНрддрд░ рдорд┐рд▓рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдлрд┐рд▓ рдЯрд╛рд╡рд░ рдХреА рдКрдВрдЪрд╛рдИ рдЬреИрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдЬреНрдЮрд╛рди рдХрд╛ рдкреНрд░рд╢реНрди рдкреВрдЫрдирд╛ - рдпрд╣ рдбрдХрдбрдХрдЧреЛ, рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛, рдпрд╛ рд╡реЛрд▓реНрдлреНрд░рд╛рдо рдЕрд▓реНрдлрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЙрддреНрддрд░ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдпрд╣ рдЕрднреА рднреА рдПрдХ рд╕рдлрд▓ рдмрд╛рддрдЪреАрдд рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпреЗ рд╕рднреА рдЕрдЪреНрдЫреЗ рдЙрдореНрдореАрджрд╡рд╛рд░ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдирдП рдХрджрдореЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  • рддреЛ {рдХреМрд╢рд▓} рдЙрддреНрддрд░ рдореЗрдВ "{text}" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
  • рддреЛ {рдХреМрд╢рд▓} рдЙрддреНрддрд░ рдореЗрдВ "{text}" рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
  • рддреЛ mycroft рдЙрддреНрддрд░ рдореЗрдВ "{text}" рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

рдареАрдХ рд╣реИред рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рдЕрдм рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ thethen_contains рдЪрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВред
рдореБрдЭреЗ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рднреА рд╕рдорд╕реНрдпрд╛ рд╣реИ:

`рдлрд╝реАрдЪрд░: рд╡рд░реНрддрдорд╛рди рдореМрд╕рдо
рдкрд░рд┐рджреГрд╢реНрдп: рдкреЗрд░рд┐рд╕ рдореЗрдВ рддрд╛рдкрдорд╛рди

Given an english speaking user

  And user is located in Paris

 When the user says "how hot will it be today"

 Then "mycroft-weather" should reply with dialog from "current.high.temperature.dialog"

  But mycroft reply should contain "Paris"`

рдЬрдм рдореИрдВ рд▓реЗрдХрд┐рди рдпрд╛ рдФрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрддреНрддрд░ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рд╢рдмреНрдж рдХреА рдЬрд╛рдВрдЪ рдкрд┐рдЫрд▓реЗ рдЙрддреНрддрд░ рдкрд░ рдХреА рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
Then mycroft reply should contain... , рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рднреА usign рд▓реЗрдХрд┐рди|рдФрд░, рд╡реНрдпрд╡рд╣рд╛рд░ рдПрдХ рдирдП рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдЙрдкрд╕реНрдерд┐рдд рд╣реЛрддрд╛ рд╣реИ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЙрддреНрддрд░ рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╢рдмреНрдж рд╣реИ рдпрд╛ рдирд╣реАрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдЪрд░рдг рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ рдПрдХ рдРрд╕реЗ рдЪрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╕рдВрджрд░реНрдн рдирд╣реАрдВ рд╣реИ рдЬреЛ рдкрд┐рдЫрд▓реЗ рдЙрддреНрддрд░ рдкрд░ рдФрд░ рдпрд╛ рд▓реЗрдХрд┐рди рдХреАрд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред
But рдФрд░ And рдкрд┐рдЫрд▓реЗ рдЙрддреНрддрд░ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдкрд░реАрдХреНрд╖рдг рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдкрдардиреАрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИрдВред
рдЕрдЧрд░ рдЖрдк рд▓рд┐рдЦрддреЗ рд╣реИрдВ

"Then "myskil" should reply with dialog "myskill.dialog"
"And|But "myskill" should reply with dialog "myskillother.dialog"

рдПрдХ рд╣реА рд╣реИ

"Then "myskil" should reply with dialog "myskill.dialog"
"Then "myskill" should reply with dialog "myskillother.dialog"

рддреЛ and|but рдХреЛ рдкрд┐рдЫрд▓реЗ рдЪрд░рдг рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ then|given рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рдкрд┐рдЫрд▓рд╛ рдЪрд░рдг then рдЪрд░рдг рд╣реИ рддреЛ then рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЕрдиреНрдпрдерд╛ рд╕рд╛рде given ред

рддреЛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ thethen_contain рд╡рд╣реА рд╣реИ, рдЪреЗрдХ рдПрдХ рдирдП рдмреЛрд▓реЗ рдЧрдП рдЙрдЪреНрдЪрд╛рд░рдг рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рди рдХрд┐ рдкрд┐рдЫрд▓реЗ рдкрд░ред
рдпрд╣ рдЗрд╕рд▓рд┐рдП рднреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ mycroft рд╕рдВрджреЗрд╢ рдмрд╕ рджрд┐рдП рдЧрдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╕рд╣реЗрдЬрддреА рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрдм рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИ рддреЛ рдЙрд╕ рдкрд░ рдкрд╣реБрдВрдЪ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред

рдкреБрд▓ рдЕрдиреБрд░реЛрдз #2711 рджреЗрдЦреЗрдВ рдФрд░ #2714 рдЬрд╛рд░реА рдХрд░реЗрдВ

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕