Форум программистов, компьютерный форум, киберфорум
JavaScript: Node.js
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
1 / 1 / 0
Регистрация: 02.07.2019
Сообщений: 27
1

Изменение цвета ролям

30.07.2019, 10:31. Просмотров 2803. Ответов 7
Метки нет (Все метки)


Здравствуйте! Наперед скажу, кто не знает либ discord.js, попрошу не высказывать тут свое мнение, а просто выйти.

Вообщем, есть у меня код, который меняет цвет определенной роли с определенной задежкой. Но проблема в том, что discord API банит через какое-то кол-во времени. И я хочу вот спросить, можно ли как-то это обойти (бан (ранее код работал идеально, но как только внесли изменения разработчики discord, сразу начались траблы))? Ниже предоставлю код:

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
const Discord = require("discord.js");
const client = new Discord.Client();
var server;
var this_role;
var active = false;
 
const role_id = "593425956576821279";
const server_id = "546940290024603649";
const token = "";
const delay = 200;
const mode = 1; // 0 - Random, 1 - Gradient
 
var colors_array = ["#000000",  
"#0C090A",  
"#2C3539"];
 
client.on('ready', () => {
  console.log(`Logged in as ${client.user.tag}!`);
  server = client.guilds.get(server_id);
  setTimeout(function() {
    this_role = server.roles.get(role_id);
  }, 2000)
});
 
client.on('message', msg => {
  if (msg.author.id == '405438071174201346') {
    if (msg.content == 'e!start'){
      if (mode == 0){
        active = true
        RainRole();
      } else if (mode == 1){
        active = true
        GradientRole();
      }
    } else if(msg.content == "e!stop"){
      active = false;
    }
    }
});
 
var current_color = 0;
 
function GradientRole() {
  setTimeout(function() {
      this_role.setColor(colors_array[current_color])
      if (current_color == colors_array.length)
      current_color = 0;
      current_color++;
      if (active)
      GradientRole();
  }, delay);
}
 
function RainRole() {
  setTimeout(function() {
      this_role.setColor(getRandomColor())
      if (active)
      RainRole();
  }, delay);
}
 
function getRandomColor() {
  var letters = '0123456789ABCDEF';
  var color = '#';
  for (var i = 0; i < 6; i++) {
    color += letters[Math.floor(Math.random() * 16)];
  }
  return color;
}
 
client.login(token);
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.07.2019, 10:31
Ответы с готовыми решениями:

Изменение цвета текста, когда код цвета берется с сервера
Есть задание : Отправить на сервер название цвета, получить от сервера цвет в формате RGB и...

Изменение цвета названия файла/папки (либо цвета подсветки)
Привет супер уважаемые супер форумчане!) Очень интересно, есть ли какой-то способ изменить цвет...

Изменение цвета прямоугольника, увеличивая или уменьшая составляющие цвета (почему не работает программа?)
2.2 Работа с кнопками и цветом Приложение позволяет изменять цвет прямоугольника, увеличивая или...

Задайте изменение цвета кнопок и цвета шрифта на кнопках формы в ходе выполнения программы
1. Задайте изменение цвета кнопок и цвета шрифта на кнопках формы в ходе выполнения программы. 2....

7
andyj
30.07.2019, 13:06
  #2

Не по теме:

Поясните плиииз "в двух слова" для чего нужен этот discord?
Правильно понял, что это "игровой чат" для встраивания в игры? С поддержкой голоса (режим рации) и возможно видео?

0
MrOnlineCoder
30.07.2019, 16:14
  #3

Не по теме:

andyj, практически. Он в игры не встраивается, просто добавляет оверлей к ним. Это тот же скайп, только для геймеров, хотя я часто его использую и для обычной связи. Боты, которые пишут к нему, это боты к серверам (в дискорд вы можете общатся как лично, так и на сервере

0
1 / 1 / 0
Регистрация: 02.07.2019
Сообщений: 27
30.07.2019, 21:12  [ТС] 4
Так, вижу что никто не знает?
0
Всегда онлайн
1075 / 780 / 293
Регистрация: 07.04.2013
Сообщений: 2,686
30.07.2019, 21:23 5
Jexly, дискорд ставит лимиты на запросы: https://discordapp.com/develop... ate-limits

Используя заголовки ответа можете регулировать задержку между запросами.
0
1 / 1 / 0
Регистрация: 02.07.2019
Сообщений: 27
30.07.2019, 22:02  [ТС] 6
То есть? Можешь подробнее объяснить?
0
Всегда онлайн
1075 / 780 / 293
Регистрация: 07.04.2013
Сообщений: 2,686
30.07.2019, 23:41 7
Лучший ответ Сообщение было отмечено Jexly как решение

Решение

Jexly, каждый раз когда вы делаете запрос к API, Discord возвращает дополнительные данные в заголовках HTTP ответа, а именно:

Javascript
1
2
3
4
X-RateLimit-Limit: 5
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1470173023
X-RateLimit-Bucket: abcd1234
X-RateLimit-Limit - сколько всего запросов можно сделать.
X-RateLimit-Remaining - сколько запросов еще можно сделать
X-RateLimit-Reset - время (в формате Unix epoch), когда лимит сбросится (вам снова станет доступно (X-RateLimit-Limit) запросов)

Основываясь на этих данных, вы можете регулировать таймеры в своем коде чтобы никогда не получать ошибку.
0
1 / 1 / 0
Регистрация: 02.07.2019
Сообщений: 27
31.07.2019, 10:42  [ТС] 8
Попробовал, все равно ничего не работает так как нужно. Ладно, спасибо!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.07.2019, 10:42

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

ReactJs изменение цвета после ввода названия цвета
Здравствуйте, извиняюсь, что написал возможно, не самый понятный заголовок, но мне не пришло в...

Плавное изменение цвета фона по времени в рандомные цвета
В общем, есть изображение (фон), мне необходимо, чтобы оно плавно окрашивалось в различные цвета...

Оперативное изменение цвета фона и цвета символов строки.
я уже задала строку,вывела на экран в виде бесконечно бегущей строки. осталось сделать оперативное...

ContextMenu изменение цвета выбора и цвета текста
Добрый день подскажите как сделать так что бы после выбора пункта меню цвет текста менялся обратно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.