dfx 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitmodules +3 -0
- package/.prettierrc.json +4 -0
- package/DiscordREST/types.ts +5 -0
- package/DiscordWS/index.ts +0 -0
- package/WS/index.ts +122 -0
- package/discord-api-docs/.eslintrc.json +10 -0
- package/discord-api-docs/.gitattributes +11 -0
- package/discord-api-docs/.github/ISSUE_TEMPLATE/api-bug-report.yml +49 -0
- package/discord-api-docs/.github/ISSUE_TEMPLATE/config.yml +20 -0
- package/discord-api-docs/.github/ISSUE_TEMPLATE/developer-site-bug-report.yml +49 -0
- package/discord-api-docs/.github/ISSUE_TEMPLATE/message-components-bug-report.yml +49 -0
- package/discord-api-docs/.github/ISSUE_TEMPLATE/slash-command-bug-report.yml +49 -0
- package/discord-api-docs/.github/workflows/test.yaml +45 -0
- package/discord-api-docs/.prettierignore +1 -0
- package/discord-api-docs/.prettierrc.json +15 -0
- package/discord-api-docs/CODE_OF_CONDUCT.md +75 -0
- package/discord-api-docs/CONTRIBUTING.md +16 -0
- package/discord-api-docs/README.md +35 -0
- package/discord-api-docs/ci/checkLinks.ts +177 -0
- package/discord-api-docs/docs/Change_Log.md +474 -0
- package/discord-api-docs/docs/Intro.md +48 -0
- package/discord-api-docs/docs/Legal.md +154 -0
- package/discord-api-docs/docs/Policy.md +81 -0
- package/discord-api-docs/docs/Reference.md +476 -0
- package/discord-api-docs/docs/Store_Distribution_Agreement.md +179 -0
- package/discord-api-docs/docs/dispatch/Branches_and_Builds.md +654 -0
- package/discord-api-docs/docs/dispatch/Dispatch_and_You.md +17 -0
- package/discord-api-docs/docs/dispatch/Error_Codes.md +26 -0
- package/discord-api-docs/docs/dispatch/Field_Values.md +48 -0
- package/discord-api-docs/docs/dispatch/List_of_Commands.md +315 -0
- package/discord-api-docs/docs/game_and_server_management/Alpha_and_Beta_Testing.md +52 -0
- package/discord-api-docs/docs/game_and_server_management/How_to_Get_Your_Game_on_Discord.md +110 -0
- package/discord-api-docs/docs/game_and_server_management/Special_Channels.md +38 -0
- package/discord-api-docs/docs/game_sdk/Achievements.md +405 -0
- package/discord-api-docs/docs/game_sdk/Activities.md +561 -0
- package/discord-api-docs/docs/game_sdk/Applications.md +237 -0
- package/discord-api-docs/docs/game_sdk/Discord.md +443 -0
- package/discord-api-docs/docs/game_sdk/Discord_Voice.md +289 -0
- package/discord-api-docs/docs/game_sdk/Images.md +196 -0
- package/discord-api-docs/docs/game_sdk/Lobbies.md +1639 -0
- package/discord-api-docs/docs/game_sdk/Networking.md +377 -0
- package/discord-api-docs/docs/game_sdk/Overlay.md +195 -0
- package/discord-api-docs/docs/game_sdk/Relationships.md +234 -0
- package/discord-api-docs/docs/game_sdk/SDK_Starter_Guide.md +310 -0
- package/discord-api-docs/docs/game_sdk/Storage.md +312 -0
- package/discord-api-docs/docs/game_sdk/Store.md +555 -0
- package/discord-api-docs/docs/game_sdk/Users.md +178 -0
- package/discord-api-docs/docs/interactions/Application_Commands.md +1069 -0
- package/discord-api-docs/docs/interactions/Message_Components.md +454 -0
- package/discord-api-docs/docs/interactions/Receiving_and_Responding.md +372 -0
- package/discord-api-docs/docs/interactions/Slash_Commands.md +3 -0
- package/discord-api-docs/docs/resources/Application.md +82 -0
- package/discord-api-docs/docs/resources/Audit_Log.md +223 -0
- package/discord-api-docs/docs/resources/Channel.md +1267 -0
- package/discord-api-docs/docs/resources/Emoji.md +122 -0
- package/discord-api-docs/docs/resources/Guild.md +1157 -0
- package/discord-api-docs/docs/resources/Guild_Scheduled_Event.md +273 -0
- package/discord-api-docs/docs/resources/Guild_Template.md +148 -0
- package/discord-api-docs/docs/resources/Invite.md +150 -0
- package/discord-api-docs/docs/resources/Stage_Instance.md +106 -0
- package/discord-api-docs/docs/resources/Sticker.md +164 -0
- package/discord-api-docs/docs/resources/User.md +205 -0
- package/discord-api-docs/docs/resources/Voice.md +55 -0
- package/discord-api-docs/docs/resources/Webhook.md +281 -0
- package/discord-api-docs/docs/rich_presence/Best_Practices.md +88 -0
- package/discord-api-docs/docs/rich_presence/FAQ.md +45 -0
- package/discord-api-docs/docs/rich_presence/How_To.md +302 -0
- package/discord-api-docs/docs/rich_presence/Launch_Checklist.md +46 -0
- package/discord-api-docs/docs/topics/Certified_Devices.md +200 -0
- package/discord-api-docs/docs/topics/Community_Resources.md +98 -0
- package/discord-api-docs/docs/topics/Gateway.md +1600 -0
- package/discord-api-docs/docs/topics/OAuth2.md +427 -0
- package/discord-api-docs/docs/topics/Opcodes_and_Status_Codes.md +306 -0
- package/discord-api-docs/docs/topics/Permissions.md +229 -0
- package/discord-api-docs/docs/topics/RPC.md +1597 -0
- package/discord-api-docs/docs/topics/Rate_Limits.md +126 -0
- package/discord-api-docs/docs/topics/Teams.md +80 -0
- package/discord-api-docs/docs/topics/Threads.md +163 -0
- package/discord-api-docs/docs/topics/Voice_Connections.md +282 -0
- package/discord-api-docs/images/API_center.gif +0 -0
- package/discord-api-docs/images/ask-to-join.gif +0 -0
- package/discord-api-docs/images/available-published.png +0 -0
- package/discord-api-docs/images/button-styles.png +0 -0
- package/discord-api-docs/images/certified-device.png +0 -0
- package/discord-api-docs/images/command-with-groups-subcommands-parameters.png +0 -0
- package/discord-api-docs/images/command-with-groups-subcommands.png +0 -0
- package/discord-api-docs/images/command.png +0 -0
- package/discord-api-docs/images/cpp-files-sdk.png +0 -0
- package/discord-api-docs/images/create-store-channel.png +0 -0
- package/discord-api-docs/images/deferred-example.png +0 -0
- package/discord-api-docs/images/desktop-select.png +0 -0
- package/discord-api-docs/images/game-overlay-sdk-invite.gif +0 -0
- package/discord-api-docs/images/game-overlay-sdk-voice-settings.png +0 -0
- package/discord-api-docs/images/game-overlay-sdk-voice-widget.png +0 -0
- package/discord-api-docs/images/gift-code-creation.png +0 -0
- package/discord-api-docs/images/lib-linked-sdk.png +0 -0
- package/discord-api-docs/images/message-command.png +0 -0
- package/discord-api-docs/images/mobile-select.png +0 -0
- package/discord-api-docs/images/previous-new-server-background.png +0 -0
- package/discord-api-docs/images/rp-actionable.png +0 -0
- package/discord-api-docs/images/rp-all-fields.png +0 -0
- package/discord-api-docs/images/rp-bad-art.png +0 -0
- package/discord-api-docs/images/rp-good-art.png +0 -0
- package/discord-api-docs/images/rp-legend.png +0 -0
- package/discord-api-docs/images/rp-long-strings.png +0 -0
- package/discord-api-docs/images/rp-non-actionable.png +0 -0
- package/discord-api-docs/images/rp-not-all-fields.png +0 -0
- package/discord-api-docs/images/rp-profile-example-1.png +0 -0
- package/discord-api-docs/images/rp-profile-example-2.png +0 -0
- package/discord-api-docs/images/rp-short-strings.png +0 -0
- package/discord-api-docs/images/server-banner-example.png +0 -0
- package/discord-api-docs/images/server-banner-margin-top.png +0 -0
- package/discord-api-docs/images/sku-management.png +0 -0
- package/discord-api-docs/images/snowflake.png +0 -0
- package/discord-api-docs/images/snowflake_original_size.png +0 -0
- package/discord-api-docs/images/spectate.gif +0 -0
- package/discord-api-docs/images/team-2fa.png +0 -0
- package/discord-api-docs/images/team-make-app.png +0 -0
- package/discord-api-docs/images/team-page.png +0 -0
- package/discord-api-docs/images/transfer-app-to-team.png +0 -0
- package/discord-api-docs/images/user-command.png +0 -0
- package/discord-api-docs/package-lock.json +3186 -0
- package/discord-api-docs/package.json +38 -0
- package/discord-api-docs/tsconfig.eslint.json +4 -0
- package/discord-api-docs/tsconfig.json +19 -0
- package/mod.js +14 -0
- package/mod.ts +24 -0
- package/package.json +28 -0
- package/tsconfig.json +24 -0
- package/types.ts +5334 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Error Codes
|
|
2
|
+
|
|
3
|
+
> info
|
|
4
|
+
> Need help with Dispatch? Talk to us in the [Discord Developers Server](https://discord.gg/discord-developers)!
|
|
5
|
+
|
|
6
|
+
This page outlines some of the common errors codes that may be encountered when using Dispatch.
|
|
7
|
+
|
|
8
|
+
| Code | Name | Possible Solution |
|
|
9
|
+
| ---- | -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
10
|
+
| 2020 | Request Signing Failed | Check user entitlement |
|
|
11
|
+
| 2022 | Disk Space Low | Free up disk space |
|
|
12
|
+
| 2023 | Disk Permission Denied | Choose a new location, or change write permissions on desired location |
|
|
13
|
+
| 2024 | Uninstall Failed | Attempt to manually remove game files from disk |
|
|
14
|
+
| 2025 | Install Script Failed | Restart Discord, attempt to uninstall/reinstall the game, ensure script is correct |
|
|
15
|
+
| 2029 | Build Not Found | Completely close and re-open Discord |
|
|
16
|
+
| 2051 | Panic! | Escalate in the dev server in #dispatch |
|
|
17
|
+
| 2058 | Too Many API Retries | Escalate in the #dispatch channel of the [Discord Developers server](https://discord.gg/discord-developers) |
|
|
18
|
+
| 2059 | Failed to set Registry Key | User most likely denied Windows administrator permissions prompt. Try again, and accept the prompt |
|
|
19
|
+
| 2064 | Failed to Patch File | Attempted to patch the game while running: ensure the game process is entirely ended, try restarting Discord, try disabling antivirus |
|
|
20
|
+
| 2065 | No Manifests | Ensure that your manifests are properly selected in the Developer Portal for your SKU |
|
|
21
|
+
| 2069 | API Error | Intermittent API issues. Wait, escalate to #dispatch in the dev server if it persists |
|
|
22
|
+
| 2070 | Bad Response | Intermittent API issues. Wait, escalate to #dispatch in the dev server if it persists |
|
|
23
|
+
| 2073 | Not Entitled | Check that your manifests are properly configured in the Developer Portal. Have the user install the game from the Library, not the store page |
|
|
24
|
+
| 2076 | Two Clients Patching | User has multiple Discords open trying to patch the same game; only use one |
|
|
25
|
+
| 9001 | Unknown | Catch-all error code. Escalate to #dispatch in dev server with repro steps/as much info as possible |
|
|
26
|
+
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Predefined Field Values
|
|
2
|
+
|
|
3
|
+
> info
|
|
4
|
+
> Need help with Dispatch? Talk to us in the [Discord Developers Server](https://discord.gg/discord-developers)!
|
|
5
|
+
|
|
6
|
+
## Manifests
|
|
7
|
+
|
|
8
|
+
###### Platform Values
|
|
9
|
+
|
|
10
|
+
| Platform |
|
|
11
|
+
| -------- |
|
|
12
|
+
| macos |
|
|
13
|
+
| win32 |
|
|
14
|
+
| win64 |
|
|
15
|
+
| linux |
|
|
16
|
+
|
|
17
|
+
###### Redistributable values
|
|
18
|
+
|
|
19
|
+
| Redistributable |
|
|
20
|
+
| -------------------------- |
|
|
21
|
+
| directx_june_2010 |
|
|
22
|
+
| vcredist_2005_x86 |
|
|
23
|
+
| vcredist_2008_sp1_x86 |
|
|
24
|
+
| vcredist_2010_x64 |
|
|
25
|
+
| vcredist_2010_x86 |
|
|
26
|
+
| vcredist_2012_update_4_x64 |
|
|
27
|
+
| vcredist_2012_update_4_x86 |
|
|
28
|
+
| vcredist_2013_x64 |
|
|
29
|
+
| vcredist_2013_x86 |
|
|
30
|
+
| vcredist_2015_x64 |
|
|
31
|
+
| vcredist_2015_x86 |
|
|
32
|
+
| vcredist_2017_x64 |
|
|
33
|
+
| vcredist_2017_x86 |
|
|
34
|
+
| xnafx_40 |
|
|
35
|
+
|
|
36
|
+
###### Cloud Save Path Replacements
|
|
37
|
+
|
|
38
|
+
| value | Windows path | macOS path | linux path |
|
|
39
|
+
| ---------------- | ----------------------------------------------------------------------------------- | ----------------------------- | ------------------- |
|
|
40
|
+
| \${HOME} | %USERPROFILE% | ~/ | ~/ |
|
|
41
|
+
| \${DOCUMENTS} | %USERPROFILE%\Documents | ~/Documents | \$XDG_DOCUMENTS_DIR |
|
|
42
|
+
| \${DATA} | %USERPROFILE%\AppData\Roaming | ~/Library/Application Support | \$XDG_DATA_HOME |
|
|
43
|
+
| \${DATALOCAL} | %USERPROFILE%\AppData\Local | ~/Library/Application Support | \$XDG_DATA_HOME |
|
|
44
|
+
| \${DATALOCALLOW} | %USERPROFILE%\AppData\LocalLow | ~/Library/Application Support | \$XDG_DATA_HOME |
|
|
45
|
+
| \${SAVEDGAMES} | %USERPROFILE%\Saved Games | (not supported) | (not supported) |
|
|
46
|
+
| \${INSTALLDIR} | the game's install directory | (same) | (same) |
|
|
47
|
+
| \${USERID} | the user's id - use within a path to define saves for multiple users | (same) | (same) |
|
|
48
|
+
| \${BRANCHID} | the id of the game branch - use within a path to define saves for multiple branches | (same) | (same) |
|
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
# List of Commands
|
|
2
|
+
|
|
3
|
+
> info
|
|
4
|
+
> Need help with Dispatch? Talk to us in the [Discord Developers Server](https://discord.gg/discord-developers)!
|
|
5
|
+
|
|
6
|
+
Some people don't like to read full pages of documentation. Personally, I think those people are missing out. But we want to make sure that we cater to everyone, so here's a list of every Dispatch command and what it does. No frills, no jokes. Okay, maybe some jokes.
|
|
7
|
+
|
|
8
|
+
## login
|
|
9
|
+
|
|
10
|
+
Authorizes you to do these things!
|
|
11
|
+
|
|
12
|
+
###### Arguments
|
|
13
|
+
|
|
14
|
+
None
|
|
15
|
+
|
|
16
|
+
###### Example
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
-> dispatch login
|
|
20
|
+
[2018-09-17][15:26:15][INFO] Already logged in
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## branch create
|
|
24
|
+
|
|
25
|
+
Creates a new branch. If you have not yet made a master branch, this command will also automatically create a master branch.
|
|
26
|
+
|
|
27
|
+
###### Arguments
|
|
28
|
+
|
|
29
|
+
| name | values | description |
|
|
30
|
+
| -------------- | ------ | ----------------------------- |
|
|
31
|
+
| application_id | int | your application ID/client ID |
|
|
32
|
+
| branch_name | string | the name for your new branch |
|
|
33
|
+
|
|
34
|
+
###### Example
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
-> dispatch branch create 290926444748734465 "test"
|
|
38
|
+
Branch created with id 491362538965958686
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## branch delete
|
|
42
|
+
|
|
43
|
+
Deletes a branch.
|
|
44
|
+
|
|
45
|
+
###### Arguments
|
|
46
|
+
|
|
47
|
+
| name | values | description |
|
|
48
|
+
| -------------- | ------ | ------------------------------ |
|
|
49
|
+
| application_id | int | your application ID/client ID |
|
|
50
|
+
| branch_id | int | the id of the branch to delete |
|
|
51
|
+
|
|
52
|
+
###### Example
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
-> dispatch branch delete 290926444748734465 491362538965958686
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## branch list
|
|
59
|
+
|
|
60
|
+
Lists all branches for an application.
|
|
61
|
+
|
|
62
|
+
###### Arguments
|
|
63
|
+
|
|
64
|
+
| name | values | description |
|
|
65
|
+
| -------------- | ------ | ----------------------------- |
|
|
66
|
+
| application_id | int | your application ID/client ID |
|
|
67
|
+
|
|
68
|
+
###### Example
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
-> dispatch branch list 290926444748734465
|
|
72
|
+
| APPLICATION ID | BRANCH ID | NAME | LIVE_BUILD_ID | CREATED AT |
|
|
73
|
+
| -------------------- | -------------------- | -------------------- | -------------------- | ------------------------------ |
|
|
74
|
+
| 290926444748734465 | 471164707759996234 | master | | 2018-07-24 04:00:20.146588Z |
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## branch promote
|
|
78
|
+
|
|
79
|
+
Promotes the live build of one branch to another.
|
|
80
|
+
|
|
81
|
+
###### Arguments
|
|
82
|
+
|
|
83
|
+
| name | values | description |
|
|
84
|
+
| ---------------- | ------ | --------------------------------- |
|
|
85
|
+
| application_id | int | your application ID/client ID |
|
|
86
|
+
| branch_id | int | the id of the branch to promote |
|
|
87
|
+
| target_branch_id | int | the id of the branch to overwrite |
|
|
88
|
+
|
|
89
|
+
###### Example
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
-> dispatch branch promote 290926444748734465 471164707759996234 491362538965958686
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## build delete
|
|
96
|
+
|
|
97
|
+
Deletes a build from a branch.
|
|
98
|
+
|
|
99
|
+
###### Arguments
|
|
100
|
+
|
|
101
|
+
| name | values | description |
|
|
102
|
+
| -------------- | ------ | ----------------------------- |
|
|
103
|
+
| application_id | int | your application ID/client ID |
|
|
104
|
+
| build_id | int | the id of the build to delete |
|
|
105
|
+
|
|
106
|
+
###### Example
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
-> dispatch build delete 290926444748734465 491362538965958686
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## build drm-wrap
|
|
113
|
+
|
|
114
|
+
Wraps your executable in Discord's DRM. This only works for Windows executables. If you want to DRM wrap a unix executable, you'll need to instead use [ValidateOrExit](#DOCS_GAME_SDK_APPLICATIONS/validateorexit).
|
|
115
|
+
|
|
116
|
+
> danger
|
|
117
|
+
> This action is destructive and overwrites the executable. Make sure you've got a backup handy if needed!
|
|
118
|
+
|
|
119
|
+
###### Arguments
|
|
120
|
+
|
|
121
|
+
| name | values | description |
|
|
122
|
+
| ------------------ | --------- | ---------------------------------------------------------------------------------- |
|
|
123
|
+
| application_id | int | your application ID/client ID |
|
|
124
|
+
| path_to_executable | file path | the path to the executable, either explicit or relative to the dispatch executable |
|
|
125
|
+
|
|
126
|
+
###### Example
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
-> dispatch build drm-wrap 290926444748734465 C:\my-game\my-game.exe
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## build list
|
|
133
|
+
|
|
134
|
+
Lists the builds available on the given branch.
|
|
135
|
+
|
|
136
|
+
###### Arguments
|
|
137
|
+
|
|
138
|
+
| name | values | description |
|
|
139
|
+
| -------------- | ------ | ----------------------------- |
|
|
140
|
+
| application_id | int | your application ID/client ID |
|
|
141
|
+
| branch_id | int | the id of the branch to check |
|
|
142
|
+
|
|
143
|
+
###### Example
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
-> dispatch build list 290926444748734465 491362538965958686
|
|
147
|
+
| APPLICATION ID | BUILD ID | STATUS | CREATION BRANCH | CREATED AT |
|
|
148
|
+
| -------------------- | -------------------- | -------------------- | -------------------- | ------------------------------ |
|
|
149
|
+
| 290926444748734465 | 489230031839821824 | READY | master | 2018-09-12 00:25:29.045554Z |
|
|
150
|
+
| 290926444748734465 | 479469321974841354 | READY | master | 2018-08-16 01:59:54.481336Z |
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## build publish
|
|
154
|
+
|
|
155
|
+
Marks a given build as the live build for a given branch.
|
|
156
|
+
|
|
157
|
+
###### Arguments
|
|
158
|
+
|
|
159
|
+
| name | values | description |
|
|
160
|
+
| -------------- | ------ | ------------------------------ |
|
|
161
|
+
| application_id | int | your application ID/client ID |
|
|
162
|
+
| branch_id | int | the id of the branch to check |
|
|
163
|
+
| build_id | int | the id of the build to publish |
|
|
164
|
+
|
|
165
|
+
###### Example
|
|
166
|
+
|
|
167
|
+
```
|
|
168
|
+
-> dispatch build publish 290926444748734465 491362538965958686 489230031839821824
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## build push
|
|
172
|
+
|
|
173
|
+
Pushes a new build to the given branch. The JSON config file tells Dispatch how to organize the files and which to push relative to the `application_root`.
|
|
174
|
+
|
|
175
|
+
###### Arguments
|
|
176
|
+
|
|
177
|
+
| name | values | description |
|
|
178
|
+
| ---------------- | --------- | ----------------------------------------------------------------------------------------------------- |
|
|
179
|
+
| branch_id | int | the id of the branch to check |
|
|
180
|
+
| config_file | filename | the [JSON config file](#DOCS_DISPATCH_BRANCHES_AND_BUILDS/setting-up-our-first-build) for the build |
|
|
181
|
+
| application_root | file path | the directory that dispatch will treat as the local root for operations—`.` for the current directory |
|
|
182
|
+
| -c | flag | forces a re-chunk of files even if the edited file timestamp hasn't changed |
|
|
183
|
+
| -p | flag | automatically publishes the build if push is successful |
|
|
184
|
+
|
|
185
|
+
###### Example
|
|
186
|
+
|
|
187
|
+
```
|
|
188
|
+
-> dispatch build push 491362538965958686 config.json . -c -p
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
## build update
|
|
192
|
+
|
|
193
|
+
Downloads the build for the given application id and branch id to the given install path, for the given platform and locale.
|
|
194
|
+
|
|
195
|
+
`install_path` can be any file path on your machine to download the build to.
|
|
196
|
+
|
|
197
|
+
###### Arguments
|
|
198
|
+
|
|
199
|
+
| name | values | description |
|
|
200
|
+
| -------------- | ----------------------------------------------------------------- | ------------------------------ |
|
|
201
|
+
| application_id | int | your application ID/client ID |
|
|
202
|
+
| branch_id | int | the id of the branch to check |
|
|
203
|
+
| install_path | file path | the path to install to |
|
|
204
|
+
| --platform | [platform](#DOCS_DISPATCH_FIELD_VALUES/manifests-platform-values) | the build platform to download |
|
|
205
|
+
| --locale | [locale](#DOCS_REFERENCE/locales) | the build locale to download |
|
|
206
|
+
|
|
207
|
+
###### Example
|
|
208
|
+
|
|
209
|
+
```
|
|
210
|
+
-> dispatch build update 290926444748734465 491362538965958686 C:\my-game --platform win64 --locale en-US
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
## build corrupt
|
|
214
|
+
|
|
215
|
+
Mark a build as corrupted.
|
|
216
|
+
|
|
217
|
+
###### Arguments
|
|
218
|
+
|
|
219
|
+
| name | values | description |
|
|
220
|
+
| -------------- | ------ | ------------------------------ |
|
|
221
|
+
| application_id | int | your application ID/client ID |
|
|
222
|
+
| build_id | int | the id of the build to corrupt |
|
|
223
|
+
|
|
224
|
+
###### Example
|
|
225
|
+
|
|
226
|
+
```
|
|
227
|
+
-> dispatch build corrupt 290926444748734465 491362538965958686
|
|
228
|
+
Corrupted build "491362538965958686"
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
## build preview-files
|
|
232
|
+
|
|
233
|
+
Displays a preview of the install paths that a build will put files in, for a given platform/locale. Additionally, will show which files are considered user data.
|
|
234
|
+
|
|
235
|
+
###### Arguments
|
|
236
|
+
|
|
237
|
+
| name | values | description |
|
|
238
|
+
| ---------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
|
|
239
|
+
| config_file | filename | the [JSON config file](#DOCS_DISPATCH_BRANCHES_AND_BUILDS/setting-up-our-first-build) for the build |
|
|
240
|
+
| application_root | file path | the directory that dispatch will treat as the local root for operations—`.` for the current directory |
|
|
241
|
+
| --locale | [locale](#DOCS_REFERENCE/locales) | the build locale to preview |
|
|
242
|
+
| --platform | [platform](#DOCS_DISPATCH_FIELD_VALUES/manifests-platform-values) | the build platform to preview |
|
|
243
|
+
|
|
244
|
+
###### Example
|
|
245
|
+
|
|
246
|
+
```
|
|
247
|
+
-> build preview-files config.json . --locale en-US --platform win64
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
## build repair
|
|
251
|
+
|
|
252
|
+
Repairs an application build.
|
|
253
|
+
|
|
254
|
+
###### Arguments
|
|
255
|
+
|
|
256
|
+
| name | values | description |
|
|
257
|
+
| ---------------- | ---------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
|
|
258
|
+
| application_id | int | your application ID/client ID |
|
|
259
|
+
| branch_id | int | the id of the branch to check |
|
|
260
|
+
| build_id | int | the id of the build to repair |
|
|
261
|
+
| application_root | file path | the directory that dispatch will treat as the local root for operations—`.` for the current directory |
|
|
262
|
+
| --platform | [platform](#DOCS_DISPATCH_FIELD_VALUES/manifests-platform-values) | the build platform to repair |
|
|
263
|
+
|
|
264
|
+
###### Example
|
|
265
|
+
|
|
266
|
+
```
|
|
267
|
+
-> build repair 290926444748734465 491362538965958686 489230031839821824 . --platform win64
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
## build run-launch-setup
|
|
271
|
+
|
|
272
|
+
Runs the launch setup for an application.
|
|
273
|
+
|
|
274
|
+
###### Arguments
|
|
275
|
+
|
|
276
|
+
| name | values | description |
|
|
277
|
+
| ---------------- | ---------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
|
|
278
|
+
| application_root | file path | the directory that dispatch will treat as the local root for operations—`.` for the current directory |
|
|
279
|
+
| --platform | [platform](#DOCS_DISPATCH_FIELD_VALUES/manifests-platform-values) | the build platform to do the launch setup |
|
|
280
|
+
|
|
281
|
+
###### Example
|
|
282
|
+
|
|
283
|
+
```
|
|
284
|
+
-> build run-launch-setup . --platform win64
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
## completions generate
|
|
288
|
+
|
|
289
|
+
Generations shell command completions; run `dispatch completions --help` for more info, as it varies by shell
|
|
290
|
+
|
|
291
|
+
###### Example
|
|
292
|
+
|
|
293
|
+
```
|
|
294
|
+
-> dispatch completions generate --help
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
## manifest-label list
|
|
298
|
+
|
|
299
|
+
Lists created manifest labels. These labels are created from the JSON config file when pushing builds.
|
|
300
|
+
|
|
301
|
+
###### Arguments
|
|
302
|
+
|
|
303
|
+
| name | values | description |
|
|
304
|
+
| -------------- | ------ | ----------------------------- |
|
|
305
|
+
| application_id | int | your application ID/client ID |
|
|
306
|
+
|
|
307
|
+
###### Example
|
|
308
|
+
|
|
309
|
+
```
|
|
310
|
+
-> dispatch manifest-label list 290926444748734465
|
|
311
|
+
| APPLICATION ID | ID | NAME |
|
|
312
|
+
| -------------------- | -------------------- | -------------------- |
|
|
313
|
+
| 290926444748734465 | 471165178650999608 | my-game |
|
|
314
|
+
| 290926444748734465 | 471169990397324288 | my-game-dlc |
|
|
315
|
+
```
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Alpha and Beta Testing
|
|
2
|
+
|
|
3
|
+
Alphas and betas are a critical part of a game's development lifecycle. We understand the value of getting feedback early and often and involving your community early on. That's why we've built some awesome alpha and beta testing functionality for you!
|
|
4
|
+
|
|
5
|
+
## Beta Entitlements
|
|
6
|
+
|
|
7
|
+
As you develop your game, you'll constantly be making improvements. You want real-time feedback from players, and there's no better place for that than Discord. In the past, players would need to dig through menus to find out how to unlock test branches, as well as remembering secret passwords _and_ typing them in correctly. Was that an `I` or an `l`? `O` or `0`?
|
|
8
|
+
|
|
9
|
+
One of the cool features of [Store Channels](#DOCS_GAME_AND_SERVER_MANAGEMENT_SPECIAL_CHANNELS/) is their ability to grant a Beta Entitlement for your game. That means that while you keep your master branch safe and sound, users can test on `beta-branch-please-ignore-bugs` in an isolated test environment.
|
|
10
|
+
|
|
11
|
+
> info
|
|
12
|
+
> To learn more about creating branches, start with [Dispatch and You](#DOCS_DISPATCH_DISPATCH_AND_YOU/).
|
|
13
|
+
|
|
14
|
+
When you create a store channel in your server, you'll be prompted with a choice to make it a Beta channel. That will allow you to grant users entitlement to the non-master branch of your game when visiting the store page. When your beta period is over and your game is ready for release and purchase, you can brick/delete these branches if you choose, and prompt users to get the full game by putting up a new store channel that's not Beta.
|
|
15
|
+
|
|
16
|
+
> warn
|
|
17
|
+
> Beta branches cannot be sold. If a user has access to a store channel for a beta entitlement, they will be able to claim it for free.
|
|
18
|
+
|
|
19
|
+
## Role-Based Entitlement
|
|
20
|
+
|
|
21
|
+
So, you've started getting a bunch of fans into your server. Hundreds, thousands, millions! Uh, if you hit millions, let us know. Within your hordes of adoring fans lies your Trusted Testing Group (tm), the best of the best when it comes to feedback. Maybe you want to give them access to a special `insider-only-private-beta` branch of your game. You can, with role-based entitlement!
|
|
22
|
+
|
|
23
|
+
Store channels in Discord are just like any other channel in that they can have a set of permissions applied to them. What is special about them is that if they are set as a Beta branch, entitlement to that branch is tied to having permissions to view the channel. So, all your testers with a `Beta Tester` role, for example, will be able to get entitlement to the `insider-only-private-beta` branch. And, if they are later removed from that role, entitlement from that branch will be removed.
|
|
24
|
+
|
|
25
|
+
A scenario might look like this: you create a Beta store channel. Only users with role `Awesome Tester` can view it. Player A is an `Awesome Tester`. They can view the channel and get entitlement to the beta branch. Player A becomes inactive; you remove them from the `Awesome Tester` role. Player A loses entitlement to `insider-only-private-beta`
|
|
26
|
+
|
|
27
|
+
> danger
|
|
28
|
+
> Role-based entitlement will only work if you use Discord's DRM, which is a simple entitlement check. You can do that with the Dispatch command [`dispatch build drm-wrap`](#DOCS_DISPATCH_LIST_OF_COMMANDS/build-drmwrap) or by calling [`ApplicationManager.ValidateOrExit()`](#DOCS_GAME_SDK_APPLICATIONS/validateorexit). Otherwise, Discord will not check the user's entitlement when the game starts.
|
|
29
|
+
|
|
30
|
+
Role-based entitlements help keep your beta community active and interactive, while also providing a way to reward your biggest fans with secret access to special things.
|
|
31
|
+
|
|
32
|
+
## Gift Codes
|
|
33
|
+
|
|
34
|
+
> warn
|
|
35
|
+
> Note that only Approved Games can generate gift codes.
|
|
36
|
+
|
|
37
|
+
If you want to push out access to your game at scale, rather than inviting people into your server and giving them a role, you can create gift codes in the Developer Portal! Gift codes are like game keys on other platforms that you might be familiar with, with an added bonus: the ability to specify the entitlement time window. That means that you can create codes for your game to give to everyone, but they won't be able to play until the `VALID FROM` date. Similarly, you can set a `VALID UNTIL` date on all your gift codes if you want the entitlements to expire after a certain time, removing access from players.
|
|
38
|
+
|
|
39
|
+
Note that the `VALID UNTIL` date will not remove the game from the user's library, but they will no longer be able to launch it.
|
|
40
|
+
|
|
41
|
+
Up to 25,000 gift codes can be created at a time. When you go to create gift codes, you'll notice there are a few fields for you to fill out. Here's what they mean:
|
|
42
|
+
|
|
43
|
+

|
|
44
|
+
|
|
45
|
+
- SKU: the SKU that you want the user to get
|
|
46
|
+
- Branch: the branch of your game you want the user to get
|
|
47
|
+
- Valid From: the start date at which the entitlement is valid
|
|
48
|
+
- Valid Until: the date at which the entitlement is no longer valid
|
|
49
|
+
- Amount: the number of codes you want to create (up to 25,000 per batch)
|
|
50
|
+
- Description: a short description of why you made the codes, so you remember!
|
|
51
|
+
|
|
52
|
+
Once you've made your codes, you can download the `.csv` that has them all in it, and distribute them however you'd like!
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# How to Get Your Game on Discord
|
|
2
|
+
|
|
3
|
+
> danger
|
|
4
|
+
> Selling SKUs on Discord is now deprecated, and will be discontinued on March 1, 2022. [Read here for more info.](https://support-dev.discord.com/hc/en-us/articles/4414590563479)
|
|
5
|
+
|
|
6
|
+
Welcome, adventurer! If you're here, you want to find out how to get your game up and running on Discord and learn about our awesome Server Commerce features. You've come to the right place, so let's get started.
|
|
7
|
+
|
|
8
|
+
## Get the Band Back Together
|
|
9
|
+
|
|
10
|
+
First things first: it's time to make a Team. Your dream team of artists, writers, engineers, designers, all working on the beautiful creation of Your Game. Build your dream team with these steps:
|
|
11
|
+
|
|
12
|
+
1. Create a new Team at [https://discord.com/developers/teams](https://discord.com/developers/teams)
|
|
13
|
+
2. Invite people!
|
|
14
|
+
|
|
15
|
+
You've now passed the first test with flying colors!
|
|
16
|
+
|
|
17
|
+
## Apps and Games
|
|
18
|
+
|
|
19
|
+
Throughout this process, we'll reference your "app". An app, or application, is an entity on Discord that represents something you've built: a bot, an OAuth2 app, or in this case your game. We need to make an app for your game:
|
|
20
|
+
|
|
21
|
+
1. Create a new app at [https://discord.com/developers/applications](https://discord.com/developers/applications)
|
|
22
|
+
2. When doing so, make sure you select your team from the `Team` dropdown
|
|
23
|
+
|
|
24
|
+
> info
|
|
25
|
+
> All apps on Discord for games must be owned by a team. If you accidentally made a personal app, you can transfer it to a team at any time by hitting the `Transfer App to Team` button within the app.
|
|
26
|
+
|
|
27
|
+
You're now looking at a blank slate of creativity. Give your game a pretty icon and exciting description here. Next, click on `Server Commerce Checklist` in the sidebar, and we'll get to the good stuff.
|
|
28
|
+
|
|
29
|
+
## Join the Club
|
|
30
|
+
|
|
31
|
+
From here on forward, we'll be managing settings that tie directly to your game and its presence on Discord. We want to make sure that we're laser-focused on making the best experience possible for game developers, so we ask that you pay our Application License Fee in order to get access to our store tools, which let you:
|
|
32
|
+
|
|
33
|
+
- make store pages for your game directly in your server
|
|
34
|
+
- run alpha and beta tests for your game, using the magic of channel permissions to create role-based page access
|
|
35
|
+
- apply for approval, letting you start making money (if you want to)
|
|
36
|
+
|
|
37
|
+
Now that we've weeded out the trolls, let's get your server up and running with some fancy new features!
|
|
38
|
+
|
|
39
|
+
## Your Server - Your Kingdom
|
|
40
|
+
|
|
41
|
+
You're now looking at a checklist with a bunch of items and a prompt to select a server. Your Application License Fee entitles you to the following features in your server:
|
|
42
|
+
|
|
43
|
+
- store channel creation
|
|
44
|
+
- alpha and beta testing
|
|
45
|
+
|
|
46
|
+
Select the server that you wish to grant these features, confirm to be double-extra-super-sure, and poof! You can now create channels for both news and store pages in your server. To learn more about store page channels, read [Store Channels](#DOCS_GAME_AND_SERVER_MANAGEMENT_SPECIAL_CHANNELS/store-channels). To learn more about Announcement Channels, read [Announcement Channels](#DOCS_GAME_AND_SERVER_MANAGEMENT_SPECIAL_CHANNELS/announcement-channels). To learn about alpha and beta testing, read [Alpha and Beta Testing](#DOCS_GAME_AND_SERVER_MANAGEMENT_ALPHA_AND_BETA_TESTING/)
|
|
47
|
+
(you get the gist).
|
|
48
|
+
|
|
49
|
+
Now, what do you do next? You start building! Build your community, make your game, invite testers into your server to get hype! Now is a great time to get familiar with all the tools at your disposal like:
|
|
50
|
+
|
|
51
|
+
- [Discord's Developer Portal](https://discord.com/developers/applications), your one-stop-game-management-shop
|
|
52
|
+
- [The Discord Game SDK](#DOCS_GAME_SDK_SDK_STARTER_GUIDE/), a spellbook full of useful game dev incantations including Discord's crystal-clear voice chat
|
|
53
|
+
- [Dispatch](#DOCS_DISPATCH_DISPATCH_AND_YOU/), Discord's game patcher and downloader that's so fast, you'll swear it's magic
|
|
54
|
+
|
|
55
|
+
To guide you through this process to success, you can follow that handy checklist. It'll tell you the steps you need to complete, show you where and how to do them, and give you a blissful sense of satisfaction as the green check marks pile up.
|
|
56
|
+
|
|
57
|
+
The next and final step in your on-boarding journey is getting approved. Once approved, you'll be able to start making money (or karma), and you'll unlock a ton of cool server customization features to make your kingdom cozy for your players.
|
|
58
|
+
|
|
59
|
+
## Testing Your Game
|
|
60
|
+
|
|
61
|
+
As you go through the process of building your game and getting it ready for release on Discord, you'll want to be able to test it! One way to do so is to utilize Beta Store channels, which you can learn more about here: [Alpha and Beta Testing](#DOCS_GAME_AND_SERVER_MANAGEMENT_ALPHA_AND_BETA_TESTING/).
|
|
62
|
+
|
|
63
|
+
If you are on the Team that owns the game, you can also use another special system for testing that we call Application Test Mode. Test Mode allows you to purchase unavailable, unlisted SKUs for free, making it helpful for testing IAP flows. It also automatically makes every branch of your game show up in your Library when Test Mode is turned on. You can read more here: [Application Test Mode](#DOCS_GAME_SDK_STORE/application-test-mode).
|
|
64
|
+
|
|
65
|
+
## Getting Approved
|
|
66
|
+
|
|
67
|
+
Your game looks wonderful. You've got a beautiful store page, and awesome game, and an eager community. It's time to get approved and plant your flag. Note that if your game is in an alpha or beta state, or you're interesting in Early Access, you are welcome to apply for approval whenever you are ready. Your game doesn't need to be the finished 1.0 version; give us something you'd feel comfortable giving to your players.
|
|
68
|
+
|
|
69
|
+
Once you've completed all the items on your checklist, the `Get Approved` button will unlock. Once you submit for approval, Discord will take a look at the following things:
|
|
70
|
+
|
|
71
|
+
- your game, to ensure that it runs properly and follows our [Game Submission Guidelines](https://support-dev.discord.com/hc/en-us/articles/360025028592-Game-Submission-Guidelines)
|
|
72
|
+
- your store pages, to provide helpful guidance in putting your best foot forward
|
|
73
|
+
- your server, to make sure you're abiding by our [Community Guidelines](https://discord.com/guidelines)
|
|
74
|
+
|
|
75
|
+
If we need to see some changes, you'll receive an email directing you on your steps to success. Otherwise, you'll get **APPROVED!!!!!!!!!!** What's that mean? It means you can start charging for your game and making money! Don't spend it all in one place. Or do. Treat yourself. Or maybe you want your game to be **free!** Live your best life. We support you!
|
|
76
|
+
|
|
77
|
+
## Available vs Store Page Published
|
|
78
|
+
|
|
79
|
+
Now that you've been approved, there's a couple new toggles to flip in the Developer Portal: `Available`, and `Store Page Published`.
|
|
80
|
+
|
|
81
|
+

|
|
82
|
+
|
|
83
|
+
`Available` means that your game is now available for normal purchase/distribution; your non-beta store channel will no longer say `Coming soon!` when this is toggled, and users will be able to get your game.
|
|
84
|
+
|
|
85
|
+
> danger
|
|
86
|
+
> Toggling your SKU as `Available` will make it available for purchase; make sure your price is set properly!
|
|
87
|
+
|
|
88
|
+
If you no longer wish to make your SKU available for sale, you can again mark it unavailable. This will not remove it from users' libraries; it just stops new users from purchasing it.
|
|
89
|
+
|
|
90
|
+
`Store Page Published` will do...well, what it says! Though your store page is always visible from within the channel in your server, there are other things that require you to explicitly mark your page viewable from outside that context, like gift code embeds for your game, or from in-game store fronts!
|
|
91
|
+
|
|
92
|
+
TL;DR - When you're ready to distribute your game after getting approved, turn those two toggles on.
|
|
93
|
+
|
|
94
|
+
## Getting Verified and Discovered
|
|
95
|
+
|
|
96
|
+
Apart from being approved, you can also get your server Verified. Getting verified means your server will get that oh-so-exclusive checkmark, to let people know you're the legit home for your game.
|
|
97
|
+
|
|
98
|
+
To get verified, head on over to our [Verification page](https://discord.com/verification) and fill out the form at the bottom.
|
|
99
|
+
|
|
100
|
+
## Make Good Decisions
|
|
101
|
+
|
|
102
|
+
Your game is off and running, and we couldn't be more proud. As it flourishes and your playerbase grows, keep an eye on your analytics, which you can find within your app. They'll give you important insight like revenue data, acquisitions funnels, and player retention to help you make informed decision about your game's lifecycle. Check out our [Analytics Help Article](https://support-dev.discord.com/hc/en-us/articles/360024852152) to learn more about how to read all those charts, and how to do things like [Conversion Tracking with UTM Links](https://support-dev.discord.com/hc/en-us/articles/360025153051-How-to-track-conversions-with-UTM-links).
|
|
103
|
+
|
|
104
|
+
## What Comes Next
|
|
105
|
+
|
|
106
|
+
Your game's success is in your own hands now. Continue to build your community and keep them informed with updates. Consider integrating more deeply with Discord to deliver cool features to your players; we recommend [Rich Presence Game Invites](#DOCS_GAME_SDK_ACTIVITIES/). They feel like magic. Drop new content by creating DLC and IAP for your game, run fun tournaments based on [HypeSquad Membership](#DOCS_GAME_SDK_USERS/currentuserhasflag), give something cool to [Discord Nitro Subscribers](#DOCS_GAME_SDK_USERS/getcurrentuserpremiumtype) because they're awesome. Or maybe, just maybe, think about your next upcoming game?
|
|
107
|
+
|
|
108
|
+
We'd love to help you with that one, too.
|
|
109
|
+
|
|
110
|
+
-- Discord <3
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Store Channels
|
|
2
|
+
|
|
3
|
+
> danger
|
|
4
|
+
> Selling SKUs on Discord is now deprecated, and will be discontinued on March 1, 2022. [Read here for more info.](https://support-dev.discord.com/hc/en-us/articles/4414590563479)
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
One of the new flagship features of Verified Servers and Game Servers are the ability to host your store pages directly in your server. We know that community is everything for games, and that your server is already the place where your community lives. Rather than the friction and impersonality of traditional storefronts, you can let your fans find your game in the cozy comfort of their home (your server!).
|
|
8
|
+
|
|
9
|
+
In order to create a store channel for your game, you'll need to make sure you've followed [the Walkthrough](#DOCS_GAME_AND_SERVER_MANAGEMENT_HOW_TO_GET_YOUR_GAME_ON_DISCORD/) up to `Getting Approved`. If you've done that, you'll see in your server that you can create a new channel type: `Store`.
|
|
10
|
+
|
|
11
|
+

|
|
12
|
+
|
|
13
|
+
Along with entering a name for your new channel, you'll be prompted to select an application. This should be the app you created when you started; it's the one linked to your server. After selecting your app, you'll be prompted to select a SKU. What's a SKU? A SKU is simply a thing that a user can buy. This is most likely your game (a SKU of type `Game`), but could also be `IAP`, `DLC`, or a `Bundle`.
|
|
14
|
+
|
|
15
|
+
You can create SKUs to put up for sale by going to your app and selecting `SKU Management`.
|
|
16
|
+
|
|
17
|
+

|
|
18
|
+
|
|
19
|
+
Once you select your SKU and create your channel...it's there! You now have a store channel in your server! If you want, you can set permissions on this channel like any channel in a server to restrict who can see it. Learn more about that by reading [Alpha and Beta Testing](#DOCS_GAME_AND_SERVER_MANAGEMENT_ALPHA_AND_BETA_TESTING/).
|
|
20
|
+
|
|
21
|
+
## Lurker Mode
|
|
22
|
+
|
|
23
|
+
Store channels also have a special property that we call `lurkability`. "Lurker Mode" is a feature that we've been experimenting with throughout Discord; it allows users to read public channels in a server without _actually_ joining the server. It also allows users to look at these channels without being logged in to Discord.
|
|
24
|
+
|
|
25
|
+
> info
|
|
26
|
+
> Users viewing channels in Lurker Mode will not be able to send messages in those channels. They'll be prompted to log in and join the server if they want to chat.
|
|
27
|
+
|
|
28
|
+
Lurker Mode is automatically enabled for store channels in your server. When someone accepts a server invite that links to a store channel, they'll be viewing in "Lurker Mode".
|
|
29
|
+
|
|
30
|
+
We know that your server and community are at the heart of your game's success on Discord. Having Discord users see your store pages in the context of your server will help drive more members to your community and help you grow that awesome fanbase for your game.
|
|
31
|
+
|
|
32
|
+
# Announcement Channels
|
|
33
|
+
|
|
34
|
+
As part of our ongoing effort to help you build your game community, all [Community servers](https://dis.gd/communityservers) have the ability to create Announcement Channels!
|
|
35
|
+
|
|
36
|
+
Unlike a regular text channel, Announcement Channels comes with a “Follow” button that allows your superfans to hook and connect your channel into their own personal servers. Now, select messages in your Announcement Channels can be "published" in your players' friend servers as regular messages, allowing them to get the latest updates of their favorite game in the places they hang out most. Because these posts appear and function as messages, it means that everyone in your superfan’s server can find them, discuss them live, and receive them as mobile notifications, if they have this setting enabled.
|
|
37
|
+
|
|
38
|
+
[Learn more here](https://support.discord.com/hc/en-us/articles/360032008192).
|