Protocol Documentation

Table of Contents

Top

discord_api.proto

Discord API service

This file contains all messages and services currently supported by Discord Proxy

Channel

Source: https://discord.com/developers/docs/resources/channel#channel-object

Field

Type

Label

Description

id

uint64

type

Channel.Type

guild_id

uint64

position

int32

name

string

tbd //

topic

string

nsfw

bool

last_message_id

uint64

parent_id

uint64

Embed

Source: https://discord.com/developers/docs/resources/channel#embed-object-embed-structure

Field

Type

Label

Description

title

string

type

string

description

string

url

string

timestamp

string

color

int32

footer

Embed.Footer

image

Embed.Image

thumbnail

Embed.Thumbnail

video

Embed.Video

provider

Embed.Provider

author

Embed.Author

fields

Embed.Field

repeated

Embed.Author

Field

Type

Label

Description

name

string

url

string

icon_url

string

proxy_icon_url

string

Embed.Field

Field

Type

Label

Description

name

string

value

string

inline

bool

Embed.Image

Field

Type

Label

Description

url

string

proxy_icon_url

string

height

int32

width

int32

Embed.Provider

Field

Type

Label

Description

name

string

url

string

Embed.Thumbnail

Field

Type

Label

Description

url

string

proxy_url

string

height

int32

width

int32

Embed.Video

Field

Type

Label

Description

url

string

proxy_icon_url

string

height

int32

width

int32

Emoji

Source: https://discord.com/developers/docs/resources/emoji#emoji-object

Field

Type

Label

Description

id

uint64

name

string

roles

uint64

repeated

user

User

required_colons

bool

managed

bool

animated

bool

available

bool

GetGuildChannelsRequest

Field

Type

Label

Description

guild_id

uint64

GetGuildChannelsResponse

Field

Type

Label

Description

channels

Channel

repeated

GuildMember

Source: https://discord.com/developers/docs/resources/guild#guild-member-object

Field

Type

Label

Description

user

User

nick

string

roles

uint64

repeated

joined_at

string

premium_since

string

deaf

bool

mute

bool

pending

bool

permissions

string

Message

Source: https://discord.com/developers/docs/resources/channel#message-object

Field

Type

Label

Description

id

uint64

channel_id

uint64

guild_id

uint64

author

User

member

GuildMember

content

string

timestamp

string

edited_timestamp

string

tts

bool

mention_everyone

bool

mentions

User

repeated

mention_roles

uint64

repeated

mention_channels

uint64

repeated

attachments

Message.Attachment

repeated

embeds

Embed

repeated

reactions

Message.Reaction

repeated

nonce

string

pinned

bool

webhook_id

uint64

type

Message.Type

activity

Message.Activity

application

Message.Application

message_reference

Message.Reference

flags

int32

stickers

Message.Sticker

repeated

referenced_message

Message

interaction: not implemented

Message.Activity

Field

Type

Label

Description

type

Message.Activity.Type

party_id

string

Message.Application

Field

Type

Label

Description

id

uint64

cover_image

string

description

string

icon

string

name

string

Message.Attachment

Field

Type

Label

Description

id

uint64

filename

string

size

int32

url

string

proxy_url

string

height

int32

width

int32

Message.ChannelMention

Field

Type

Label

Description

id

uint64

guild_id

uint64

type

Channel.Type

name

string

Message.Reaction

Field

Type

Label

Description

count

int32

me

bool

emoji

Emoji

Message.Reference

Field

Type

Label

Description

message_id

uint64

channel_id

uint64

guild_id

uint64

fail_if_not_exists

bool

Message.Sticker

Field

Type

Label

Description

id

uint64

pack_id

uint64

name

string

description

string

tags

string

asset

string

preview_asset

string

format_type

Message.Sticker.Type

Role

Source: https://discord.com/developers/docs/topics/permissions#role-object

Field

Type

Label

Description

id

uint64

name

string

color

int32

hoist

bool

position

int32

permissions

string

managed

bool

mentionable

bool

tags

Role.Tag

repeated

Role.Tag

Field

Type

Label

Description

id

uint64

integration_id

uint64

