Gateway Intents
Ang intents ay isang bitfield na ipinapadala mo sa op:2 Identify para sabihin sa gateway kung aling event categories ang ipapadala sa bot mo. Pareho ang bits at semantics sa Discord. Gumagana ang kasalukuyang intent configuration mo nang walang binabago.
Intent bits
Supported sa GameVox lahat ng hindi deprecated na Discord intent bits. Kapag wala pang ganoong feature sa GameVox (hal. Stage Channels, Scheduled Events), tinatanggap ang bit pero walang events na lalabas. Hindi mag-e-error ang library mo.
| Intent | Bit | Privileged | Mga Event |
|---|---|---|---|
| GUILDS | 1 << 0 | GUILD_CREATE, GUILD_UPDATE, GUILD_DELETE, CHANNEL_CREATE/UPDATE/DELETE, CHANNEL_PINS_UPDATE, GUILD_ROLE_CREATE/UPDATE/DELETE | |
| GUILD_MEMBERS | 1 << 1 | ✓ | GUILD_MEMBER_ADD, GUILD_MEMBER_UPDATE, GUILD_MEMBER_REMOVE, member chunking |
| GUILD_MODERATION | 1 << 2 | GUILD_BAN_ADD, GUILD_BAN_REMOVE. Tinatanggap ang GUILD_AUDIT_LOG_ENTRY_CREATE, wala pang events | |
| GUILD_EMOJIS_AND_STICKERS | 1 << 3 | Tinatanggap, wala pang events (kunin sa REST kung kailangan mo ang kasalukuyang state) | |
| GUILD_INTEGRATIONS | 1 << 4 | Tinatanggap, wala pang events | |
| GUILD_WEBHOOKS | 1 << 5 | Tinatanggap, wala pang events | |
| GUILD_INVITES | 1 << 6 | Tinatanggap, wala pang events | |
| GUILD_VOICE_STATES | 1 << 7 | VOICE_STATE_UPDATE, VOICE_SERVER_UPDATE | |
| GUILD_PRESENCES | 1 << 8 | ✓ | PRESENCE_UPDATE |
| GUILD_MESSAGES | 1 << 9 | MESSAGE_CREATE/UPDATE/DELETE/DELETE_BULK sa guilds | |
| GUILD_MESSAGE_REACTIONS | 1 << 10 | MESSAGE_REACTION_ADD, MESSAGE_REACTION_REMOVE. Tinatanggap ang REMOVE_ALL / REMOVE_EMOJI, wala pang events (gumagana ang REST) | |
| GUILD_MESSAGE_TYPING | 1 << 11 | TYPING_START sa guilds | |
| DIRECT_MESSAGES | 1 << 12 | MESSAGE_* sa DMs | |
| DIRECT_MESSAGE_REACTIONS | 1 << 13 | MESSAGE_REACTION_* sa DMs | |
| DIRECT_MESSAGE_TYPING | 1 << 14 | TYPING_START sa DMs | |
| MESSAGE_CONTENT | 1 << 15 | ✓ | Idinadagdag ang content, embeds, attachments, components sa MESSAGE_* |
| GUILD_SCHEDULED_EVENTS | 1 << 16 | Tinatanggap, wala pang events | |
| AUTO_MODERATION_CONFIGURATION | 1 << 20 | Tinatanggap, wala pang events | |
| AUTO_MODERATION_EXECUTION | 1 << 21 | Tinatanggap, wala pang events |
Privileged intents
Tatlong intents ang privileged sa Discord at kailangan ng manual approval kapag nasa 100+ servers na ang bot mo: GUILD_MEMBERS, GUILD_PRESENCES, at MESSAGE_CONTENT.
Sa GameVox, auto-approved ang tatlo kapag in-on sa Bot tab ng application. Nandoon ang toggle para hindi mag-close nang may 4014 Disallowed intents ang mga library na nagche-check ng approval sa portal. Walang 100-server verification process para makakuha ng access. I-flip ang toggle, i-set ang bit, tapos na.
Mga carve-out ng MESSAGE_CONTENT
Eksaktong tugma sa Discord. Kahit walang MESSAGE_CONTENT, kasama pa rin ang content / embeds / attachments / components ng message kapag:
- Ang message ay galing sa sarili mong bot (laging may content ang sariling messages).
- Ang message ay nagme-mention sa bot mo (gamit ang ID).
- Ang message ay nasa DM kasama ang bot mo.
- Ang message ay isang interaction response kung saan recipient ang bot mo.
Events na hindi pa nae-emit (pero tinatanggap ang intents)
Safe i-enable ang mga intents sa ibaba (tinatanggap ng wire at hindi mag-e-error ang library mo), pero wala pang events na pina-publish sa ngayon. Kung umaasa ang logic ng bot mo sa alinman dito, mag-poll muna sa REST:
USER_UPDATEGUILD_EMOJIS_UPDATE,GUILD_STICKERS_UPDATEWEBHOOKS_UPDATE,INTEGRATION_CREATE/UPDATE/DELETE,INVITE_CREATE/DELETEGUILD_AUDIT_LOG_ENTRY_CREATEMESSAGE_REACTION_REMOVE_ALL,MESSAGE_REACTION_REMOVE_EMOJI(gumagana ang REST endpoints)THREAD_*,STAGE_INSTANCE_*,GUILD_SCHEDULED_EVENT_*,AUTO_MODERATION_*,MESSAGE_POLL_*
Mas kaunti pa ang ine-emit ng self-hosted servers. Tingnan ang page na iyon para sa eksaktong listahan.
Mga close code na puwede mong makita
4013 Invalid intent(s): may naka-set na bit na lampas sa valid mask (i-check ulit ang bit math ng library mo).4014 Disallowed intents: naka-set ang privileged intent bit pero hindi naka-on ang katapat na toggle sa developer portal.
Halimbawa: pag-set ng intents
discord.js
const { GatewayIntentBits } = require('discord.js');
const intents =
GatewayIntentBits.Guilds
| GatewayIntentBits.GuildMessages
| GatewayIntentBits.MessageContent; // privileged, i-toggle muna sa portal
const client = new Client({ intents }); discord.py
intents = discord.Intents.default()
intents.members = True # privileged
intents.message_content = True # privileged
client = discord.Client(intents=intents)