توجه داشته باشید که موضع Discord در مورد نصب افزونه‌ها و پلاگین‌های اضافی هنوز به طور کامل مشخص نیست. برخی از کاربران در صورت انتخاب تنظیمات نادرست افزونه‌ها که به عنوان تلاش برای مختل کردن عملکرد نرم‌افزار درک می‌شود، به طور خودکار توسط هوش مصنوعی مسدود می‌شوند، بنابراین از دستورالعمل زیر تنها به عهده خودتان استفاده کنید.

تمامی اقدامات بعدی شامل تعامل با برنامه کامپیوتری Discord است، زیرا نیاز به نصب پلاگین برای آن و انجام تنظیمات است که تنها بر روی کامپیوتر (نسخه مرورگر برای این کار مناسب نیست) قابل انجام است. در این صورت وضعیت متغیر در همه جا قابل مشاهده خواهد بود. اگر هنوز Discord را بر روی کامپیوتر خود نصب نکرده‌اید، این کار را با استفاده از دستورالعمل موجود در لینک زیر انجام دهید.

جزئیات بیشتر: چگونه Discord را نصب کنیم

مرحله 1: دانلود و نصب BetterDiscord

برنامه BetterDiscord مسئول امکان نصب وضعیت متغیر در Discord است.او قابلیت‌های کلی پیام‌رسان را گسترش می‌دهد و ویژگی‌های جدیدی اضافه می‌کند که بخشی از آن‌ها را در ادامه استفاده خواهیم کرد.

به دانلود BetterDiscord از وب‌سایت رسمی بروید

  1. از لینک بالا استفاده کنید تا به وب‌سایت رسمی بروید و دانلود برنامه را آغاز کنید.
  2. انتقال به بارگذاری برنامه BetterDiscord برای نصب وضعیت متغیر در دیسکورد
  3. صفحه‌ای در GitHub باز خواهد شد، که توصیه می‌کنیم بلافاصله فایل با فرمت EXE را برای دانلود نصب‌کننده انتخاب کنید.
  4. انتخاب نسخه برنامه BetterDiscord برای بارگذاری هنگام نصب وضعیت متغیر در دیسکورد
  5. پس از اتمام دانلود، آن را از پوشه دانلودها یا مستقیماً از طریق مرورگر باز کنید.
  6. بارگذاری موفقیت‌آمیز برنامه BetterDiscord برای نصب وضعیت متغیر در دیسکورد
  7. قوانین توافق‌نامه مجوز را برای ادامه نصب تأیید کنید.
  8. تأیید توافق‌نامه مجوز برای نصب BetterDiscord در هنگام تنظیم وضعیت متغیر در دیسکورد
  9. در پنجره بعدی گزینه اول را انتخاب کنید — «نصب BandagedBD».
  10. انتخاب دکمه برای نصب برنامه BetterDiscord هنگام تنظیم وضعیت متغیر در دیسکورد
  11. اگر نسخه عادی پایدار دیسکورد نصب شده است، گزینه «نصب به پایدار» را علامت‌گذاری کنید. مسیر فایل‌ها به‌طور خودکار تعیین می‌شود، اما اگر این اتفاق نیفتاد، باید به‌صورت دستی محل فایل اجرایی برای راه‌اندازی نرم‌افزار را مشخص کنید.
  12. انتخاب محل فایل برای نصب برنامه BetterDiscord هنگام تنظیم وضعیت متغیر در دیسکورد
  13. منتظر اتمام نصب باشید، سپس این پنجره را ببندید و دیسکورد را ریستارت کنید.
  14. نصب موفق برنامه BetterDiscord برای تنظیم وضعیت متغیر در دیسکورد

در اینجا افزودن قابلیت‌های پیشرفته به برنامه به پایان رسید. در این مقاله فقط درباره پلاگین‌های موجود صحبت خواهیم کرد، و اگر می‌خواهید بدانید که BetterDiscord چه چیزهای دیگری ارائه می‌دهد، با توضیحات در وب‌سایت رسمی آشنا شوید یا هر مورد را در خود دیسکورد بررسی کنید.

مرحله 2: ایجاد پلاگینی برای وضعیت متغیر

