Legal · Discord apps · Developer Portal
Nefarious Options Levels privileged intents
Effective September 12, 2026 · Last updated September 12, 2026
Paste pack for Discord’s Privileged Intent form for Nefarious Options Levels. These answers match new Client({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent] }). They are not MEE6’s welcome, leveling, or invite-tracking answers.
Apply for Message Content only. Do not check Server Members or Presence.
01Intent matrix
- Message Content — YES. The only on-demand trigger is prefix text. Discord will not deliver “nl QQQ SPY” or “nli ES1!” without Message Content. bot.ts sets GatewayIntentBits.MessageContent, parses the first token as nl or nli, and ignores every other message. It is not a welcome, leveling, or auto-moderation bot.
- Server Members — NO. GuildMembers is not in the client. The allow-list reads message.member.roles.cache on the MessageCreate author — the member object Discord already attaches to that message. The bot does not enumerate the guild roster, assign roles, or listen for joins.
- Presence — NO. The bot never reads online, idle, DND, or streaming status. GuildPresences is not set.
What the gateway is used for
- Message Content — read nl / nli plus ticker tokens
- Guilds — stay in the configured Nefarious guild and resolve the auto-post channel
- Guild Messages — reply to commands and send the nightly EOD post
02What does your application do?
Nefarious Options Levels is an operator-run Discord bot for the Nefarious trading community. Allowed-role members type prefix commands: - nl TICKER [TICKER…] — end-of-day gamma / options levels (up to 5 tickers) - nli TICKER [TICKER…] — the same request for an intraday snapshot The process reads that command text, fetches levels from a third-party options-levels API, and replies with a compact payload that a matching TradingView indicator can decode. It also auto-posts an EOD set (NQ1!, ES1!, QQQ, SPY, DIA) once per session night into one configured channel (id 1467266457246105843), skipping Friday and Sunday nights. The Discord.js client enables Guilds, GuildMessages, and Message Content only. The bot does not welcome members, assign roles, enumerate the server member list, run leveling or auto-moderation, or read online or streaming status. A role allow-list is checked on the message author’s member object that Discord already sends with MessageCreate. Levels are model/vendor output, not financial advice.
03Privacy Policy fields
Do you have a public Privacy Policy? Yes Where is it available? Official Nefarious website (nefarious.trading) and this application's Discord profile. Privacy Policy URL: https://www.nefarious.trading/legal/nefarious-options-levels/privacy Terms of Service URL: https://www.nefarious.trading/legal/nefarious-options-levels/terms
04Message Content — why (paste)
Check Message Content. Paste:
Message Content is required because the bot’s only on-demand trigger is ordinary Discord message text. - Members type nl or nli plus tickers (for example “nl QQQ SPY” or “nli ES1!”). Discord does not deliver that prefix text without the Message Content privileged intent. - The client enables GatewayIntentBits.MessageContent, matches the first token as nl or nli, and ignores every other message. It does not scan unrelated channels for auto-moderation, XP, starboards, or keyword automations. Without this intent the bot cannot see a levels command and cannot reply. We are not applying for Server Members or Presence.
Can users opt out of message-content tracking?
Yes Yes. The bot only acts on messages that start with nl or nli in the configured guild, from a member on the role allow-list. Everyone else is ignored. Members opt out by not typing those commands.
Storing message content off-platform?
No No. Command text is parsed in memory to fetch levels and is not written to a chat archive. Process logs record fetch errors, not message bodies. We do not keep DMs or ordinary chat.
Used to train ML / AI models?
No
05API data stored off-platform (not message bodies)
If the form asks about API Data generally (tokens / session cache, not message text): store off-platform Yes; 30 days or less No.
The host may keep a third-party levels-API session cache on disk so the process does not re-login on every request. That cache and the bot token persist until an operator deletes them — typically longer than 30 days. An in-memory rate-limit map holds Discord user IDs for about one minute and is discarded on restart.
Discord requires encryption at rest if you store API Data. Select Yes only if the host volume that holds the bot token and any vendor session cache is actually encrypted. Do not check Yes if those files sit in plaintext on disk.
Deletion contact: Business@nefarious.trading.
06Server Members and Presence — do not request
Leave those boxes unchecked. If Discord asks why you do not need them:
Server Members: GuildMembers is not in the client. The allow-list reads message.member.roles.cache on the MessageCreate author — the member object Discord already attaches to that message. The bot does not enumerate the guild roster, assign roles, or listen for joins. Presence: The bot never reads online, idle, DND, or streaming status. GuildPresences is not set.
07Proof
nl QQQ SPY — The bot replies with a short “Fetching end of day levels…” status, then edits that message to a compact ticker payload (call/put walls, HVL, 0DTE walls, GEX 1–10). That string is for the matching TradingView indicator, not a trade ticket. Levels can be missing, late, or wrong.
- Nightly auto-post channel: https://discord.com/channels/909011353342181426/1467266457246105843
- This page: https://www.nefarious.trading/legal/nefarious-options-levels/intents#proof
Application ID is not in this workspace. Copy it from the Developer Portal before you set Discord’s required install link. Questions: Business@nefarious.trading.
Also see our Terms of Service, Privacy Policy, and All-bot intents matrix.