Создание меняющегося статуса в Discord

Отметим, что позиция Discord по поводу установки расширений и дополнительных плагинов пока до конца не ясна. Некоторые юзеры попадают под автоматический бан со стороны ИИ, если выбирают неправильные настройки расширений, которые воспринимаются как попытка нарушить работоспособность софта, поэтому используйте приведенную далее инструкцию только на свой страх и риск.

Все дальнейшие действия подразумевают взаимодействие с компьютерной программой Discord, поскольку понадобится установить для нее плагин и выполнить настройку, что возможно реализовать только на ПК (браузерная версия для этого не подойдет). При этом уже меняющийся статус будет виден везде. Если вы еще не инсталлировали Дискорд на свой компьютер, сделайте это, воспользовавшись инструкцией по ссылке ниже.

Подробнее: Как установить Discord

Шаг 1: Скачивание и установка BetterDiscord

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

Перейти к скачиванию BetterDiscord с официального сайта

  1. Воспользуйтесь ссылкой выше, чтобы перейти на официальный сайт и начать скачивание программы.
  2. Переход к загрузке программы BetterDiscord для установки меняющегося статуса в Дискорде

  3. Произойдет открытие страницы на GitHub, где рекомендуем сразу выбрать файл формата EXE для загрузки установщика.
  4. Выбор версии программы BetterDiscord для ее загрузки при установке меняющегося статуса в Дискорде

  5. По завершении скачивания откройте его из папки с загрузками или прямо через браузер.
  6. Успешная загрузка программы BetterDiscord для установки меняющегося статуса в Дискорде

  7. Подтвердите правила лицензионного соглашения для продолжения установки.
  8. Подтверждение лицензионного соглашения для установки BetterDiscord при настройке меняющегося статуса в Дискорде

  9. В следующем окне выберите первый вариант — «Install BandagedBD».
  10. Выбор кнопки для установки программы BetterDiscord при настройке меняющегося статуса в Дискорде

  11. Отметьте галочкой «Install To Stable», если установлена обычная стабильная версия Дискорда. Путь к файлам определяется автоматически, но если этого не произошло, придется вручную указать расположение, где находится исполняемый файл для запуска софта.
  12. Выбор расположения файла для установки программы BetterDiscord при настройке меняющегося статуса в Дискорде

  13. Ожидайте окончания инсталляции, после чего закройте данное окно и перезагрузите Дискорд.
  14. Успешная установка программы BetterDiscord для настройки меняющегося статуса в Дискорде

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

Шаг 2: Создание плагина для меняющегося статуса

