Кастомный статус с кнопками в Discord. (Python)

Статус
В этой теме нельзя размещать новые ответы.

Node

HTM.
Друг HARD-TM
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
77
Лайки
377
Здравствуйте, народ, в этой теме разъясню и разложу по полочкам как сделать такой вот кастомный статус с кликабельными кнопками:
MFwCB8x.png

Что требуется для создания такого кастомного статуса:

- Для просмотра ссылки Войди или Зарегистрируйся
- Для просмотра ссылки Войди или Зарегистрируйся
- Для просмотра ссылки Войди или Зарегистрируйся

1. Установить Для просмотра ссылки Войди или Зарегистрируйся на свой компьютер.
2. Скачать и распаковать Для просмотра ссылки Войди или Зарегистрируйся с гитхаба.
3. Открыть заранее сайт Для просмотра ссылки Войди или Зарегистрируйся.


Если все выше сказанные пункты выполнены перейдем к реализации кастомного статуса.

1. Что нужно сделать - это зайти на Discord Developers и создать новое приложение:

hCiZvCn.png

Здесь пишите название приложения, оно будет отображаться первым в нашем будущем статусе. (В примере выше - Ghoul)
szuFBTp.png

2. Установка библиотеки pypresence.

Открываем командую строку или powershell или любую другую консоль. (Я буду использовать Для просмотра ссылки Войди или Зарегистрируйся)
Устанавливаем pypresence
Код:
pip install pypresence
После установки pypresence, переходим в корневую папку python - libs - site-packages - pypresence
И перекидываем последнюю версию с гитхаба в папку pypresence с заменой. (Т.к. с pypi не всегда скачивается стабильная версия и может что-то не работать)
Мой путь к папке pypresence:
C:\Users\mlwrx\AppData\Local\Programs\Python\Python39\Lib\site-packages\pypresence
И обязательно удаляем папку __pycache__ в избежание ошибок.

3. Реализация кастомного статуса.


Создаем файл с разрешением .py в моем случае это - script.py.
Переходим к написанию кода.
Код:
from pypresence import Presence
from time import time
RPC = Presence("client  id")
btns = [
    {
        "label": "VK",
        "url": "link"
    },
    {
        "label": "TG",
        "url": "link"
    }
]
RPC.connect()
RPC.update(
    state="zxc?",
    details="SSS Rank",
    start=time(),
    buttons=btns,
    large_image="kanekicheln",
    small_image="kaneki",
    large_text="Я гуль."
)
input()

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

Подключение библиотек.
Код:
from pypresence import Presence
from time import time

Подключение нашего приложения к скрипту.
Код:
RPC = Presence("client  id")

Чтобы получить client id :
- Нужно зайти на сайт Для просмотра ссылки Войди или Зарегистрируйся
- Выбрать наше созданное приложение.
- И найти строку Client ID.
tC3WXB8.png

Берем CLIENT ID и вставляем в код.

Наши кнопки: (В моем случае ссылка на VK и TG)
Код:
[
btns = [
    {
        "label": "VK", // Название кнопки 
        "url": "link" // Ссылка
    },
    {
        "label": "TG", // Название кнопки
        "url": "link" // Ссылка
    }
]

"Сердце" кастомного статуса:
Код:
RPC.connect() // Подключение
RPC.update(
    state="zxc?", // 3 строка в статусе
    details="SSS Rank",  // 2 Строка в статусе
    start=time(), // Таймер запуска приложений
    buttons=btns, // Подключение  кнопок
    large_image="kanekicheln", // Название большой картинки(Ниже объясню куда загружать их)
    small_image="kaneki", // Название маленькой картинки (Ниже объясню куда загружать их)
    large_text="Я гуль." // Надпись на большой картинке при наведении. (Так же можно сделать и надпись на маленькой картинки, добавив переменную small_text)
)
input() // Чтобы не закрывалась консоль (Не трогаем)

4. Итак нам осталось загрузить картинки для статуса и поставить аватарку боту.
- Переходим все на тот же Для просмотра ссылки Войди или Зарегистрируйся
- Выбираем наше приложение
- Ставим аватарку нашему приложению
tWZUc3s.png
- Переходим в Rich Presence.
miEgEAT.png

- Нажимаем Add Images и заливаем картинки. (P.S. заливаются не сразу. Нужно подождать 5-10 минут.)

OiMqIDI.png

5. Если все правильно сделали и настроили скрипт, то сохраняем его и запускаем. Если не выдало ошибок, то сделали все правильно. (Большинство ошибок фиксится удалением __pycache__. Выше показывал где удалять.)
Что получилось у меня:
pXdS3HF.png

Сами вы кнопки нажать не можете, только другие пользователи дс.

На этом тема подходит к концу, буду рад, если помог и тема была интересна.
Контакты для связи:

Telegram.
Если что-то не получается - пишите, помогу.
 
Последнее редактирование:
Воу. Хорошая тема и прекрасно оформлена. Спасибо)
 
Очень полезная информация и понятное объяснение, спасибо большое.
 
Написано очень понятно, надо сделать себе)
 
Спасибо, буду пробовать:)
 
Сколько времени пользуюсь дискордом вижу такое первый раз, очень круто, обязательно попробую
 
Господи чел, храни тебя бог, искал подобный туториал целый месяц, в итоге забил. Щас чекнем!)
 
Господи чел, храни тебя бог, искал подобный туториал целый месяц, в итоге забил. Щас чекнем!)
Он не особо подробный, но чтобы сделать кастомный статус хватит материала :)
 
Качественно, огромное спасибо.
 
Ого, впервые такое увидел, выглядит сносно. Надо попробовать у себя, автору спасибо за старания!
 
Все по полкам раскидал
 
Теперь можно смело говорить друзьям что у тебя в дискорде админка
Ведь у тебя дискорд совершенно по другому выглядит)
 
Если не ошибаюсь, то есть такой плагин в BetterDiscord.
 
Извиняюсь за оффтоп, но ОЩИХЕТЕО ЩИХЕТЕО

(анимедибила порвало)
 
ДС вылетает постоянно, как лечить?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху