Система конфигурированя команд
Общее описание У нас постоянно возникает необходимость передать в команды конфигурационные данные, такие как "список ролей", "место размещения store" и тому подобное. Необходимо продумать и реализовать систему конфигрирования, которая должна быть дополнением к существующей системе конфигуратора, который работает на основе config.yaml файла.
Важность Высокая
Сложность Низкая
Пока @ivan-kuznetsov продумывает решение, уместно ли задать пару вопросов для уточнения реализации:
- это должен быть общий конфиг файл? или каждая команда может заводить свой конфиг в своей папке?
- насколько гибким должно быть решение? мы завязываемся только на yaml или формат может поменяться со временем (например переход на xml или .env)?
- чем не устраивает уже имеющееся решение класс Configurator? причины, почему его необходимо переработать? чем хотелось бы дополнить?
Сейчас можно получить любой параметр через \SoerBot\Configurator::get('discord')['token'], что именно не устраивает в этой конструкции и что хотелось бы улучшить или дополнить.
P.S, и еще пришла в голову мысль, надо ли реализовывать интерфейс получения вложенного конфига, как например: get('discord.usergroup.anonymous.permissions') // т.е. получение 4-го уровня вложенности одним запросом