Plexcord LogoPlexcord
Getting Started

Next Steps

You've built your first plugin. Now explore Core Concepts, Advanced Features, and the Plexcord API to level up your skills.

Next Steps

You've built your first Plexcord plugin and learned the fundamentals. Here's where to go next depending on your goals.

Learning Path

Level Up Your Knowledge

If you want to understand how plugins work under the hood, continue with Core Concepts:

Build Powerful Features

Once you understand the basics, learn the powerful capabilities that make Plexcord plugins unique:

Reference & Examples

Need a quick answer or a full working example?

Quick Reference

Most Used Imports

// Core
import definePlugin, { OptionType } from "@utils/types";
import { definePluginSettings } from "@api/Settings";

// Logging
import { Logger } from "@utils/Logger";

// Notifications
import { showNotification } from "@api/Notifications";

// Discord modules (Webpack)
import { UserStore, ChannelStore } from "@webpack/common";

// React
import { React, useState, useEffect } from "@webpack/common";

Most Used Patterns

Reading user settings:

const userId = UserStore.getCurrentUser()?.id;

Getting current channel:

const channelId = SelectedChannelStore.getChannelId();

Conditionally running in start():

start() {
    if (!IS_DISCORD_DESKTOP) return;  // Desktop only
    // ... your code
},

Flux with multiple events:

flux: {
    MESSAGE_CREATE({ message }) { ... },
    MESSAGE_UPDATE({ message }) { ... },
    MESSAGE_DELETE({ id }) { ... },
},

Getting Help

  • Discord Server: Join the Plexcord Discord in the #plugin-development channel
  • Bug Reports: Open an issue on GitHub
  • Source Code: Browse existing plugins for real-world examples
  • Contributing: See CONTRIBUTING.md in the repository

You're Ready!

With the Getting Started knowledge you have now, you can build most plugins. Explore the rest of the docs whenever you need a specific capability.

Happy hacking!

On this page