syntax = "proto3"; package chatto.api.v1; import "chatto/api/v1/presence.proto"; import "chatto/api/v1/user_status.proto"; // Public metadata for a bot account. Presence on User identifies a bot. // Credentials and management-only details belong to the managed Bot resource. message BotInfo { // Human account that owns this bot; this identity does not grant management access. string owner_user_id = 1; } // Public user fields. message User { // Stable user ID. string id = 1; // Login name. string login = 2; // Display name, when set. string display_name = 3; // True when the user account has been deleted. bool deleted = 4; // Avatar image URL, when available. optional string avatar_url = 5; // Current live presence status. PresenceStatus presence_status = 6; // Custom profile status, when set. CustomUserStatus custom_status = 7; reserved 8; reserved "is_bot"; // Short self-authored biography shown on the user's profile, when set. optional string bio = 9; // IANA time zone the user chose to share on their profile (for example // "Europe/Berlin"). Absent means the user has not enabled time-zone // sharing or has no stored time zone. optional string timezone = 10; // Present for a bot identity; absent for humans and deleted-account references. BotInfo bot = 11; }