module.exports = (message) => {
// Код для музыкального файла
}
module.exports = (message) => {
// Код другой команды
}
const musicCommand = require('./commands/music.js');
const otherCommand = require('./commands/otherCommand.js');
client.on('message', msg => {
if (msg.content === 'music') {
musicCommand(msg);
}
if (msg.content === 'other') {
otherCommand(msg);
}
});
const randomWords = [
"Apples",
"Bananas",
"Pears"
];
const randomIndex = Math.floor(Math.random() * randomWords.length);
const word = randomWords[randomIndex];
channel.send(word)
, вы можете отправить это рандомное слово в чат;Регистрация:
1) Фронт отправляет на бэк POST запрос с данными, которые ввел юзер.
2) Бык выносит данные пользователя в отдельную переменную(к примеру user), т.к. нужно будет с этими данными в будущем работать и желательно это делать в отдельной переменной.
3) Бэк проверяет данные на валидность, например, что нет не нужных символов в пароле, или что почта валидная
4) Бэк с помощью bcryptjs шифрует пароль юзера и заменяет то, что ввёл юзер, на то, что выдаёт модуль bcryptjs (помните, что меняем только данные в созданной переменной (к примеру user), а не данные, которые которые прилетели POST запросом)
5) Бэк генерирует accessToken и сохраняет в нашу переменную с данными юзера (к примеру user) (можно тот-же bcryptjs для этого конечно юзать, но в будущем советую поискать что-то ещё)
6) Бэк отправляет запрос на монго, чтобы сохранить юзера в базе данных
7) Бэк отправляет на фронт accessToken юзера, который нужно сохранить в куки
Теперь, что касается получения данных:
1) Фронт отправляет на бэк GET запрос получения данных юзера. При этом отправляя куки, которые мы сохранили ранее
2) Бэк отправляет запрос в монгу, на поиск юзера по accessToken в базе данных
3) Бэк возвращает на фронт данные юзера полученные из монги
4) Фронт эти данные показывает юзеру
Что касается авторизации:
1) Фронт отправляет POST запрос на бэк с введёнными юзером email и паролем.
2) Бэк отправляет запрос в монгу, на поиск юзера по email
3) Бэк с помощьюbcryptjs.compareSync()
проверяет совпадают ли пароль полученные из базы данных с тем, что ввёл юзер
4) Бэк возвращает на фронт accessToken юзера, который нужно сохранить в куки
const userSchema = new Schema({
email: {
type: String,
unique: true,
}
});