Рабочая среда с ИИ для кода
Разбиение сообщений бота
У ограничения длины есть единица измерения. 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, не разделяя суррогатную пару.
✓ ИзмененияПроверьте перед применением ↗
Иллюстрация рабочей среды
Проект
Проверьте эмодзи на границе, пустое сообщение и блок кода, сохраняя исходный текст при объединении фрагментов.
Проверьте перед применением
Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.
Подключение
Базовый 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);