ما پلاگینی ایجاد خواهیم کرد که بعداً در BetterDiscord بارگذاری خواهد شد و به شما امکان می‌دهد وضعیت متغیر را تنظیم کنید. این پلاگین قبلاً با استفاده از زبان JavaScript نوشته شده است — کد آن در دسترس عموم قرار دارد.فقط کافی است که از آن یک فایل بسازید و برای استفاده در برنامه بارگذاری کنید.

  1. برای این کار، دیسکورد را باز کنید و بر روی آیکون چرخ دنده کلیک کنید تا به تنظیمات عمومی بروید.
  2. به تنظیمات دیسکورد بروید تا افزونه BetterDiscord نصب شده را بررسی کنید
  3. شما وجود یک بخش جدید به نام «Bandaged BD» را مشاهده خواهید کرد، جایی که بر روی خط «Plugins» کلیک کنید.
  4. باز کردن بخش پلاگین‌ها برای تنظیم وضعیت متغیر در دیسکورد
  5. بر روی دکمه «Open Plugin Folder» کلیک کنید تا به پوشه‌ای بروید که تمام پلاگین‌های مرتبط در آن ذخیره شده‌اند.
  6. انتقال به پوشه‌ای که پلاگین‌ها برای تنظیم نام تغییرپذیر در دیسکورد قرار دارند
  7. در حال حاضر این پوشه خالی است، زیرا هیچ افزونه‌ای هنوز نصب نشده است، که ما اکنون آن را اصلاح خواهیم کرد.
  8. پوشه خالی با پلاگین‌ها هنگام تنظیم نام تغییرپذیر در دیسکورد
  9. بر روی فضای خالی در دایرکتوری با کلیک راست کنید، نشانگر را بر روی «ایجاد» ببرید و گزینه «مدرک متنی» را انتخاب کنید.
  10. ایجاد یک سند متنی برای نام تغییر یافته در دیسکورد
  11. می‌توانید نام آن را تغییر ندهید و دو بار کلیک کنید تا از طریق «Notepad» ویرایش کنید.
  12. انتقال به ویرایش فایل متنی برای تنظیم نام کاربری متغیر در دیسکورد
  13. کد زیر را در آن وارد کنید: //META{"name":"AnimatedStatus"}*//

    class AnimatedStatus {
    /* توابع BD */
    getName () {
    return "AnimatedStatus";
    }

    getVersion () {
    return "0.8.4";
    }

    getAuthor () {
    return "toluschr";
    }

    getDescription () {
    return "وضعیت دیسکورد خود را متحرک کنید";
    }

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

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

    /* کد مربوط به انیمیشن‌ها */
    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);
    }

    /* توابع مربوط به تنظیمات */
    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";

    // توکن احراز هویت
    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());

    // زمان تأخیر
    settings.appendChild(GUI.newLabel("زمان برای هر فریم کلیدی"));
    let timeout = GUI.newInput();
    timeout.value = this.getData("timeout");
    settings.appendChild(timeout);

    settings.appendChild(GUI.newDivider());

    // انیمیشن
    settings.appendChild(GUI.newLabel('انیمیشن ("" برای بدون ایموجی)'));
    let animation = GUI.newTextarea();
    animation.style.fontFamily = "SourceCodePro,Consolas,Liberation Mono,Menlo,Courier,monospace";
    animation.placeholder = '"پیام 1"، "ایموجی 1"n"پیام 2"، ""n...';
    animation.value = this.animationToStr(this.getData("animation"));
    settings.appendChild(animation);

    // دکمه ذخیره
    settings.appendChild(GUI.newDivider());
    let save = GUI.newButton("ذخیره");
    save.onclick = () => {
    // تنظیم توکن احراز هویت
    this.setData("token", token.value);

    // تنظیم زمان تأخیر
    this.setData("timeout", timeout.value);

    // تنظیم انیمیشن
    this.setData("animation", this.strToAnimation(animation.value));

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

    // پایان
    return settings;
    }
    }

    /* 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}');
    }
    };

    /* Wrapper GUI */
    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. قرار دادن اسکریپت در فایل متنی برای تنظیم وضعیت متغیر در دیسکورد
  15. پس از این، بر روی منوی «فایل» کلیک کنید و از لیست ظاهر شده گزینه «ذخیره به عنوان» را انتخاب کنید.
  16. انتقال به ذخیره‌سازی اسکریپت برای تنظیم وضعیت متغیر در دیسکورد
  17. در پنجره «ذخیره‌سازی»، مکان صحیح باز خواهد شد، بنابراین نیازی به تغییر آن نیست.در فیلد «نوع فایل»، «همه فایل‌ها *.*» را مشخص کنید.
  18. انتخاب نوع فایل برای ذخیره پلاگین تغییر وضعیت در دیسکورد
  19. به عنوان نام فایل، «animated-status.plugin.js» را وارد کرده و ذخیره‌سازی را تأیید کنید.
  20. وارد کردن نام برای پلاگین هنگام ذخیره‌سازی برای وضعیت متغیر در دیسکورد
  21. به دایرکتوری قبلی برگردید، از وجود فایل JavaScript در آنجا اطمینان حاصل کنید و می‌توانید سند متنی را حذف کنید، زیرا همچنان خالی باقی مانده است.
  22. ذخیره‌سازی موفق پلاگین برای وضعیت متغیر در دیسکورد
  23. منوی «Plugins» را باز کنید و وجود پلاگین تازه ایجاد شده را بررسی کنید. نوار لغزنده را برای فعال‌سازی آن جابجا کنید.
  24. انتقال به پلاگین برای تغییر وضعیت در دیسکورد
  25. تمامی اقدامات دیگر از طریق «Settings» انجام می‌شود، که در مرحله بعدی به آن پرداخته خواهد شد.
  26. باز کردن تنظیمات برای وضعیت در حال تغییر در دیسکورد

