Reference: protocol.bots.v1

Bot Invite Codes

Bot invite codes work similarly to HMC URLs. They can either be server+code or just code, to refer to a bot on the current homeserver.

The format for an invite code is:

[url[:port]/]code

where code is a purely alphanumeric code.

Services

BotsService

The Bots service allows the management of bot accounts Fields

MyBots

protocol.bots.v1.MyBotsRequest -> protocol.bots.v1.MyBotsResponse

Gets the list of bots that you own


MyBotsRequest

Request type for MyBots

This item has no fields.


MyBotsResponse

Response type for MyBots

Fields

bots

Type: repeated protocol.bots.v1.Bot

The list of owned bots


GetBot

protocol.bots.v1.GetBotRequest -> protocol.bots.v1.GetBotResponse

Gets information on a given bot


GetBotRequest

Request type for GetBot

Fields

bot_id

Type: optional uint64

The bot to get the information of


GetBotResponse

Response type for GetBot

Fields

bot

Type: optional protocol.bots.v1.Bot

The requested bot


CreateBot

protocol.bots.v1.CreateBotRequest -> protocol.bots.v1.CreateBotResponse

Creates a new bot account


CreateBotRequest

Request type for CreateBot

Fields

display_name

Type: optional string

The bot’s display name

avatar_url

Type: optional string

The bot’s avatar URL

invite

Type: optional string

The bot’s invite code, if it has one


CreateBotResponse

Response type for CreateBot

Fields

bot_id

Type: optional uint64

The newly minted ID of the bot


EditBot

protocol.bots.v1.EditBotRequest -> protocol.bots.v1.EditBotResponse

Modifies a bot account that you own


EditBotRequest

Request type for EditBot

Fields

bot_id

Type: optional uint64

The ID of the bot to edit

new_display_name

Type: optional string

The bot’s new display name

new_avatar_url

Type: optional string

The bot’s new avatar URL

invite

Type: optional string

The bot’s new invite code


EditBotResponse

Response type for EditBot

This item has no fields.


DeleteBot

protocol.bots.v1.DeleteBotRequest -> protocol.bots.v1.DeleteBotResponse

Deletes a bot account that you own


DeleteBotRequest

Request type for DeleteBot

Fields

bot_id

Type: optional uint64

The bot to delete


DeleteBotResponse

Response type for DeleteBot

This item has no fields.


Policies

protocol.bots.v1.PoliciesRequest -> protocol.bots.v1.PoliciesResponse

Server policies for bot accounts that the client may display in its UI or restrict actions to prevent request errors


PoliciesRequest

Request type for Policies

This item has no fields.


PoliciesResponse

Response type for Policies

Fields

max_bots

Type: optional uint32

How many bots an individual account is allowed to own


AddBot

protocol.bots.v1.AddBotRequest -> protocol.bots.v1.AddBotResponse

Requests a bot to add itself to the guild.

For cross-server bots, this dispatches a UserInvited request across sync, inviting the bot to the guild.


AddBotRequest

Request type for AddBot

Fields

guild_id

Type: optional uint64

The guild to add the bot to

invite_code

Type: optional string

The bot’s invite code.


AddBotResponse

Response type for AddBot

This item has no fields.

Standalone Message Types

Bot

A description of a bot account

Fields

bot_id

Type: optional uint64

The ID of the bot

display_name

Type: optional string

The bot’s display name

avatar_url

Type: optional string

The bot’s avatar URL

invite

Type: optional string

The bot’s invite code, if it has one