Discord (Bot API)¶
Status: handa para sa DM at mga guild text channel sa pamamagitan ng opisyal na Discord bot gateway.
Quick setup (beginner)¶
- Gumawa ng Discord bot at kopyahin ang bot token.
- Sa mga setting ng Discord app, i-enable ang Message Content Intent (at Server Members Intent kung balak mong gumamit ng mga allowlist o name lookup).
- Itakda ang token para sa OpenClaw:
- Env:
DISCORD_BOT_TOKEN=...- O config:channels.discord.token: "...". - Kapag parehong naka-set, mas nauuna ang config (ang env fallback ay para lang sa default-account). - I-invite ang bot sa iyong server na may mga pahintulot sa mensahe (gumawa ng private server kung DM lang ang gusto mo).
- Simulan ang gateway.
- Ang DM access ay pairing by default; aprubahan ang pairing code sa unang contact.
Minimal na config:
{
channels: {
discord: {
enabled: true,
token: "YOUR_BOT_TOKEN",
},
},
}
Mga layunin¶
- Makipag-usap sa OpenClaw sa pamamagitan ng Discord DMs o mga guild channel.
- Ang mga direct chat ay pinagsasama sa pangunahing session ng agent (default
agent:main:main); ang mga guild channel ay nananatiling hiwalay bilangagent:<agentId>:discord:channel:<channelId>(ang mga display name ay gumagamit ngdiscord:<guildSlug>#<channelSlug>). - Ang mga group DM ay binabalewala by default; i-enable sa pamamagitan ng
channels.discord.dm.groupEnabledat opsyonal na higpitan gamit angchannels.discord.dm.groupChannels. - Panatilihing deterministiko ang routing: ang mga reply ay laging bumabalik sa channel kung saan sila dumating.
Paano ito gumagana¶
- Gumawa ng Discord application → Bot, i-enable ang mga intent na kailangan mo (DMs + guild messages + message content), at kunin ang bot token.
- I-invite ang bot sa iyong server na may mga pahintulot na kailangan para magbasa/magpadala ng mga mensahe kung saan mo ito gagamitin.
- I-configure ang OpenClaw gamit ang
channels.discord.token(oDISCORD_BOT_TOKENbilang fallback). - Patakbuhin ang gateway; awtomatiko nitong sinisimulan ang Discord channel kapag may available na token (config muna, env fallback) at ang
channels.discord.enableday hindifalse. - Kung mas gusto mo ang env vars, itakda angDISCORD_BOT_TOKEN(opsyonal ang config block). - Direct chats: use
user:<id>(or a<@id>mention) when delivering; all turns land in the sharedmainsession. Bare numeric IDs are ambiguous and rejected. - Guild channels: use
channel:<channelId>for delivery. Mentions are required by default and can be set per guild or per channel. - Direct chats: secure by default via
channels.discord.dm.policy(default:"pairing"). Unknown senders get a pairing code (expires after 1 hour); approve viaopenclaw pairing approve discord <code>. - Para panatilihin ang lumang “open to anyone” na behavior: itakda angchannels.discord.dm.policy="open"atchannels.discord.dm.allowFrom=["*"]. - Para sa mahigpit na allowlist: itakda angchannels.discord.dm.policy="allowlist"at ilista ang mga sender sachannels.discord.dm.allowFrom. - Para balewalain ang lahat ng DM: itakda angchannels.discord.dm.enabled=falseochannels.discord.dm.policy="disabled". - Ang mga group DM ay binabalewala by default; i-enable sa pamamagitan ng
channels.discord.dm.groupEnabledat opsyonal na higpitan gamit angchannels.discord.dm.groupChannels. - Opsyonal na guild rules: itakda ang
channels.discord.guildsna naka-key sa guild id (mas gusto) o slug, na may per-channel na mga patakaran. - Optional native commands:
commands.nativedefaults to"auto"(on for Discord/Telegram, off for Slack). Override withchannels.discord.commands.native: true|false|"auto";falseclears previously registered commands. Text commands are controlled bycommands.textand must be sent as standalone/...messages. Usecommands.useAccessGroups: falseto bypass access-group checks for commands.- Buong listahan ng command + config: Slash commands
- Optional guild context history: set
channels.discord.historyLimit(default 20, falls back tomessages.groupChat.historyLimit) to include the last N guild messages as context when replying to a mention. Set0to disable. - Reactions: maaaring mag-trigger ang agent ng mga reaction sa pamamagitan ng
discordtool (nakagated ngchannels.discord.actions.*).- Semantics ng pag-alis ng reaction: tingnan ang /tools/reactions.
- Ang
discordtool ay inilalantad lamang kapag ang kasalukuyang channel ay Discord.
- Ang mga native command ay gumagamit ng hiwalay na session key (
agent:<agentId>:discord:slash:<userId>) sa halip na ang pinagsasaluhangmainsession.
Note: Name → id resolution uses guild member search and requires Server Members Intent; if the bot can’t search members, use ids or <@id> mentions.
Note: Slugs are lowercase with spaces replaced by -. Channel names are slugged without the leading #.
Note: Guild context [from:] lines include author.tag + id to make ping-ready replies easy.
Config writes¶
By default, pinapayagan ang Discord na magsulat ng mga update sa config na na-trigger ng /config set|unset (nangangailangan ng commands.config: true).
I-disable gamit ang:
{
channels: { discord: { configWrites: false } },
}
Paano gumawa ng sarili mong bot¶
Ito ang setup ng “Discord Developer Portal” para patakbuhin ang OpenClaw sa isang server (guild) channel tulad ng #help.
1. Gumawa ng Discord app + bot user¶
- Discord Developer Portal → Applications → New Application
- Sa iyong app:
- Bot → Add Bot
- Kopyahin ang Bot Token (ito ang inilalagay mo sa
DISCORD_BOT_TOKEN)
2) I-enable ang mga gateway intent na kailangan ng OpenClaw¶
Hinaharangan ng Discord ang mga “privileged intents” maliban kung tahasan mong i-enable ang mga ito.
Sa Bot → Privileged Gateway Intents, i-enable ang:
- Message Content Intent (kinakailangan para mabasa ang text ng mensahe sa karamihan ng guild; kung wala nito makikita mo ang “Used disallowed intents” o kokonekta ang bot pero hindi tutugon sa mga mensahe)
- Server Members Intent (inirerekomenda; kinakailangan para sa ilang member/user lookup at allowlist matching sa mga guild)
You usually do not need Presence Intent. Setting the bot's own presence (setPresence action) uses gateway OP3 and does not require this intent; it is only needed if you want to receive presence updates about other guild members.
3. Bumuo ng invite URL (OAuth2 URL Generator)¶
Sa iyong app: OAuth2 → URL Generator
Scopes
- ✅
bot - ✅
applications.commands(kinakailangan para sa native commands)
Bot Permissions (minimal na baseline)
- ✅ View Channels
- ✅ Send Messages
- ✅ Read Message History
- ✅ Embed Links
- ✅ Attach Files
- ✅ Add Reactions (opsyonal ngunit inirerekomenda)
- ✅ Use External Emojis / Stickers (opsyonal; kung gusto mo lang ang mga ito)
Iwasan ang Administrator maliban kung nagde-debug ka at lubos mong pinagkakatiwalaan ang bot.
Kopyahin ang nabuong URL, buksan ito, piliin ang iyong server, at i-install ang bot.
4. Kunin ang mga id (guild/user/channel)¶
Gumagamit ang Discord ng mga numeric id sa lahat ng dako; mas gusto ng OpenClaw config ang mga id.
- Discord (desktop/web) → User Settings → Advanced → i-enable ang Developer Mode
- Right-click:
- Pangalan ng server → Copy Server ID (guild id)
- Channel (hal.
#help) → Copy Channel ID - Ang iyong user → Copy User ID
5) I-configure ang OpenClaw¶
Token¶
Itakda ang bot token sa pamamagitan ng env var (inirerekomenda sa mga server):
DISCORD_BOT_TOKEN=...
O sa pamamagitan ng config:
{
channels: {
discord: {
enabled: true,
token: "YOUR_BOT_TOKEN",
},
},
}
Suporta sa multi-account: gamitin ang channels.discord.accounts na may per-account na mga token at opsyonal na name. See gateway/configuration for the shared pattern.
Allowlist + channel routing¶
Halimbawa ng “isang server lang, ako lang ang papayagan, #help lang ang papayagan”:
{
channels: {
discord: {
enabled: true,
dm: { enabled: false },
guilds: {
YOUR_GUILD_ID: {
users: ["YOUR_USER_ID"],
requireMention: true,
channels: {
help: { allow: true, requireMention: true },
},
},
},
retry: {
attempts: 3,
minDelayMs: 500,
maxDelayMs: 30000,
jitter: 0.1,
},
},
},
}
Mga tala:
- Ang
requireMention: trueay nangangahulugang sasagot lang ang bot kapag nabanggit (inirerekomenda para sa mga shared channel). - Ang
agents.list[].groupChat.mentionPatterns(omessages.groupChat.mentionPatterns) ay binibilang din bilang mga mention para sa mga guild message. - Multi-agent override: magtakda ng per-agent pattern sa
agents.list[].groupChat.mentionPatterns. - Kapag naroon ang
channels, anumang channel na hindi nakalista ay tinatanggihan by default. - Gumamit ng
"*"na channel entry para mag-apply ng mga default sa lahat ng channel; ang mga explicit channel entry ay nag-o-override sa wildcard. - Threads inherit parent channel config (allowlist,
requireMention, skills, prompts, etc.) unless you add the thread channel id explicitly. - Owner hint: when a per-guild or per-channel
usersallowlist matches the sender, OpenClaw treats that sender as the owner in the system prompt. For a global owner across channels, setcommands.ownerAllowFrom. - Ang mga mensaheng gawa ng bot ay binabalewala by default; itakda ang
channels.discord.allowBots=truepara payagan ang mga ito (ang sariling mensahe ay mananatiling filtered). - Warning: If you allow replies to other bots (
channels.discord.allowBots=true), prevent bot-to-bot reply loops withrequireMention,channels.discord.guilds.*.channels.<id>.usersallowlists, and/or clear guardrails inAGENTS.mdandSOUL.md.
6. I-verify na gumagana ito¶
- Simulan ang gateway.
- Sa iyong server channel, ipadala:
@Krill hello(o kung ano man ang pangalan ng iyong bot). - Kung walang nangyari: tingnan ang Troubleshooting sa ibaba.
Troubleshooting¶
- Una: patakbuhin ang
openclaw doctoratopenclaw channels status --probe(actionable warnings + quick audits). - “Used disallowed intents”: i-enable ang Message Content Intent (at malamang Server Members Intent) sa Developer Portal, pagkatapos ay i-restart ang gateway.
- Kumokonekta ang bot pero hindi kailanman sumasagot sa isang guild channel:
- Nawawala ang Message Content Intent, o
- Kulang ang pahintulot ng bot sa channel (View/Send/Read History), o
- Nangangailangan ng mention ang iyong config at hindi mo ito binanggit, o
- Tinatanggihan ng iyong guild/channel allowlist ang channel/user.
requireMention: falsepero wala pa ring mga reply:channels.discord.groupPolicydefaults to allowlist; set it to"open"or add a guild entry underchannels.discord.guilds(optionally list channels underchannels.discord.guilds.<id>.channelsto restrict).- If you only set
DISCORD_BOT_TOKENand never create achannels.discordsection, the runtime defaultsgroupPolicytoopen. Addchannels.discord.groupPolicy,channels.defaults.groupPolicy, or a guild/channel allowlist to lock it down. requireMentionmust live underchannels.discord.guilds(or a specific channel).channels.discord.requireMentionat the top level is ignored.- Permission audits (
channels status --probe) only check numeric channel IDs. If you use slugs/names aschannels.discord.guilds.*.channelskeys, the audit can’t verify permissions. - Hindi gumagana ang mga DM:
channels.discord.dm.enabled=false,channels.discord.dm.policy="disabled", o hindi ka pa naaprubahan (channels.discord.dm.policy="pairing"). - Exec approvals in Discord: Discord supports a button UI for exec approvals in DMs (Allow once / Always allow / Deny).
/approve <id> ...is only for forwarded approvals and won’t resolve Discord’s button prompts. 1. Kung makita mo ang❌ Failed to submit approval: Error: unknown approval ido hindi kailanman lumitaw ang UI, suriin ang: - Ang
channels.discord.execApprovals.enabled: truesa iyong config. - Ang iyong Discord user ID ay nakalista sa
channels.discord.execApprovals.approvers(ang UI ay ipinapadala lang sa mga approver). - Gamitin ang mga button sa DM prompt (Allow once, Always allow, Deny).
- Tingnan ang Exec approvals at Slash commands para sa mas malawak na daloy ng approvals at command.
Mga kakayahan at limitasyon¶
- DMs at mga guild text channel (ang mga thread ay itinuturing na hiwalay na mga channel; hindi suportado ang voice).
- Ang mga typing indicator ay ipinapadala sa best-effort; ang message chunking ay gumagamit ng
channels.discord.textChunkLimit(default 2000) at hinahati ang mahahabang reply ayon sa bilang ng linya (channels.discord.maxLinesPerMessage, default 17). - Opsyonal na newline chunking: itakda ang
channels.discord.chunkMode="newline"para hatiin sa mga blank line (mga hangganan ng talata) bago ang length chunking. - Sinusuportahan ang file upload hanggang sa naka-configure na
channels.discord.mediaMaxMb(default 8 MB). - Mention-gated ang mga guild reply by default para maiwasan ang maingay na mga bot.
- Ang reply context ay ini-inject kapag ang isang mensahe ay tumutukoy sa isa pang mensahe (quoted content + ids).
- Ang native reply threading ay off by default; i-enable gamit ang
channels.discord.replyToModeat mga reply tag.
Retry policy¶
- Ang mga outbound Discord API call ay muling sinusubukan kapag may rate limit (429) gamit ang Discord
retry_afterkapag available, na may exponential backoff at jitter. 3. I-configure sa pamamagitan ngchannels.discord.retry. 4. Tingnan ang Retry policy.
Config¶
{
channels: {
discord: {
enabled: true,
token: "abc.123",
groupPolicy: "allowlist",
guilds: {
"*": {
channels: {
general: { allow: true },
},
},
},
mediaMaxMb: 8,
actions: {
reactions: true,
stickers: true,
emojiUploads: true,
stickerUploads: true,
polls: true,
permissions: true,
messages: true,
threads: true,
pins: true,
search: true,
memberInfo: true,
roleInfo: true,
roles: false,
channelInfo: true,
channels: true,
voiceStatus: true,
events: true,
moderation: false,
presence: false,
},
replyToMode: "off",
dm: {
enabled: true,
policy: "pairing", // pairing | allowlist | open | disabled
allowFrom: ["123456789012345678", "steipete"],
groupEnabled: false,
groupChannels: ["openclaw-dm"],
},
guilds: {
"*": { requireMention: true },
"123456789012345678": {
slug: "friends-of-openclaw",
requireMention: false,
reactionNotifications: "own",
users: ["987654321098765432", "steipete"],
channels: {
general: { allow: true },
help: {
allow: true,
requireMention: true,
users: ["987654321098765432"],
skills: ["search", "docs"],
systemPrompt: "Keep answers short.",
},
},
},
},
},
},
}
- Ang mga ack reaction ay kinokontrol sa buong sistema sa pamamagitan ng
messages.ackReaction+messages.ackReactionScope. 6. Gamitin angmessages.removeAckAfterReplyupang alisin ang ack reaction matapos sumagot ang bot.
dm.enabled: itakda angfalsepara balewalain ang lahat ng DM (defaulttrue).-
dm.policy: kontrol sa access ng DM (pairingang inirerekomenda). 8. Ang"open"ay nangangailangan ngdm.allowFrom=["*"].
-
dm.allowFrom: DM allowlist (mga user id o pangalan). 10. Ginagamit ngdm.policy="allowlist"at para sa pag-validate ngdm.policy="open". 11. Tumatanggap ang wizard ng mga username at nireresolba ang mga ito sa mga id kapag kayang maghanap ng bot ng mga miyembro.
dm.groupEnabled: i-enable ang mga group DM (defaultfalse).dm.groupChannels: opsyonal na allowlist para sa mga group DM channel id o slug.groupPolicy: kumokontrol sa paghawak ng mga guild channel (open|disabled|allowlist); angallowlistay nangangailangan ng mga channel allowlist.guilds: per-guild na mga patakaran na naka-key sa guild id (mas gusto) o slug.guilds."*": default na per-guild na mga setting na inilalapat kapag walang tahasang entry.-
guilds.<id>13. .slug: opsyonal na friendly slug na ginagamit para sa mga display name.
-
guilds.<id>15. .users: opsyonal na per-guild user allowlist (mga id o pangalan).
-
guilds.<id>17. .tools: opsyonal na per-guild tool policy overrides (allow/deny/alsoAllow) na ginagamit kapag nawawala ang channel override.
-
guilds.<id>19. .toolsBySender: opsyonal na per-sender tool policy overrides sa antas ng guild (naaangkop kapag nawawala ang channel override; sinusuportahan ang wildcard na"*").
-
guilds.<id>21. .channels.<channel>.allow: payagan/itanggi ang channel kapaggroupPolicy="allowlist".
-
guilds.<id>23. .channels.<channel>.requireMention: mention gating para sa channel.
-
guilds.<id>25. .channels.<channel>.tools: opsyonal na per-channel tool policy overrides (allow/deny/alsoAllow).
-
guilds.<id>27. .channels.<channel>28. .toolsBySender: opsyonal na per-sender tool policy overrides sa loob ng channel (sinusuportahan ang wildcard na"*").
-
guilds.<id>30. .channels.<channel>.users: opsyonal na per-channel user allowlist.
-
guilds.<id>.channels.<channel>.skills: skill filter (omit = lahat ng skills, empty = wala).
-
guilds.<id>34. .channels.<channel>35. .systemPrompt: karagdagang system prompt para sa channel. 36. Ang mga Discord channel topic ay ini-inject bilang hindi pinagkakatiwalaan na context (hindi system prompt).
-
guilds.<id>38. .channels.<channel>.enabled: itakda angfalsepara i-disable ang channel.
-
guilds.<id>40. .channels: mga patakaran ng channel (ang mga key ay mga channel slug o id).
-
guilds.<id>.requireMention: per-guild mention requirement (overridable per channel).
-
guilds.<id>44. .reactionNotifications: mode ng reaction system event (off,own,all,allowlist).
-
textChunkLimit: laki ng outbound text chunk (mga character). 46. Default: 2000.
chunkMode: anglength(default) ay naghahati lang kapag lumampas satextChunkLimit; angnewlineay naghahati sa mga blank line (mga hangganan ng talata) bago ang length chunking.-
maxLinesPerMessage: soft max na bilang ng linya kada mensahe. Default: 17.
mediaMaxMb: i-clamp ang inbound media na sine-save sa disk.historyLimit: bilang ng mga kamakailang guild message na isasama bilang context kapag nagre-reply sa isang mention (default 20; bumabagsak samessages.groupChat.historyLimit; ang0ay nagdi-disable).-
dmHistoryLimit: limit ng DM history sa bilang ng user turn. 50. Per-user overrides:dms["<user_id>"].historyLimit.
retry: retry policy para sa mga outbound na Discord API call (attempts, minDelayMs, maxDelayMs, jitter).pluralkit: resolbahin ang mga PluralKit proxied message para lumitaw ang mga system member bilang magkakaibang sender.actions: per-action tool gate; i-omit para payagan ang lahat (itakda angfalsepara i-disable).reactions(saklaw ang react + read reactions)stickers,emojiUploads,stickerUploads,polls,permissions,messages,threads,pins,searchmemberInfo,roleInfo,channelInfo,voiceStatus,eventschannels(gumawa/mag-edit/magbura ng mga channel + category + pahintulot)roles(role add/remove, defaultfalse)moderation(timeout/kick/ban, defaultfalse)presence(bot status/activity, defaultfalse)execApprovals: Discord-only exec approval DMs (button UI). Supportsenabled,approvers,agentFilter,sessionFilter.
Reaction notifications use guilds.<id>.reactionNotifications:
off: walang reaction event.own: mga reaction sa sariling mensahe ng bot (default).all: lahat ng reaction sa lahat ng mensahe.allowlist: reactions fromguilds.<id>.userson all messages (empty list disables).
Suporta sa PluralKit (PK)¶
Enable PK lookups so proxied messages resolve to the underlying system + member.
When enabled, OpenClaw uses the member identity for allowlists and labels the
sender as Member (PK:System) to avoid accidental Discord pings.
{
channels: {
discord: {
pluralkit: {
enabled: true,
token: "pk_live_...", // optional; required for private systems
},
},
},
}
Mga tala sa allowlist (PK-enabled):
- Use
pk:<memberId>indm.allowFrom,guilds.<id>.users, or per-channelusers. - Ang mga display name ng member ay tinatapatan din ayon sa pangalan/slug.
- Ang mga lookup ay gumagamit ng orihinal na Discord message ID (ang pre-proxy message), kaya nireresolba lang ito ng PK API sa loob ng 30-minutong window nito.
- Kapag pumalya ang mga PK lookup (hal., private system na walang token), ang mga proxied message ay itinuturing na mga mensahe ng bot at ibinabagsak maliban kung
channels.discord.allowBots=true.
Mga default ng tool action¶
| Action group | Default | Mga tala |
|---|---|---|
| reactions | enabled | React + list reactions + emojiList |
| stickers | enabled | Magpadala ng stickers |
| emojiUploads | enabled | Mag-upload ng emojis |
| stickerUploads | enabled | Mag-upload ng stickers |
| polls | enabled | Gumawa ng mga poll |
| permissions | enabled | Snapshot ng pahintulot sa channel |
| messages | enabled | Basa/padala/edit/bura |
| threads | enabled | Gumawa/maglista/magreply |
| pins | enabled | Pin/unpin/list |
| search | enabled | Paghahanap ng mensahe (preview) |
| memberInfo | enabled | Impormasyon ng member |
| roleInfo | enabled | Listahan ng role |
| channelInfo | enabled | Impormasyon + listahan ng channel |
| channels | pinagana | Pamamahala ng channel/category |
| voiceStatus | pinagana | Lookup ng voice state |
| events | pinagana | Maglista/gumawa ng scheduled event |
| mga papel | hindi pinagana | Role add/remove |
| moderasyon | hindi pinagana | Timeout/kick/ban |
| presensya | hindi pinagana | Bot status/activity (setPresence) |
replyToMode:off(default),first, orall. Applies only when the model includes a reply tag.
Reply tags¶
Para humiling ng threaded reply, maaaring magsama ang model ng isang tag sa output nito:
[[reply_to_current]]— mag-reply sa nag-trigger na Discord message.[[reply_to:<id>]]— reply to a specific message id from context/history. Current message ids are appended to prompts as[message_id: …]; history entries already include ids.
Ang behavior ay kinokontrol ng channels.discord.replyToMode:
off: balewalain ang mga tag.first: ang unang outbound chunk/attachment lang ang reply.all: bawat outbound chunk/attachment ay reply.
Mga tala sa allowlist matching:
- Ang
allowFrom/users/groupChannelsay tumatanggap ng mga id, pangalan, tag, o mga mention tulad ng<@id>. - Sinusuportahan ang mga prefix tulad ng
discord:/user:(users) atchannel:(group DM). - Gamitin ang
*para payagan ang anumang sender/channel. - When
guilds.<id>.channelsis present, channels not listed are denied by default. - When
guilds.<id>.channelsis omitted, all channels in the allowlisted guild are allowed. - Para payagan ang walang channel, itakda ang
channels.discord.groupPolicy: "disabled"(o panatilihin ang walang laman na allowlist). - Tumatanggap ang configure wizard ng mga pangalang
Guild/Channel(public + private) at nireresolba ang mga ito sa mga ID kapag posible. - Sa startup, nireresolba ng OpenClaw ang mga pangalan ng channel/user sa mga allowlist tungo sa mga ID (kapag makakapag-search ng mga member ang bot) at nilolog ang mapping; ang mga hindi maresolba ay pinananatili gaya ng itinype.
Mga tala sa native command:
- Ang mga nairehistrong command ay sumasalamin sa mga chat command ng OpenClaw.
- Iginagalang ng mga native command ang parehong mga allowlist gaya ng DMs/guild messages (
channels.discord.dm.allowFrom,channels.discord.guilds, mga patakaran per channel). - Maaaring makita pa rin ang mga slash command sa Discord UI ng mga user na hindi allowlisted; ipinapatupad ng OpenClaw ang mga allowlist sa execution at sumasagot ng “not authorized”.
Mga tool action¶
Maaaring tawagin ng agent ang discord na may mga aksyon tulad ng:
react/reactions(magdagdag o maglista ng mga reaction)sticker,poll,permissionsreadMessages,sendMessage,editMessage,deleteMessage- Ang mga payload ng read/search/pin tool ay may kasamang normalized na
timestampMs(UTC epoch ms) attimestampUtckasama ng raw Discordtimestamp. threadCreate,threadList,threadReplypinMessage,unpinMessage,listPinssearchMessages,memberInfo,roleInfo,roleAdd,roleRemove,emojiListchannelInfo,channelList,voiceStatus,eventList,eventCreatetimeout,kick,bansetPresence(aktibidad ng bot at online status)
Discord message ids are surfaced in the injected context ([discord message id: …] and history lines) so the agent can target them.
Emoji can be unicode (e.g., ✅) or custom emoji syntax like <:party_blob:1234567890>.
Kaligtasan at ops¶
- Ituring ang bot token na parang password; mas piliin ang
DISCORD_BOT_TOKENenv var sa mga supervised host o higpitan ang mga pahintulot ng config file. - Ibigay lamang sa bot ang mga pahintulot na kailangan nito (karaniwan Read/Send Messages).
- Kung ang bot ay na-stuck o na-rate limit, i-restart ang gateway (
openclaw gateway --force) matapos tiyaking walang ibang prosesong may-ari ng Discord session.