مرحله 3: تنظیم وضعیت متغیر

آخرین مرحله — تنظیم وضعیت متغیر با استفاده از پلاگین اضافه شده. اکنون باید خود پلاگین را تنظیم کنید و تنها یک پارامتر را مشخص کنید. دریافت آن در چند مرحله انجام می‌شود، بنابراین آن را به طور جداگانه بررسی خواهیم کرد.

دریافت توکن مجوز

توکن مجوز برای پلاگین ضروری است تا بتواند اقدامات خودکار تغییر وضعیت را انجام دهد. برای دریافت آن به کنسول توسعه‌دهنده و وضعیت عادی از پیش تعیین شده نیاز دارید.

  1. بر روی آواتار خود کلیک کنید تا منوی اقدامات با وضعیت‌ها باز شود.
  2. باز کردن پروفایل برای تنظیم وضعیت استاندارد در دیسکورد قبل از تنظیم تغییرات
  3. آخرین گزینه — «تنظیم وضعیت کاربری» را انتخاب کنید.
  4. باز کردن منوی تنظیم وضعیت استاندارد در دیسکورد قبل از تنظیم وضعیت متغیر
  5. هر متنی را وارد کرده و تغییرات را ذخیره کنید.
  6. افزودن وضعیت استاندارد در دیسکورد قبل از تنظیم وضعیت متغیر
  7. دوباره منوی وضعیت‌ها را باز کنید و Ctrl + Shift + I را فشار دهید تا کنسول توسعه‌دهنده نمایش داده شود.
  8. کد عنصر برای تنظیم وضعیت متغیر Discord را باز کنید
  9. در آن به تب «Network» بروید.
  10. به تب کنسول توسعه‌دهنده بروید تا نام تغییرپذیر در دیسکورد را تنظیم کنید
  11. از لیست نام‌ها، «science» را انتخاب کرده و تب «Headers» را باز کنید.
  12. انتخاب بخش در کنسول توسعه‌دهنده برای تنظیم نام تغییرپذیر در دیسکورد
  13. به انتهای فهرست پارامترها بروید و خط «authorization» را پیدا کرده و مقدار آن را کپی کنید.
  14. کپی کردن توکن برای تنظیم نام تغییرپذیر در دیسکورد
  15. به «Plugins» بروید، تنظیمات پلاگین مورد نیاز را باز کرده و توکن را در فیلد مربوطه بچسبانید.
  16. وارد کردن توکن برای تنظیم نام تغییر پذیر در دیسکورد

اضافه کردن وضعیت‌ها برای تغییر

فقط کافی است زمان تغییر وضعیت‌ها را انتخاب کرده و تعداد مورد نیاز آن‌ها را وارد کنید، که به صورت زیر انجام می‌شود:

  1. در منوی تنظیمات پلاگین، تأخیر را به میلی‌ثانیه‌ها تنظیم کنید.لطفاً تأخیر را حداقل 3000 وارد کنید تا از احتمال مسدود شدن حساب کاربری جلوگیری شود.
  2. وارد کردن تأخیر برای نام تغییر یافته هنگام تنظیم آن در دیسکورد
  3. اگر می‌خواهید ایموجی‌ها را به وضعیت اضافه کنید، ابتدا هر سایتی را که تصاویر آن‌ها را نشان می‌دهد پیدا کنید و کپی کنید.
  4. کپی‌برداری از اموجی برای وضعیت متغیر در دیسکورد
  5. از علامت‌های نقل قول دوتایی — "" استفاده کنید و وضعیت‌ها را در خطوط جداگانه داخل آن‌ها قرار دهید. هم سیریلیک و هم لاتین پشتیبانی می‌شود و شما از ایموجی‌ها مطلع هستید. برای ذخیره وضعیت متغیر، روی «ذخیره» کلیک کنید.
  6. وارد کردن وضعیت‌های متغیر در تنظیمات پلاگین دیسکورد
  7. به صفحه خود برگردید و تغییرات را بررسی کنید.
  8. بررسی وضعیت اول تغییر یافته پس از تنظیم آن در دیسکورد
  9. باید به مدت مشخصی صبر کنید تا وضعیت به طور خودکار به وضعیت دیگری تغییر کند.
  10. بررسی وضعیت دوم که پس از تنظیم آن در دیسکورد تغییر می‌کند