Discord имеет ограничение скорости в каждом запросе .Попытка обойти это будет считаться злоупотреблением API (решение позже не является злоупотреблением API).
Превышение этого предела приведет к приостановке других запросов до истечения определенного количества секунд.Наряду с исследованиями я наткнулся на это простое объяснение : 5 anything per 5 seconds per server
(если вы не поняли, что я сказал выше).
Вкл. Руководство разработчика Discord по ограничениям скорости , он говорит вам следующее:
В настоящее время существует единственное исключение из вышеуказанного правила [ограничения скорости], касающееся различных методов HTTP, использующих одинаковое ограничение скорости, и это касается удаления сообщений.Удаление сообщений попадает под отдельный, более высокий предел скорости, так что боты могут быстрее удалять контент из каналов (что полезно для модераторов).
Один обходной путь, без злоупотребления API, заключается вотправляйте сообщения и удаляйте предыдущие сообщения, поскольку существует более высокий предел для удаления сообщений.
Другим обходным решением может быть добавление промежуточных таймаутов к вашей анимации.Простой метод, такой как:
function async wait = { require("util").promisify(setTimeout); };
//syntax: await wait(1000); to "pause" for 1 second
Вам нужно будет поэкспериментировать с таймингами, чтобы они соответствовали предполагаемой скорости анимации, без остановки из-за ограничения скорости.