$ python discordbot.py
GLOBAL COMMANDS
===============
| NOTE: global commands can take up to 1 hour to show up after registration.
|
| Update is required: False
| To upsert:
| -
| To edit:
| -
| To delete:
| -
| Type migration:
| -
| No changes:
| <SlashCommand name='config'>,
| <SlashCommand name='menu'>
DEBUG: Command synchronization task has been finished
We have logged in as Glagolitic#2190
` joined to guild 716***697 (ShurShur's test server)
volumes:
- ./package.json:/myapp/package-testdev.json:ro
- ./data:/myapp/data
environment:
DB_USER: ${DB_USER}
DB_PASSWORD: ${DB_PASSWORD}
env_file:
- my_project/test.env
В принципе, обычная такая задача на несложную систему плагинов.
Естественно, раз был выбран компилируемый язык, то всё должно заранее компилироваться. Подключать нескомпилированный код в C++ - это тянуть отдельно компилятор C++ в свою программу и воевать с запуском скомпилированного кода в рантайме, что прям совсем непросто.
Как вариант, можно также сделать красивую систему с возможностью подключения скриптов (нескомпилированных_ на разных языках (lua, perl, python, js итд итп). Но это уже задача со звёздочкой, хоть и проще, чем компиляция C++ на лету. Ещё можно придумать свой специализированный язык, написать его парсер (смотреть можно например в сторону ANTLR или lex/yacc) и интерпретатор, но это тоже весьма сложно. Но зато если удастся такое сделать - будет просто бомба и скилы прокачаются весьма серьёзно.
Для примера можно посмотреть на этот проект https://github.com/Verlihub . Там есть система плагинов через подгружаемые библиотеки, а также есть три плагина LuaScript, PerlScript, PythonScript, которые позволяют подключать скрипты на соответствующих языках.