Для безопасного хранения токенов и других чувствительных данных, вы можете использовать два подхода:
.env (рекомендуется)bot.setAppConfig({ env: './.env' });
Пример файла .env:
TELEGRAM_TOKEN=your-telegram-token
VK_TOKEN=your-vk-token
VK_CONFIRMATION_TOKEN=your-vk-confirmation-token
VIBER_TOKEN=your-viber-token
YANDEX_TOKEN=your-alisa-token
MARUSIA_TOKEN=your-marusia-token
DB_HOST=localhost
DB_USER=bot_user
DB_PASSWORD=secure_password
DB_NAME=bot_database
В случае если при указании env сам файл не будет найден, то фреймворк попробует получить все необходимые токены из process.env. Если и в таком случае информацию получить не получится, в лог-файле будет выведено соответствующее сообщение об ошибке.
Важно! Никогда не добавляйте .env файлы в репозиторий Git Используйте разные токены для разработки и продакшена
bot.setAppConfig({
db: {
host: 'localhost',
user: 'bot_user',
password: 'secure_password',
database: 'bot_database',
},
tokens: {
telegram: {
token: 'your-telegram-token',
},
vk: {
token: 'your-vk-token',
},
},
});
Вы можете комбинировать оба подхода - значения из .env файла имеют приоритет над значениями, указанными в конфигурации.
Рекомендуется хранить чувствительные данные в файле .env.
Фреймворк поддерживает работу с re2. За счет использования данной библиотеки, можно добиться существенного ускорения
обработки регулярных выражений, а также добиться сокращения по потреблению памяти. По памяти потребление уменьшается
примерно в 3-7 раз, а время выполнения уменьшается в среднем в 2-15 раз.
Установка:
npm install --save re2@latest
Дальше фреймворк автоматически определит, установлен ли re2, и будет использовать его для обработки регулярных выражений.
Не рекомендуется использовать в релизной версии приложения файловую базу данных, так как данный подход может привести к падению приложения, при большом количестве записей. Связано это с тем, что в файловой базе, данные хранятся в оперативной памяти. Для корректного сохранения данных в БД укажите:
bot.use(new MyAdapter()))bot.setAppConfig({db:{...}}), либо в конструкторе при подключении
адаптера к приложению