Skip to content
Nefarious Trading
Education
  • Master Guide — Start Here
  • Learn from our Team
  • Free Course
  • Analysts
IndicatorsBlogPricingSuccess Stories
Tools

Track the Markets

  • Johnny's Watchlist
  • Congress Trading
  • Economic Calendar
  • Interest Rates
  • Trump Schedule

Trader Tools

  • Traders Hub
  • Johnny's Portfolio
  • Trading Log
  • Watchlist
  • Indicators
LoginSign up (opens in a new tab)Join the Discord→ (opens in a new tab)Try 7 days for $7 (opens in a new tab)

On this page

  1. 01Reconsideration and fallback functionality
  2. 02Current review status and next steps
  3. 03Intent matrix
  4. 04What does your application do?
  5. 05Privacy Policy fields
  6. 06Message Content — do not request
  7. 07API data stored off-platform
  8. 08Server Members and Presence — do not request
  9. 09Source review and live evidence
↑ Back to top
← All bots
OverviewTermsPrivacyIntentsEvidence

Legal · Discord apps · Developer Portal

Nefarious Widget privileged intents

Effective September 12, 2026 · Last updated September 19, 2026

Configuration guidance for Nefarious Widget. These answers match discord.Intents.none(); intents.guilds = True; intents.voice_states = True in widget_server.py. The deployed application ID and live overlay still require verification. A privileged-intent application is unnecessary for the reviewed feature.

Do not apply for Message Content, Server Members, or Presence. Voice States (counting who is in one voice channel) is a standard intent, not a privileged one.

Request: Message Content — no. Server Members — no. Presence — no. Privacy: www.nefarious.trading/legal/nefarious-widget/privacy. Terms: www.nefarious.trading/legal/nefarious-widget/terms.

On this page · 9 sections+
  1. 01Reconsideration and fallback functionality
  2. 02Current review status and next steps
  3. 03Intent matrix
  4. 04What does your application do?
  5. 05Privacy Policy fields
  6. 06Message Content — do not request
  7. 07API data stored off-platform
  8. 08Server Members and Presence — do not request
  9. 09Source review and live evidence

01Reconsideration and fallback functionality

#

Prepared October 26, 2026. No privileged intent requested. This is review material, not a submission receipt or approval.

Feature-specific reconsideration reasoning
The widget counts voice-channel participation using Guilds and Voice States. It does not need to inspect message content. Reapplying for Message Content would not have a truthful feature justification for this counter.

Alternatives considered
The existing counter already uses standard events and can continue without privileged access.

Continuity while access is reviewed

All three privileged toggles were disabled and saved. No slash replacement is required for automatic voice counts.

A voice counter is not presence tracking. Do not request unused data to match another bot’s application.

02Current review status and next steps

#

Request declined; no privileged intent is needed for the counter

Decision dated September 30, 2026; follow-up updated October 26, 2026. Discord determined that the described use case can be implemented without Message Content.

  • Use standard Guilds and Voice States events for the voice-channel counter. The inspected widget code already does this.
  • Message Content was disabled and saved in the Developer Portal on October 25; a reload confirmed all three privileged-intent toggles are off. Counting channel participants is not presence tracking and does not require reading their messages.
  • A new privileged-intent application is unnecessary for this counter unless its actual functionality changes.

The implementation notes below describe inspected behavior, not an approval guarantee. Discord’s alternatives guide.

03Intent matrix

#
  • Message Content — NO. widget_server.py never enables intents.message_content and has no on_message, prefix, or slash-command handler. The overlay is driven by a voice-count API, not by reading Discord messages.
  • Server Members — NO. intents.members is not set. The bot does not welcome members, assign roles, or enumerate the guild member list. Occupant count comes from VoiceChannel.members, which discord.py fills from the voice-state cache after intents.voice_states = True — a standard intent, not Server Members.
  • Presence — NO. The bot never reads online, idle, DND, or streaming status. intents.presences is not set. A live count of people in one voice channel is not Presence.

Non-privileged use

  • Guilds — resolve the configured voice channel id after login
  • Voice States — on_voice_state_update refreshes len(channel.members) for that one channel

04What does your application do?

#
Nefarious Widget provides a voice-channel occupant count for a stream overlay. The reviewed implementation uses discord.Intents.none(), with guilds and voice_states enabled. It counts len(channel.members) for one configured channel when Discord becomes ready and when voice-state events arrive. An HTTP endpoint returns the count, channel ID/name, guild name, readiness, update time and error status. The HTML overlay polls every five seconds. Discord voice-state/member objects are processed in host memory; the endpoint does not return an occupant roster. The bot does not join an audio session, record audio, read messages or process chat commands. No privileged intent is needed for this feature. A live connection on September 19, 2026 verified bot ID 1521352013567496272 and captured the actual overlay showing zero occupants. The capture is historical; a join/leave transition and persistent deployment controls remain unverified.

05Privacy Policy fields

