JavaScript Название канала обновления бота Discord - PullRequest
1 голос
/ 18 июня 2020

У меня возникают неожиданные результаты при попытке установить имя канала на текущее UT C время.

Приведенный ниже код работает, но обновляет имя канала только каждые десять минут (он пытается каждые 30 секунд без ошибок). Когда он обновляет имя канала, он фактически обновляет его 4 раза подряд и в итоге отстает на 1 минуту.

Код:

var job = Cron.schedule("*/30 * * * * *", function () {
  let newName = date.format(new Date(), 'HH:mm UTC', true);
  let UTCChan = client.channels.cache.get('<Chan ID>');

  console.log(`${date.format(new Date(), 'HH:mm:ss', true)} - Channel's current name is ${UTCChan.name} - New name should be ${newName}`);

  UTCChan.edit({ name: newName })
    .then(newChannel => console.log(`Channel's new name is ${newChannel.name}`))
    .catch(console.error);
}, {
  scheduled: true
});
job.start();

Вот результат окно консоли:

14:41:30 - Channel's current name is 14:30 UTC - New name should be 14:41 UTC
Channel's new name is 14:41 UTC
Channel's new name is 14:41 UTC
Channel's new name is 14:40 UTC
Channel's new name is 14:40 UTC
14:42:00 - Channel's current name is 14:40 UTC - New name should be 14:42 UTC
14:42:30 - Channel's current name is 14:40 UTC - New name should be 14:42 UTC
14:43:00 - Channel's current name is 14:40 UTC - New name should be 14:43 UTC
14:43:30 - Channel's current name is 14:40 UTC - New name should be 14:43 UTC
14:44:00 - Channel's current name is 14:40 UTC - New name should be 14:44 UTC
14:44:30 - Channel's current name is 14:40 UTC - New name should be 14:44 UTC
14:45:00 - Channel's current name is 14:40 UTC - New name should be 14:45 UTC
14:45:30 - Channel's current name is 14:40 UTC - New name should be 14:45 UTC
14:46:00 - Channel's current name is 14:40 UTC - New name should be 14:46 UTC
...