Чтение содержимого БД для channel.id

Моей команде регистрации нужен канал для отправки сообщений, я делаю это с >logging #channel-here Команда, он хранится на лучше-sqlite3, моя проблема в том, что я не уверен, как прочитать содержимое и преобразовать его в канал.протоколирование

Я работал над этим в течение нескольких дней, и я пробовал несколько разных вещей, это была моя последняя попытка

  const id = sql.prepare(`SELECT channel FROM logging WHERE guildid = ${message.guild.id};`).get();
  const logs = client.channels.get(id);
  if (!logs) return;
  logs.send(`A message was deleted`);

const logs = нуждается в = идентификатор канала, который вы видите в записи канала, если запись guildid совпадает с той, в которой сообщение было удалено.

1 ответ

Вместо сохранения упоминания каналов, вы должны сохранить идентификатор канала.<#channel-id> используется для упоминания канала, но discord.js<guild>.channels.get(), берет только удостоверение личности. Таким образом, вы должны хранить только идентификатор канала в базе данных, в вашем коде для >logging #channel-here просто используйте const mentionedchannel = message.mentions.channels.first();а затем в вашу БД просто напишите mentionedchannel.idтогда ваш .get() должно сработать!

Другие вопросы по тегам