Skip to content

Document Server Templates #1712

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Oct 9, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/resources/Guild.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ Guilds in Discord represent an isolated collection of users and channels, and ar
| id | snowflake | guild id |
| name | string | guild name (2-100 characters, excluding trailing and leading whitespace) |
| icon | ?string | [icon hash](#DOCS_REFERENCE/image-formatting) |
| icon_hash? | ?string | [icon hash](#DOCS_REFERENCE/image-formatting), returned when in the template object |
| splash | ?string | [splash hash](#DOCS_REFERENCE/image-formatting) |
| discovery_splash | ?string | [discovery splash hash](#DOCS_REFERENCE/image-formatting); only present for guilds with the "DISCOVERABLE" feature |
| owner? | boolean | true if [the user](#DOCS_RESOURCES_USER/get-current-user-guilds) is the owner of the guild |
Expand Down
114 changes: 114 additions & 0 deletions docs/resources/Template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
# Template Resource

### Template Object

Represents a code that when used, creates a guild based on a snapshot of an existing one.

###### Template Structure

| Field | Type | Description |
|-------------------------|------------------------------------------------------------------|--------------------------------------------------------|
| code | string | the template code (unique ID) |
| name | string | template name |
| description | ?string | the description for the template |
| usage_count | integer | number of times this template has been used |
| creator_id | snowflake | the ID of the user who created the template |
| creator | [user](#DOCS_RESOURCES_USER/user-object) object | the user who created the template |
| created_at | ISO8601 timestamp | when this template was created |
| updated_at | ISO8601 timestamp | when this template was last synced to the source guild |
| source_guild_id | snowflake | the ID of the guild this template is based on |
| serialized_source_guild | partial [guild](#DOCS_RESOURCES_GUILD/guild-object) object | the guild snapshot this template contains |
| is_dirty | ?boolean | whether the template has unsynced changes |

###### Example Template Object

```json
{
"code": "hgM48av5Q69A",
"name": "Friends & Family",
"description": "",
"usage_count": 49605,
"creator_id": "132837293881950208",
"creator": {
"id": "132837293881950208",
"username": "hoges",
"avatar": "79b0d9f8c340f2d43e1f78b09f175b62",
"discriminator": "0001",
"public_flags": 129
},
"created_at": "2020-04-02T21:10:38+00:00",
"updated_at": "2020-05-01T17:57:38+00:00",
"source_guild_id": "678070694164299796",
"serialized_source_guild": {
"name": "Friends & Family",
"description": null,
"region": "us-west",
"verification_level": 0,
"default_message_notifications": 0,
"explicit_content_filter": 0,
"preferred_locale": "en-US",
"afk_timeout": 300,
"roles": [
{
"id": 0,
"name": "@everyone",
"permissions": 104324689,
"color": 0,
"hoist": false,
"mentionable": false
}
],
"channels": [
{
"name": "Text Channels",
"position": 1,
"topic": null,
"bitrate": 64000,
"user_limit": 0,
"nsfw": false,
"rate_limit_per_user": 0,
"parent_id": null,
"permission_overwrites": [],
"id": 1,
"type": 4
},
{
"name": "general",
"position": 1,
"topic": null,
"bitrate": 64000,
"user_limit": 0,
"nsfw": false,
"rate_limit_per_user": 0,
"parent_id": 1,
"permission_overwrites": [],
"id": 2,
"type": 0
}
],
"afk_channel_id": null,
"system_channel_id": 2,
"system_channel_flags": 0,
"icon_hash": null
},
"is_dirty": null
}
```

## Get Template % GET /guilds/templates/{template.code#DOCS_RESOURCES_TEMPLATE/template-object}

Returns a [template](#DOCS_RESOURCES_TEMPLATE/template-object) object for the given code.

## Create Guild from Template % POST /guilds/templates/{template.code#DOCS_RESOURCES_TEMPLATE/template-object}

Create a new guild based on a template. Returns a [guild](#DOCS_RESOURCES_GUILD/guild-object) object on success. Fires a [Guild Create](#DOCS_TOPICS_GATEWAY/guild-create) Gateway event.

> warn
> This endpoint can be used only by bots in less than 10 guilds.

###### JSON Params

| Field | Type | Description |
|-------|------------------------------------------|-----------------------------------------|
| name | string | name of the guild (2-100 characters) |
| icon? | [image data](#DOCS_REFERENCE/image-data) | base64 128x128 image for the guild icon |
1 change: 1 addition & 0 deletions docs/topics/Opcodes_and_Status_Codes.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ Along with the HTTP error code, our API can also return more detailed error code
| 10031 | Unknown lobby |
| 10032 | Unknown branch |
| 10036 | Unknown redistributable |
| 10057 | Unknown guild template |
| 20001 | Bots cannot use this endpoint |
| 20002 | Only bots can use this endpoint |
| 30001 | Maximum number of guilds reached (100) |
Expand Down