Top.Mail.Ru
Ответы

Как сделать шаблоны

Здраствуйте я пользователь Discord ну и по совместительству вайб-кодер и хотел написать плагин для vencord на шаблоны для ролей как на телефоне но у меня возник вопрос КАК? на каком это языке программирование и какая структура в плагинах так как я новичёк в этом деле

По дате
По рейтингу
Аватар пользователя
Ученик
3нед
Изменено

Язык программирования и стек

Плагины для Vencord пишутся на TypeScript (или обычном JavaScript с поддержкой типов) с использованием React и JSX для отрисовки пользовательского интерфейса. Поскольку Vencord модифицирует клиент Discord (который по сути является приложением на Electron/браузере), весь код плагинов выполняется в среде браузера/Node.js.

Структура плагина в Vencord

Для создания кастомного плагина используется папка src/userplugins внутри исходного кода Vencord.

1. Базовая структура файлов

Плагин можно оформить либо в виде одного файла, либо в виде папки:

  • src/userplugins/roleTemplates.ts (если код компактный)

  • Или папка: src/userplugins/roleTemplates/index.tsx (если планируется использовать компоненты интерфейса, стили или разбить код на модули).

2. Шаблон кода (Boilerplate)

Каждый плагин начинается с функции definePlugin, которая задает метаданные (название, описание, автора) и жизненный цикл плагина:

TypeScript

12345678910111213141516171819
import { Devs } from "@utils/constants";
import definePlugin from "@utils/types";

export default definePlugin({
    name: "RoleTemplates",
    description: "Добавляет шаблоны для быстрого создания ролей в стиле мобильного Discord",
    authors: [Devs.YourName], // Или объект с вашим именем и ID
    
    // Метод, который выполняется при запуске/включении плагина
    start() {
        console.log("Плагин RoleTemplates запущен!");
    },
    
    // Метод при выключении
    stop() {
        console.log("Плагин выключен.");
    }
});

Как реализовать функционал шаблонов ролей

Поскольку мобильная версия Discord позволяет применять готовые пресеты (наборы прав, цвета и иконки для ролей), в десктопной версии через плагин Vencord это реализуется следующим образом:

  1. Патчинг интерфейса (UI Patches): В Vencord есть мощная система патчей (через Webpack-модули Discord или JSX-модификации), позволяющая встраивать собственные кнопки (например, кнопку «Шаблоны ролей») в модальное окно создания или редактирования ролей в настройках сервера.

  2. Логика шаблонов: При нажатии на кнопку шаблона (например, «Модератор», «Медиа», «Игрок») плагин программно заполняет поля формы создания роли (название, цвет, определенный набор разрешений через Discord API/Flux-диспетчер).

Как протестировать плагин локально

  1. Клонируйте репозиторий Vencord и настройте окружение для сборки из исходников (pnpm install).

  2. Создайте файл или папку вашего плагина в src/userplugins/.

  3. Соберите и инжектируйте Vencord заново с помощью команды сборки (например, pnpm build / pnpm inject), после чего перезапустите Discord.

Аватар пользователя
Ученик
3нед

Огромное спасибо за такой большой поток информации мне теперь в разы легче начать писать плагин

Аватар пользователя
Профи
3нед

Плагины для Vencord пишутся на TypeScript. Тебе нужно изучить структуру репозитория Vencord на GitHub и посмотреть исходники уже существующих плагинов для ролей, чтобы понять логику взаимодействия с API Discord. Вся разработка идет через их систему сборки, так что просто клонируй репо и пробуй менять код под себя.

Аватар пользователя
Ученик
3нед

Спасибки помог так и сделаю

Аватар пользователя
Тролль
3нед

Как все, нелегкие нынче времена но вы держитесь



Видео по теме