- Notifications
You must be signed in to change notification settings - Fork0
itookyourboo/BaseSkill
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Фреймворк для разработки навыков Алисы на Python
❗️ Адаптирован под хостинг PythonAnyWhere ❗️
https://vk.com/video-181060886_456239027
Примеры навыков, реализованных на данном фреймворке
GitHub -https://github.com/itookyourboo/alice_minitest
Алиса -https://dialogs.yandex.ru/store/skills/79dc14f5-veselye-minitesty
GitHub -https://github.com/itookyourboo/animal-names
Алиса -https://dialogs.yandex.ru/store/skills/9a733c88-imya-dlya-pitom
Создаём папку test_skill, в которой будут храниться все файлы вашего навыка
Содержит enum-класс, в котором прописаны состояния/уровни/комнаты (как хотите, так и называйте)
Содержит все строковые ресурсы, чтобы избавиться от хардкода в главном файле
classTestSkill(BaseSkill):name='test_skill'command_handler=handler
handler=CommandHandler()# Приветственное сообщение@handler.hello_commanddefhello(req,res,session):res.text='Привет'session['state']=State.MENU# Обработка токенов# Есть заготовленные команды@handler.command(words=['да','ага'],states=State.MENU)defyes(req,res,session):res.text='Вы ответили положительно'session['state']=State.PLAY# Обработка пользовательского ввода# Когда нет заготовленных команд@handler.undefined_command(states=State.PLAY)defplay(req,res,session):ifYOUR_WORDinreq.tokens:res.text='Молодец!'else:res.text='Подумай ещё'
Здесь импортируем все наши навыки и кладём их в SKILLS
fromtest_skillimportTestSkillfromanother_skillimportAnotherSkill...SKILLS= [TestSkill(),AnotherSkill(), ...]