Создадим плагин, который далее будет загружен в BetterDiscord и позволит настроить меняющийся статус. Он уже написан при помощи языка JavaScript — код находится в открытом доступе. Останется только сформировать из него файл и загрузить для использования в программе.

  1. Для этого откройте Discord и нажмите по значку с шестеренкой, перейдя тем самым в общие настройки.
  2. Переход в Настройки Дискорда для проверки установленного расширения BetterDiscord

  3. Вы увидите наличие нового раздела — «Bandaged BD», где щелкните по строке «Plugins».
  4. Открытие раздела с плагинами для настройки меняющегося статуса в Discord

  5. Нажмите кнопку «Open Plugin Folder», чтобы перейти в ту папку, где хранятся все связанные плагины.
  6. Переход к папке с расположением плагинов для настройки меняющегося ника в Discord

  7. Пока что она пустая, поскольку ни одно расширение еще не установлено, что мы сейчас и исправим.
  8. Пустая папка с плагинами при настройке меняющегося ника в Discord

  9. Нажмите по пустому месту в директории правой кнопкой мыши, наведите курсор на «Создать» и выберите вариант «Текстовый документ».
  10. Создание текстового документа для меняющегося ника в Discord

  11. Можно не менять ему название и дважды кликнуть для редактирования через «Блокнот».
  12. Переход к редактированию текстового файла для настройки меняющегося ника в Discord

  13. Вставьте туда следующий код:

    //META{"name":"AnimatedStatus"}*//

    class AnimatedStatus {
    /* BD functions */
    getName () {
    return "AnimatedStatus";
    }

    getVersion () {
    return "0.8.4";
    }

    getAuthor () {
    return "toluschr";
    }

    getDescription () {
    return "Animate your Discord status";
    }

    setData (key, value) {
    BdApi.setData(this.getName(), key, value);
    }

    getData (key) {
    return BdApi.getData(this.getName(), key);
    }

    /* Code related to Animations */
    load () {
    this.animation = this.getData("animation");
    this.timeout = this.getData("timeout");
    Status.authToken = this.getData("token");
    }

    start () {
    if (this.animation == undefined || this.timeout == undefined || Status.authToken == undefined) return;
    this.Status_Animate();
    }

    stop () {
    clearTimeout(this.loop);
    Status.unset();
    }

    Status_Animate (index = 0) {
    if (index >= this.animation.length) index = 0;

    Status.set(this.animation[index]);
    this.loop = setTimeout(() => { this.Status_Animate(index + 1); }, this.timeout);
    }

    /* Settings related functions */
    strToAnimation (str) {
    let lines = str.split("\n");
    let out = [];
    for (let i = 0; i < lines.length; i++) {
    if (lines[i].length == 0) continue;

    out.push(JSON.parse("[" + lines[i] + "]"));
    }
    return out;
    }

    animationToStr (animation) {
    if (animation == undefined) return ""

    let out = "";
    for (let i = 0; i < animation.length; i++) {
    out += JSON.stringify(animation[i]).substr(1).slice(0, -1) + "\n";
    }
    return out;
    }

    getSettingsPanel () {
    let settings = document.createElement("div");
    settings.style.padding = "10px";

    // Auth token
    settings.appendChild(GUI.newLabel("AuthToken (https://discordhelp.net/discord-token)"));
    let token = GUI.newInput();
    token.value = this.getData("token");
    settings.appendChild(token);

    settings.appendChild(GUI.newDivider());

    // timeout
    settings.appendChild(GUI.newLabel("Time per Keyframe"));
    let timeout = GUI.newInput();
    timeout.value = this.getData("timeout");
    settings.appendChild(timeout);

    settings.appendChild(GUI.newDivider());

    // Animation
    settings.appendChild(GUI.newLabel('Animation ("" for no Emoji)'));
    let animation = GUI.newTextarea();
    animation.style.fontFamily = "SourceCodePro,Consolas,Liberation Mono,Menlo,Courier,monospace";
    animation.placeholder = '"Message 1", "Emoji 1"\n"Message 2", ""\n...';
    animation.value = this.animationToStr(this.getData("animation"));
    settings.appendChild(animation);

    // Save Button
    settings.appendChild(GUI.newDivider());
    let save = GUI.newButton("Save");
    save.onclick = () => {
    // Set Auth token
    this.setData("token", token.value);

    // Set timeout
    this.setData("timeout", timeout.value);

    // Set Animation
    this.setData("animation", this.strToAnimation(animation.value));

    this.stop();
    this.load();
    this.start();
    };
    settings.appendChild(save);

    // End
    return settings;
    }
    }

    /* Status API */
    const Status = {
    authToken: "",

    request: () => {
    let req = new XMLHttpRequest();
    req.open("PATCH", "/api/v6/users/@me/settings", true);
    req.setRequestHeader("authorization", Status.authToken);
    req.setRequestHeader("content-type", "application/json");
    return req;
    },

    set: (status) => {
    Status.request().send('{"custom_status":{"text":"' + status[0] + '", "emoji_name": "' + status[1] + '"}}');
    },

    unset: () => {
    Status.request().send('{"custom_status":null}');
    }
    };

    /* GUI Wrapper */
    const GUI = {
    newInput: () => {
    let input = document.createElement("input");
    input.className = "inputDefault-_djjkz input-cIJ7To";
    return input;
    },

    newLabel: (text) => {
    let label = document.createElement("h5");
    label.className = "h5-18_1nd";
    label.innerText = text;
    return label;
    },

    newDivider: () => {
    let divider = document.createElement("div");
    divider.style.paddingTop = "15px";
    return divider;
    },

    newTextarea: () => {
    let textarea = document.createElement("textarea");
    textarea.className = "input-cIJ7To scrollbarGhostHairline-1mSOM1";
    textarea.style.resize = "vertical";
    textarea.rows = 4;
    return textarea;
    },

    newButton: (text) => {
    let button = document.createElement("button");
    button.className = "button-38aScr lookFilled-1Gx00P colorBrand-3pXr91 sizeSmall-2cSMqn";
    button.innerText = text;
    return button;
    }
    };

  14. Вставка скрипта в текстовый файл для настройки меняющегося статуса в Discord

  15. После этого нажмите по меню «Файл» и из появившегося списка выберите «Сохранить как».
  16. Переход к сохранению скрипта для настройки меняющегося статуса в Discord

  17. В окне «Сохранение» откроется правильное расположение, поэтому менять его не нужно. В поле «Тип файла» укажите «Все файлы *.*».
  18. Выбор типа файла для сохранения плагина меняющегося статуса в Discord

  19. В качестве названия файла впишите «animated-status.plugin.js» и подтвердите сохранение.
  20. Ввод названия для плагина при его сохранении для меняющегося статуса в Discord

  21. Вернитесь к прошлой директории, убедитесь в наличии там файла JavaScript, а текстовый документ можно удалить, поскольку он так и остался пустым.
  22. Успешное сохранение плагина для меняющегося статуса в Discord

  23. Откройте меню «Plugins» и проверьте наличие созданного только что плагина. Передвиньте ползунок для его активации.
  24. Переход к плагину для меняющегося статуса в Discord

  25. Все остальные действия выполняются через «Settings», о чем речь пойдет в следующем шаге.
  26. Открытие настроек для меняющегося статуса в Discord