#
Do you have a public Privacy Policy? Yes
Where is it available? Official Nefarious website at the URL below. Add this URL to the application's Developer Portal settings; profile publication has not been verified.
Privacy Policy URL: https://www.nefarious.trading/legal/nefarious-widget/privacy
Terms of Service URL: https://www.nefarious.trading/legal/nefarious-widget/terms

06Message Content — do not request

#

Leave Message Content unchecked. Paste this if they ask why you do not need it:

We are not requesting Message Content. Nefarious Widget has no on_message listener, no prefix commands, and no slash commands. The overlay is updated from a voice-count JSON API. Enabling Message Content would not add a feature.

Can users opt out of message-content tracking?

Not applicable
Not applicable — the bot does not read member message content. Members opt out of the count by leaving the watched voice channel.

Storing message content off-platform?

No
No Discord message content is stored. The process keeps an in-memory snapshot (count, channel id/name, guild name, timestamp). It does not write occupant user ids, usernames, or chat to disk.

Used to train ML / AI models?

No

07API data stored off-platform

#

Store Discord API Data off-platform: Yes — transient Discord data in host memory and persistent channel ID configuration. Temporary memory is still processing outside Discord.

All API data retained for 30 days or less: No — configuration has no automatic 30-day expiry; host log retention is unverified.

The snapshot and discord.py voice-state/member cache live outside Discord in host memory. The application refreshes the snapshot on ready and voice-state events; memory is released when the process ends. There is no application-written occupant history or automatic 30-day deletion job. The configured channel ID persists for operation, and operator or proxy logs have not been audited. Do not claim all Discord API data is deleted within 30 days.

Deletion contact: Business@nefarious.trading.

08Server Members and Presence — do not request

#

Leave those boxes unchecked. Counting one voice channel uses Voice States, not Server Members and not Presence. If Discord asks why you do not need them:

Server Members: intents.members is not set. The bot does not welcome members, assign roles, or enumerate the guild member list. Occupant count comes from VoiceChannel.members, which discord.py fills from the voice-state cache after intents.voice_states = True — a standard intent, not Server Members.

Presence: The bot never reads online, idle, DND, or streaming status. intents.presences is not set. A live count of people in one voice channel is not Presence.

09Source review and live evidence

#

The reviewed source widget_server.py sets only guilds and voice_states, refreshes len(channel.members), and serves GET /api/voice-count. It does not send or read Discord messages. A running-bot capture on September 19, 2026 verified its identity, enabled intents and an actual count of zero.

View this bot’s evidence →

The Evidence page includes the actual overlay capture. A before/after count transition still requires an authorized participant to join or leave the configured voice channel. Include the capture time and application ID. Keep participant identities out of the public capture unless needed and approved for publication. The captured count is historical, not a live feed.

References: Discord gateway intents and discord.py member-cache behavior.

  • Watched voice channel: https://discord.com/channels/909011353342181426/1492973945190748411

Questions: Business@nefarious.trading.

Related documents

  • Terms of Service→
  • Privacy Policy→
  • All-bot intents matrix→
↑ Back to top

Premium trading Discord with analyst trade alerts, custom indicators, live trading streams, and community research.

Explore

  • Analysts
  • Education
  • Research
  • Indicators
  • Success Stories
  • Features

Tools

  • All Tools
  • Johnny's Watchlist
  • Congress Trading
  • Economic Calendar
  • Interest Rates
  • Trump Schedule
  • Prop Firm Rankings
  • Trading Log

Join

  • Pricing
  • Join the Free Discord (opens in a new tab)
  • Join Nefarious VIP (opens in a new tab)
  • Nefarious Whop (opens in a new tab)

Legal

  • Terms of Service
  • Privacy Policy
  • Financial Disclaimer
  • Copyright & DMCA
  • Community Guidelines
  • Limitation of Liability
  • Discord app legal

Explore

  • Analysts
  • Education
  • Research
  • Indicators
  • Success Stories
  • Features

Tools

  • All Tools
  • Johnny's Watchlist
  • Congress Trading
  • Economic Calendar
  • Interest Rates
  • Trump Schedule
  • Prop Firm Rankings
  • Trading Log

Join

  • Pricing
  • Join the Free Discord (opens in a new tab)
  • Join Nefarious VIP (opens in a new tab)
  • Nefarious Whop (opens in a new tab)

Legal

  • Terms of Service
  • Privacy Policy
  • Financial Disclaimer
  • Copyright & DMCA
  • Community Guidelines
  • Limitation of Liability
  • Discord app legal

Trading involves substantial risk of loss and is not suitable for every investor. Nothing on this site or in the Nefarious Discord is financial, investment, tax, or legal advice, and past performance does not guarantee future results. Trade recaps, logs, and member reviews reflect individual experiences and are not typical results or a promise of future performance. Nefarious and its analysts are not registered investment advisers. Full disclaimer.

© 2026 Nefarious Trading. All Rights Reserved.

Back to top↑