premium_subscriber

bool

SendChannelMessageRequest

Field

Type

Label

Description

channel_id

uint64

content

string

embed

Embed

SendChannelMessageResponse

Field

Type

Label

Description

message

Message

SendDirectMessageRequest

Field

Type

Label

Description

user_id

uint64

content

string

embed

Embed

SendDirectMessageResponse

Field

Type

Label

Description

message

Message

User

Source: https://discord.com/developers/docs/resources/user#user-object

Field

Type

Label

Description

id

uint64

username

string

discriminator

string

avatar

string

bot

bool

system

bool

mfa_enabled

bool

locale

string

verified

bool

email

string

flags

int32

premium_type

int32

public_flags

int32

Channel.Type

Name

Number

Description

UNDEFINED

0

GUILD_TEXT

1

DM

2

GUILD_VOICE

3

GROUP_DM

4

GUILD_CATEGORY

5

GUILD_NEWS

6

GUILD_STORE = 7; NO LONGER SUPORTED IN API

Message.Activity.Type

Name

Number

Description

UNDEFINED

0

JOIN

1

SPECTATE

2

LISTEN

3

JOIN_REQUESTS

4

Message.Sticker.Type

Name

Number

Description

UNDEFINED

0

PNG

1

APNG

2

LOTTIE

3

Message.Type

Name

Number

Description

DEFAULT

0

RECIPIENT_ADD

1

RECIPIENT_REMOVE

2

CALL

3

CHANNEL_NAME_CHANGE

4

CHANNEL_ICON_CHANGE

5

CHANNEL_PINNED_MESSAGE

6

GUILD_MEMBER_JOIN

7

USER_PREMIUM_GUILD_SUBSCRIPTION

8

USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_1

9

USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_2

10

USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_3

11

CHANNEL_FOLLOW_ADD

12

GUILD_DISCOVERY_DISQUALIFIED

14

GUILD_DISCOVERY_REQUALIFIED

15

REPLY

19

APPLICATION_COMMAND

20

DiscordApi

Provides access to the Discord API

Method Name

Request Type

Response Type

Description

SendChannelMessage

SendChannelMessageRequest

SendChannelMessageResponse

Send a message to a guild channel

SendDirectMessage

SendDirectMessageRequest

SendDirectMessageResponse

Send a direct message to a user

GetGuildChannels

GetGuildChannelsRequest

GetGuildChannelsResponse

Get the list of channel for a guild

Scalar Value Types

.proto Type

Notes

C++

Java

Python

Go

C#

PHP

Ruby

double

double

double

float

float64

double

float

Float

float

float

float

float

float32

float

float

Float

int32

Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.

int32

int

int

int32

int

integer

Bignum or Fixnum (as required)

int64

Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.

int64

long

int/long

int64

long

integer/string

Bignum

uint32

Uses variable-length encoding.

uint32

int

int/long

uint32

uint

integer

Bignum or Fixnum (as required)

uint64

Uses variable-length encoding.

uint64

long

int/long

uint64

ulong

integer/string

Bignum or Fixnum (as required)

sint32

Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.

int32

int

int

int32

int

integer

Bignum or Fixnum (as required)

sint64

Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.

int64

long

int/long

int64

long

integer/string

Bignum

fixed32

Always four bytes. More efficient than uint32 if values are often greater than 2^28.

uint32

int

int

uint32

uint

integer

Bignum or Fixnum (as required)

fixed64

Always eight bytes. More efficient than uint64 if values are often greater than 2^56.

uint64

long

int/long

uint64

ulong

integer/string

Bignum

sfixed32

Always four bytes.

int32

int

int

int32

int

integer

Bignum or Fixnum (as required)

sfixed64

Always eight bytes.

int64

long

int/long

int64

long

integer/string

Bignum

bool

bool

boolean

boolean

bool

bool

boolean

TrueClass/FalseClass

string

A string must always contain UTF-8 encoded or 7-bit ASCII text.

string

String

str/unicode

string

string

string

String (UTF-8)

bytes

May contain any arbitrary sequence of bytes.

string

ByteString

str

[]byte

ByteString

string

String (ASCII-8BIT)