Я создаю ботов для Discord при помощи модуля discord.js для Node.js. Использую базу MySQL для хранения пользователей. Так вот, в моём боте есть команда которая вносит информацию о пользователе в базу. Но возникла проблема что бот отправляет два сообщения, и в базу вносит 2 строки с одним и тем же пользователем. Как это исправить? Вот код:
const Discord = require('discord.js') //Это модуль для создания Дискорд ботов(это не важно)
const db = require('quick.db')
const mysql = require('mysql')
exports.run = (client, message, args) => {
const con = mysql.createConnection({ //Авторизация
host: "Тут сайт.",
user: "Юзер",
password: "Пароль",
database: "База"
});
var prefix = db.fetch(`guild_${message.guild.id}.prefix`) //Префикс сервера(тоже не важно)
var info = args.join(' ') //Информация пользователя которую он указал(тоже не особо важно.)
con.query(`SELECT * FROM Info WHERE ID = ${message.author.id}`, function (err, result) { //Обращаюсь к столбцу с таким ID
if(result.length) return //Если юзер уже есть в таблице он должен остановить работу по идеи.
if (err) return console.log(err); //Если ошибка остановит работу и выведет к консоль.
con.query("INSERT INTO Info (User, ID, Info) VALUES (?,?,?)", [message.author.username, message.author.id, info], function (err, result) {
if(result.length) return
if (err) return console.log(err);
message.channel.send('Вы успешно внесли о себе информацию!')
return
})
con.query(`UPDATE Info SET Info = "${info}" WHERE ID = ${message.author.id}`, function (err) { //Если юзер есть в таблице он изменяет его.
if (err) return console.log(err);
message.channel.send('Вы успешно внесли о себе информацию!')
})
})
}
module.exports.help = {
name: 'personal'
};
Прошу помогите, я уже 4 день не могу понять что я делаю не так!
Я решил проблему! Вот каким образом:
con.query(`SELECT * FROM Info WHERE ID = ${message.author.id}`, function (err, result) {
if (result.length) {
con.query(`UPDATE Info SET Info = "${info}" WHERE ID = ${message.author.id}`, function (err) {
if (err) return console.log(err);
message.channel.send('Вы успешно внесли о себе информацию!')
})
return
}
if (err) return console.log(err);
con.query("INSERT INTO Info (User, ID, Info) VALUES (?,?,?)", [message.author.username, message.author.id, info], function (err, result) {
if (result.length) {
con.query(`UPDATE Info SET Info = "${info}" WHERE ID = ${message.author.id}`, function (err) {
if (err) return console.log(err);
message.channel.send('Вы успешно внесли о себе информацию!')
})
return
}
if (err) return console.log(err);
message.channel.send('Вы успешно внесли о себе информацию!')
return
})
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Имеется массив с timestamp-ми примерно с прошлого года (когда добавлялись пользователи)Надумала сделать статистику, но не пойму как можно день...
Есть база данных где есть 5 строк, каждая запись из бд идет на сайт в каждый фиелдсет, но когда нажимаю
проблема такова есть сайт , в нем категории , ссылка выглядит таким siteru/category-/category-b/category-c/postname, нужно чтобы она была вида site
Почему этот код работает $dest_url = get_home_path()"imagebase/1/"