Legal · Discord apps · Developer Portal
Nefarious Options Levels privileged intents
Effective September 12, 2026 · Last updated October 26, 2026
Submission notes for Nefarious Options Levels, application 1521674844981297162. The running source was compared with the local source on September 15, 2026. Its configured client is new Client({ intents: [GatewayIntentBits.Guilds] }); optional MessageContent-enabled text mode remains available after approval.
The deployed /nl and /nli fallbacks use no privileged intent. Message Content would restore the retained ordinary-text interface. Server Members and Presence are unnecessary. Scheduled posts also need no privileged intent.
On this page · 10 sections
01Reconsideration and fallback functionality
#Prepared October 26, 2026. Message Content reconsideration for legacy ordinary-text requests only. This is review material, not a submission receipt or approval.
Nefarious Options Levels has an established ordinary-message interface: nl and nli followed by ticker arguments. Members use it in the ongoing trading-channel discussion to obtain the bot's calculated output. In that implementation, Message Content is needed to distinguish the command from surrounding conversation and parse its ticker arguments when the app is not mentioned. The operator requests continued support for that familiar text workflow to avoid requiring every existing user to change how they ask for levels. The argument is compatibility and reduced interaction friction; it is not that slash commands cannot calculate the same levels. There is no verified passive-message analysis feature to add to this application simply to justify the intent. The fallback preserves the same guild and role restrictions, request/ticker limits and computation path. Scheduled outbound posts do not require Message Content and are not included in this request. If Discord considers interaction parity sufficient, the current inspected functionality does not establish a stronger technical necessity. Alternatives considered /nl and /nli are deployed and functional without privileged intents. Mention-based or interaction-based requests are feasible. We ask for reconsideration of existing text compatibility while clearly acknowledging that these alternatives cover the requested calculation.
Continuity while access is reviewed
Deployed and verified: /nl and /nli. Gateway Message Content is disabled after revocation. The existing text path remains in the code and can be enabled after approval; the fallback does not bypass revoked access.
This is a narrower case than passive moderation or archiving. User preference alone may not satisfy Discord. Do not claim automatic source reading, an inaccessible calculation, or approval that has not been granted.
02Current review status and next steps
#Request declined; privileged access removed October 25, 2026
Decision dated September 24, 2026; follow-up updated October 26, 2026. Discord determined that the described use case can be implemented without Message Content. The later removal notice says no new request was received within the submission window.
- /nl and /nli were deployed and their command registration verified. They preserve guild/role checks, ticker and request limits, calculations and scheduled posts.
- The running Gateway client now omits Message Content. The original ordinary-text path is retained behind configuration and can be enabled after approval.
- Expanded reconsideration reasoning below requests text compatibility without claiming that the existing slash fallback cannot provide levels.
The implementation notes below describe inspected behavior, not an approval guarantee. Discord’s alternatives guide.
03Verified storage and retention status
#Bot storage rechecked October 26, 2026. The inspected bot's persistent data remains on unencrypted app storage. Historical NAS snapshots also retain copies.
The bot’s logs have no configured size or file-count limits. No automatic expiry was established for those logs. Do not select “Yes” for encryption of all stored API data or promise a 30-day deletion limit on the basis of this page.
The retention and deletion rules below describe each data category. A removal request must also address logs and backups containing the requested data. Retained-copy migration, bounded logs and a verified deletion procedure remain required operational work.
04Intent matrix
#- Message Content — YES. Message Content would restore the retained ordinary nl/nli text interface. It is currently disabled after revocation. Deployed /nl and /nli interactions use the same authorization, limits and calculation path without privileged access. Scheduled posts require no privileged intent.
- 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 — receive command events; sending replies and scheduled posts uses channel permissions, not this intent
05What does your application do?
#Nefarious Options Levels is an operator-run Discord bot for the Nefarious trading community. Allowed-role members use the deployed interaction 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 receives those submitted ticker options, 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 current Discord.js client requests Guilds only. The old ordinary-message command path is retained behind MESSAGE_CONTENT_ENABLED and is disabled until privileged access is approved. 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 invoking member data supplied with the interaction. Levels are model/vendor output, not financial advice.
06Privacy Policy fields
#Do you have a public Privacy Policy? Yes Where is it available? Publicly available on the official Nefarious website at the URL below. The operator must add this URL to the application's Developer Portal settings. 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
07Message Content — why (paste)
#Check Message Content. Paste:
Nefarious Options Levels has an established ordinary-message interface: nl and nli followed by ticker arguments. Members use it in the ongoing trading-channel discussion to obtain the bot's calculated output. In that implementation, Message Content is needed to distinguish the command from surrounding conversation and parse its ticker arguments when the app is not mentioned. The operator requests continued support for that familiar text workflow to avoid requiring every existing user to change how they ask for levels. The argument is compatibility and reduced interaction friction; it is not that slash commands cannot calculate the same levels. There is no verified passive-message analysis feature to add to this application simply to justify the intent. The fallback preserves the same guild and role restrictions, request/ticker limits and computation path. Scheduled outbound posts do not require Message Content and are not included in this request. If Discord considers interaction parity sufficient, the current inspected functionality does not establish a stronger technical necessity. /nl and /nli are deployed and functional without privileged intents. Mention-based or interaction-based requests are feasible. We ask for reconsideration of existing text compatibility while clearly acknowledging that these alternatives cover the requested calculation.
Can users opt out of message-content tracking?
No dedicated per-user opt-out setting Members can avoid invoking the bot by not sending nl or nli commands. This does not prevent delivery of accessible channel messages to the bot or its prefix check. Server administrators can deny View Channel or remove the bot to prevent receipt. There is no per-user exclusion switch in the reviewed code. Privacy and deletion requests go to Business@nefarious.trading.
Storing message content off-platform?
Runtime memory; no intentional persistent chat archive The reviewed application does not intentionally write message bodies to a persistent chat archive. It parses command text in memory; Discord.js can also cache received messages in process memory. The code emits operational and error logs. Host log retention, backups and cache behavior must be checked before certifying an absolute retention or security answer.
Used to train ML / AI models?
No
08API data stored off-platform (not message bodies)
#Discord IDs in configuration and user IDs in process memory are processed off-platform. The reviewed bot does not enforce a 30-day deletion deadline. Vendor credentials are separate from Discord message data. Verify the exact scope of the form question before submitting.
Configured Discord server, channel and role IDs persist in application configuration. Discord user IDs and request timestamps/counts are held in a process-memory rate map until restart; a 60-second calculation window does not delete inactive users' entries. Discord.js caches may also retain received data in memory. No automatic 30-day deletion is implemented. The vendor session cache is an operator credential, not Discord message content; it must not be confused with Discord user-data retention.
Checked October 26, 2026: the deployed persistent storage is on an unencrypted apps dataset. Container JSON logs have no configured rotation limits. Do not select Yes for encryption of all stored API data until storage and log remediation is verified.
Deletion contact: Business@nefarious.trading.
09Server 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.
10Real output and evidence limits
#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.
View this bot’s evidence →These real records establish the bot’s output. They do not establish that a member sent an unmentioned prefix command. For a Message Content request, add a recording or message links showing an authorized member’s actual nl or nli command and the resulting reply. Do not present a scheduled post as proof that Message Content is necessary. Slash commands would allow the same explicit ticker input without it.
- Nightly auto-post channel: https://discord.com/channels/909011353342181426/1467266457246105843
- This page: https://www.nefarious.trading/legal/nefarious-options-levels/intents#proof
Confirm the application ID and public policy URLs in the Developer Portal. Security controls and actual host retention still require operator verification. Questions: Business@nefarious.trading.
Reference: Discord Message Content documentation.