Шаг 3: Настройка меняющегося статуса

Последний этап — настройка меняющегося статуса при помощи добавленного плагина. Сейчас нужно настроить сам плагин, указав всего один параметр. Его получение производится в несколько действий, поэтому разберем его отдельно.

Получение авторизационного токена

Авторизационный токен необходим плагину, чтобы совершать автоматические действия смены статуса. Для его получения понадобится консоль разработчика и уже заданный обычный статус.

  1. Нажмите по своей аватарке для открытия меню действий со статусами.
  2. Открытие профиля для установки стандартного статуса в Discord перед настройкой меняющегося

  3. Выберите последний вариант — «Задать пользовательский статус».
  4. Открытие меню для установки стандартного статуса в Discord перед настройкой меняющегося

  5. Впишите любую надпись и сохраните изменения.
  6. Добавление стандартного статуса в Discord перед настройкой меняющегося

  7. Снова вызовите меню со статусами и нажмите Ctrl + Shift + I для отображения консоли разработчика.
  8. Открытие кода элемента для настройки меняющегося статуса Discord

  9. В ней перейдите на вкладку «Network».
  10. Переход на вкладку в консоли разработчика для настройки меняющегося ника в Discord

  11. Из списка имен выделите «science» и откройте вкладку «Headers».
  12. Выбор раздела в консоли разработчика для настройки меняющегося ника в Discord

  13. Опуститесь почти к концу перечня параметров, где найдите строку «authorization» и скопируйте его значение.
  14. Копирование токена для настройки меняющегося ника в Discord

  15. Перейдите в «Plugins», откройте настройки необходимого плагина и вставьте токен в отведенное для этого поле.
  16. Ввод токена для настройки меняющегося ника в Discord

Добавление статусов для изменения

Остается только выбрать время, через которое будут меняться статусы, и вписать их необходимое количество, что происходит следующим образом:

  1. В меню настройки плагина установите задержку в миллисекундах. Впишите задержку не менее 3000, чтобы избежать возможного получения блокировки аккаунта.
  2. Ввод задержки для меняющегося ника при его настройке в Discord

  3. Если хотите добавить в статус смайлики, предварительно найдите любой сайт, где показаны их изображения, и скопируйте.
  4. Копирование эмодзи для меняющегося статуса в Discord

  5. Используйте двойные кавычки — "", внутри которых и вставьте статусы в отдельных строках. Поддерживается как кириллица, так и латиница, о эмодзи вы уже знаете. Нажмите на «Save» для сохранения меняющегося статуса.
  6. Ввод меняющихся статусов в настройках плагина Discord

  7. Вернитесь к своей странице и проверьте изменения.
  8. Проверка первого меняющегося статуса после его настройки в Discord

  9. Необходимо подождать указанное количество секунд, чтобы статус автоматически поменялся на другой.
  10. Проверка второго меняющегося статуса после его настройки в Discord

Закрыть Мы рады, что смогли помочь Вам в решении проблемы.
Закрыть Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Помогла ли вам эта статья?

ДА НЕТ

Поделиться статьей в социальных сетях:



Еще статьи по данной теме:


9 комментария

Здравствуйте, Тема. Опишите, пожалуйста, проблему более детально. На каком именно этапе возникает подобная проблема? Проверьте правильность выполняемых действий и убедитесь в том, что не вносите никаких изменений в код, который вставляется при установке плагина. Статья была написана недавно и все действия описываются последовательно, я их выполнял самостоятельно, поэтому само дополнение точно рабочее и код плагина актуальный. Скорее всего, во время выполнения инструкций вами были допущены ошибки.

Здравствуйте, Анастасия, в самом плагине отсутствует или добавлена лишняя кавычка. Удалите его файл и создайте заново, скопируйте код из этой статьи, только на этот раз убедитесь в том, что абсолютно все знаки были скопированы. Соответственно, перед созданием нового плагина нужно удалить старый и проверить, чтобы он не отображался в программе.

Сделала все, как сказали, и все равно пишет про лишнюю кавычку. Код скопировала строго на странице, не копируя другие символы

Здравствуйте еще раз. Только что все перепроверили и поменяли. Оказалось, что сам сайт не отображает некоторые символы по причине их кодировки. Сейчас все настроили и вы можете скопировать текст заново и создать новый плагин. Не забудьте указать для него соответствующее название.

Первый день статус работал, на следующий день перестал меняться. Настройки не сброшены. Надо обновлять какие-то параметры каждый день?

Вот такая ошибка вылезает в консоли каждый раз, когда статус пытается обновиться

Задайте вопрос или оставьте свое мнение

Примечание: если отправленный комментарий не появился на странице, значит он ушел на проверку и скоро будет опубликован. Пожалуйста, не дублируйте вопрос. Мы ответим Вам в ближайшее время.