Commands

Every Relay command is a native slash command. Permissions follow Discord roles โ€” moderation commands require the Manage Messages permission unless overridden.

Moderation

CommandDescriptionRequires
/ban <user>Ban a member, optionally with reasonBan Members
/kick <user>Remove a member from the serverKick Members
/timeout <user>Temporarily mute a memberModerate Members
/purge <count>Bulk-delete recent messagesManage Messages
/timeout @spammer duration:10m reason:"link spam"
โ†’ โณ Timed out @spammer for 10 minutes.

Utility

CommandDescription
/pingShow gateway latency
/userinfoDisplay info about a member
/serverinfoDisplay server statistics
/remind <when>Schedule a reminder

Configuration

CommandDescriptionRequires
/config viewShow the current guild settingsManage Server
/config setChange a settingManage Server
/plugin enableEnable a plugin for this guildManage Server

Building your own command?

Drop a file in plugins/ that exports a command definition and Relay loads it on the next restart โ€” no core changes needed.

plugins/hello.ts
import { command } from "@fozmu/relay";
 
export default command({
  name: "hello",
  description: "Say hello",
  run: (ctx) => ctx.reply(`๐Ÿ‘‹ Hey, ${ctx.user.username}!`),
});