BBotEnvelope
Рабочая среда с ИИ для кода

Разбиение сообщений бота

У ограничения длины есть единица измерения. BotEnvelope — среда программирования для Windows, где границы фрагментов, текстовые примеры и код адаптера обсуждаются с совместимой моделью, а результат отправки проверяется отдельно.

● ● ●BotEnvelope●
Конкретная отправная точка · Разбиение сообщений бота ×
if (!Number.isInteger(start) || start < 0 || start > text.length) {
  throw new Error("start.invalid");
}
if (!Number.isInteger(limit) || limit < 1) throw new Error("limit.invalid");
if (start === text.length) return "";
let end = Math.min(start + limit, text.length);
const last = text.charCodeAt(end - 1);
if (end < text.length && last >= 0xD800 && last <= 0xDBFF) end--;
if (end === start) throw new Error("limit.too_small");
return text.slice(start, end);
✳Разбейте исходящий текст бота по заданному пределу длины UTF-16, не разделяя суррогатную пару.
✓ ИзмененияПроверьте перед применением ↗
Иллюстрация рабочей среды
  1. Проект

    Проверьте эмодзи на границе, пустое сообщение и блок кода, сохраняя исходный текст при объединении фрагментов.

  2. Проверьте перед применением

    Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.

  3. Подключение

    Базовый URL, учётные данные и доступный сервер.

Сценарии

Разбиение сообщений бота

Сценарии ↗
Конкретная отправная точка
if (!Number.isInteger(start) || start < 0 || start > text.length) {
  throw new Error("start.invalid");
}
if (!Number.isInteger(limit) || limit < 1) throw new Error("limit.invalid");
if (start === text.length) return "";
let end = Math.min(start + limit, text.length);
const last = text.charCodeAt(end - 1);
if (end < text.length && last >= 0xD800 && last <= 0xDBFF) end--;
if (end === start) throw new Error("limit.too_small");
return text.slice(start, end);
Рабочая среда с ИИ для кода

Здесь начинается ваше следующее изменение.

Скачать для Windows ↗