В настоящее время я работаю над диссон-ботом, использующим дискорд. js. Я недавно начал учить себя SQLite пару дней go (так что, возможно, я просто идиот ... наверное). В любом случае, в приведенном ниже коде я пытаюсь выбрать значения из базы данных SQlite и поместить их в массив sh для отправки в виде сообщения. Проблема в том, что идентификаторы, кажется, округляются, я пытался преобразовать в строки (это было после того, как они уже были целочисленными значениями, я попытался повторно ввести значения, но это не сработало), однако это не помогло Помогите. В базе данных значения верны, но при возврате значений (в форме сообщения разногласия) значения неверны. Эта проблема, по-видимому, связана исключительно с запросом SQLite, поскольку возвращаемое значение не изменяется с помощью сценария и консоли, регистрирующих строки, возвращая значения, которые уже округлены. Также: Кодекс очень грязный, пожалуйста, покажи мне, где я ошибся. Значения округлены до: От -> до
- 231324359870906368 -> 231324359870906370
- 342592681790144513 -> 342592681790144500
- 3106829893801029001011010291011010291-1000000000000000000000000000000000000000000001902702700000002 -> 345801479329677300
- 549366490919469096 -> 549366490919469100
- 199416992615235600 -> 199416992615235586
- 158100000000000123 -> 1581000000 * 100 * 100 * 100 * 100 * 100 * 100000000000000 ) показал, что должна быть ошибка округления, так как значение было правильным до тех пор, пока оно не стало той же длины, что и другие значения. Я также попытался создать еще один столбец, который представлял собой строку, но округление все еще происходило, когда значение было той же длины. Любая помощь очень ценится!
var partners = [];
var price = [];
var partnerembed;
var i;
function getPartners(id){
var query = "SELECT * FROM partners WHERE userid = " + id;
db.all(query, function (err, rows) {
if(err){
console.log(err);
}
else
{
console.log(rows[0].partner)
for (i = 0; i <= rows.length-1; i++)
{
partners.push(rows[i].partner)
price.push(rows[i].price)
}
}
});
}
getPartners(message.author.id);
function partnerMessage()
{
var partnerembed = new RichEmbed()
.setTitle('You are married to:')
.setAuthor(message.author.username, id.displayAvatarURL)
.setColor(0x8AC784);
for (i=0; i<= partners.length-1; i++)
{
partnerembed.addField(partners[i], price[i])
}
message.channel.send(partnerembed)
}
setTimeout(partnerMessage, 1000)
Значения БД:
userid partnerid price
- 332734758515769354 231324359870906368 420000
- 332734758515769354 3425926817 10324545 *
- 332734758515769354 310682989380108290 4
Кроме того, не спрашивайте, почему мой бот считает брак по сути лишь рабством - он немного медленный ...