Slash command, staff-only
The /check reply is ephemeral by default. Public channels never see the result, even if a moderator runs it there.
Replace gut-feeling moderation with reviewed risk indicators. CheatSentry's Discord ID risk API plugs into your existing bot in minutes — staff sees the signal, the public never sees private evidence.
Discord moderators face hundreds of joins per day. CheatSentry adds a reviewed risk signal — without scraping profiles or storing real names.
The /check reply is ephemeral by default. Public channels never see the result, even if a moderator runs it there.
Lock the command to ModerateMembers or your own staff role so non-staff cannot trigger checks.
Every API call goes through your CheatSentry account. Per-staff tracking, daily limits and audit trail come built-in.
We don't read members on join, we don't snapshot the server. You query intentionally, one ID at a time.
Members who feel an entry is wrong can request a manual review directly. Your bot is not the appeals court.
Plain HTTPS GET — no SDK required. The docs ship a discord.js example you can paste in.
/check commandStaff-only ephemeral reply. The bot never auto-bans. Full example in the API docs.
// /check command — staff-only response
import { SlashCommandBuilder, PermissionFlagsBits } from 'discord.js';
export const data = new SlashCommandBuilder()
.setName('check')
.setDescription('Run a CheatSentry risk check')
.addStringOption(o =>
o.setName('id').setDescription('Discord ID').setRequired(true)
)
.setDefaultMemberPermissions(PermissionFlagsBits.ModerateMembers);
export async function execute(interaction) {
const id = interaction.options.getString('id', true);
if (!/^\d{16,21}$/.test(id)) {
return interaction.reply({ content: 'Invalid Discord ID.', ephemeral: true });
}
await interaction.deferReply({ ephemeral: true });
const res = await fetch(`https://cheatsentry.com/api/v1/check/${id}`, {
headers: { Authorization: `Bearer ${process.env.CHEATSENTRY_KEY}` },
});
if (!res.ok) return interaction.editReply('Risk check failed.');
const data = await res.json();
await interaction.editReply({
embeds: [{
title: `Risk signal · ${data.riskLevel ?? 'clean'}`,
description: data.summary ?? 'No reviewed risk entry found.',
footer: { text: 'CheatSentry — manual review recommended.' },
}],
});
}
Staff invokes the slash command with a Discord ID — only staff roles can see it.
Risk level, status and a short summary land in an ephemeral reply.
Moderators apply server rules. The bot does not auto-warn, auto-mute or auto-ban.
Affected members can submit a manual-review request.
All paid plans include API access, dashboard and abuse-prevention. Limits scale with your daily volume.
Sign in to view
Sign in to view
Sign in to view
Sign in to view
CheatSentry should be used as an additional risk signal. We recommend manual review before taking action against a user.
Free tier, no credit card. discord.js example included in the docs.