Запрос лучше-sqlite3 для записи данных - PullRequest
0 голосов
/ 14 января 2019

Итак, в моей базе данных есть таблица с именем logging со схемой guildid & channel

Мне нужно получить содержимое channel, если guildid совпадает, я набрал console.log(logs), чтобы посмотреть, что на самом деле происходит, и он сказал: { channel: '495602952778678274' }

Я решил оставить полный код, чтобы вы могли четко видеть, чего я пытаюсь достичь.

client.on('messageDelete', async (message) => {
  const logs = sql.prepare(`SELECT channel FROM logging WHERE guildid = ${message.guild.id};`).get();
  console.log(logs);
  if (!logs) return;
  const entry = await message.guild.fetchAuditLogs({
    type: 'MESSAGE_DELETE'
  }).then(audit => audit.entries.first());
  let user = "";
  if (entry.extra.channel.id === message.channel.id &&
    (entry.target.id === message.author.id) &&
    (entry.createdTimestamp > (Date.now() - 5000)) &&
    (entry.extra.count >= 1)) {
    user = entry.executor.username;
  } else {
    user = message.author.username;
  }
  client.channels.get(logs).send(`A message was deleted in ${message.channel.name} by ${user}`);
});

Я тоже попробовал просто logs.send... и наконец я попробовал

const id = sql.prepare(`SELECT channel FROM logging WHERE guildid = ${message.guild.id};`).get();
const logs = client.channels.get(id);
client.channels.get(logs).send('Send a message');

1 Ответ

0 голосов
/ 15 января 2019

Если вы сделали console.log(logs) и дали { channel: '495602952778678274' }, то вы должны сделать:

const result = sql.prepare(`SELECT channel FROM logging WHERE guildid = ${message.guild.id};`).get();
const logs = client.channels.get(result.channel);
logs.send('Send a message');
...