На этой страницеВыбранный текст
Выбранный контекст
Текст сообщения, сведения о текущем чате и выбранном авторе.
Выбранный текст
api.selection.get() использует messages.selection.read / activeSelection и явный контекст пользователя.
const selected = await api.selection.get();
if (!selected) return;
const characters = selected.text.length;
await api.ui.toast(`Символов UTF-16: ${characters}`);
В меню сообщения возвращается текст всего выбранного сообщения, а не обязательно небольшое выделение. source показывает composer или message.
Структура результата
interface Selection {
text: string;
source: "composer" | "message";
entities: JSONValue[];
entitiesComplete: false;
}
Защищённые и служебные источники фильтруются нативной стороной. У плагина нет произвольного обхода истории.
Текущий чат
Для chats.metadata.read / selectedChats:
const chat = await api.chats.metadata();
Возвращаются безопасные handle, title и scope currentNativeChat. Не передавайте произвольный числовой chat ID: такой контракт не предусмотрен.
Выбранные авторы
Для peers.read / selectedPeers:
const peers = await api.peers.read();
Результат содержит ограниченные handles и названия выбранных авторов. Это не перечень контактов и не поиск аккаунтов по идентификатору.
Пустой результат
Пользователь может закрыть чат или изменить выбор. Обрабатывайте null, пустые массивы и отмену как обычные исходы, не заменяя их данными из прежнего контекста.