Два дня назад со мною случилась ситуация досады и ярости, отчасти подобная той, которую изображает мем про ненагугливаемую проблему.
14 апрѣля Twitter обрадовал покупателей своей платной услуги (Twitter Blue) новою возможностью публикации таких микроблогозаписей, которыя вообще-то отнюдь уж не «микро», потому что способны будут вмѣщать до десяти тыщщ сѵмволовъ. Частью этой услуги притом сдѣлается возможность выдѣлять текст курсивом или повышенною жирностию в Твиттере.
Постоянные читатели моего канала могут помнить, что наращивание длины твиттеровских сообщений в прошлом было для меня источником нѣкотораго беспокойства: когда оно было ещё только кратким сообщением о том, что Маск доведёт эту длину до 4000 сѵмволовъ, тогда въ послѣднемъ абзаце моего сообщения 13 декабря прошлого (2022) года я размышлял, не распухнут ли вязáнки твиттеровских сообщений, которые я выкладываю в IPFS и затѣмъ гиперссылкою на канал. Позже (в начале моего сообщения 20 февраля) я убедился наглядно, что ничего для меня не измѣнилось с приходом 4000-сѵмвольности, поскольку Twitter начал отдавать усечённые тексты сообщений через тот API (программный интерфейс), которым я их забираю оттудова.
Опираясь на это знание, позавчера я ужé не очень беспокоился о том, сможет ли Twitter нормально обрѣзать десятитысячесѵмвольное сообщение (если смог обрѣзать 4000 сѵмволов, то тогда и с десятком тыщщ должен управиться невозбранно), однако оставалась нѣкоторая неясность насчёт жирного или курсивного текста: какую форму обретёт размѣтка такого текста (будет ли это нѣкоторое подобие языка HTML, или Markdown, или BBCode?), сможет ли мой обработчик переварить её?
Я запустил своё средство копирования твиттеровских сообщений в отладочном режиме (который много лѣтъ назад предусмотрѣлъ как средство, позволяющее поглядѣть на JSON-отклик, порождаемый твиттеровским сёрвером, в «сыром» виде) и приготовился анализировать результат.
Результат оказался крайне обескураживающим: Twitter не допустил моё средство читать сообщения, кратко сообщив о невозможности авторизации и приложив номер ошибки (32).
Поискав (в самóм же Твиттере) по словосочетанию «error 32», я увидал только одно подходящее сообщение. Его автор обращался 6 апрѣля к своим читателям с вопросом о том, не знает ли кто-нибудь способ исправить твиттеровскую ошибку 32, но ужé въ слѣдующемъ сообщении собрался просто ждать с мыслью о том, что и у других ботов аналогичная проблема.
Так как это сообщение отправлено было от имени бота (учётная запись которого имѣла помѣтку «Automated»), притом в среднем создающего по два новых сообщения ежечасно, то я сразу принуждён был остановиться в первоначальном намѣреніи перелопачивать каждое из его сообщений в поисках того, долго ли автору бота пришлось тогда дожидаться и только ли ожиданием рѣшилася проблема.
Я поневоле принялся также ждать (или, вѣрнѣе, отложил проблему до другого дня и занялся другими дѣлами), хорошо сознавая, что если откладывание не поможет, то тогда, может быть, придётся запускать мой обработчик по новым правилам Твиттера, требующим того, чтобы автор-человѣкъ создавал своему боту новую ѿдѣльную учётную запись: пока что это касалось только таких средств, которые чего-нибудь автоматически пишут в Twitter (а не просто читают, как мой обработчик), однако казалось вѣроятнымъ, что одному нововведению в Твиттере (дальнѣйшему росту длины сообщений) может в тот же день сопутствовать другое (дальнѣйшее ужесточение автоматизации), если их накатили совмѣстно.
К счастью, всё обошлось: ошибка 32 пропала сама собою, мой обработчик вдругорядь заработал, а Twitter оказался отдающим через API не просто усечённые сообщения, но и избавленные от размѣтки (так что обычным выглядит в них и курсив, и жирный текст). Слѣдовательно, я могу опять (как было и в феврале) ничего не мѣнять в исходном коде обработчика.
Для кого-то этот рассказ — просто «единичный случай» и даже, может быть, «ошибка выжившего»; но кому-нибудь другому удастся извлечь из моей истории тот же совѣтъ, которым Александр Дюма-отец завершил роман про Монте-Кристо:
— Ждать и надѣяться!
☦️ ХРИСТОСЪ ВОСКРЕСЕ! ☦️
14 апрѣля Twitter обрадовал покупателей своей платной услуги (Twitter Blue) новою возможностью публикации таких микроблогозаписей, которыя вообще-то отнюдь уж не «микро», потому что способны будут вмѣщать до десяти тыщщ сѵмволовъ. Частью этой услуги притом сдѣлается возможность выдѣлять текст курсивом или повышенною жирностию в Твиттере.
Постоянные читатели моего канала могут помнить, что наращивание длины твиттеровских сообщений в прошлом было для меня источником нѣкотораго беспокойства: когда оно было ещё только кратким сообщением о том, что Маск доведёт эту длину до 4000 сѵмволовъ, тогда въ послѣднемъ абзаце моего сообщения 13 декабря прошлого (2022) года я размышлял, не распухнут ли вязáнки твиттеровских сообщений, которые я выкладываю в IPFS и затѣмъ гиперссылкою на канал. Позже (в начале моего сообщения 20 февраля) я убедился наглядно, что ничего для меня не измѣнилось с приходом 4000-сѵмвольности, поскольку Twitter начал отдавать усечённые тексты сообщений через тот API (программный интерфейс), которым я их забираю оттудова.
Опираясь на это знание, позавчера я ужé не очень беспокоился о том, сможет ли Twitter нормально обрѣзать десятитысячесѵмвольное сообщение (если смог обрѣзать 4000 сѵмволов, то тогда и с десятком тыщщ должен управиться невозбранно), однако оставалась нѣкоторая неясность насчёт жирного или курсивного текста: какую форму обретёт размѣтка такого текста (будет ли это нѣкоторое подобие языка HTML, или Markdown, или BBCode?), сможет ли мой обработчик переварить её?
Я запустил своё средство копирования твиттеровских сообщений в отладочном режиме (который много лѣтъ назад предусмотрѣлъ как средство, позволяющее поглядѣть на JSON-отклик, порождаемый твиттеровским сёрвером, в «сыром» виде) и приготовился анализировать результат.
Результат оказался крайне обескураживающим: Twitter не допустил моё средство читать сообщения, кратко сообщив о невозможности авторизации и приложив номер ошибки (32).
Поискав (в самóм же Твиттере) по словосочетанию «error 32», я увидал только одно подходящее сообщение. Его автор обращался 6 апрѣля к своим читателям с вопросом о том, не знает ли кто-нибудь способ исправить твиттеровскую ошибку 32, но ужé въ слѣдующемъ сообщении собрался просто ждать с мыслью о том, что и у других ботов аналогичная проблема.
Так как это сообщение отправлено было от имени бота (учётная запись которого имѣла помѣтку «Automated»), притом в среднем создающего по два новых сообщения ежечасно, то я сразу принуждён был остановиться в первоначальном намѣреніи перелопачивать каждое из его сообщений в поисках того, долго ли автору бота пришлось тогда дожидаться и только ли ожиданием рѣшилася проблема.
Я поневоле принялся также ждать (или, вѣрнѣе, отложил проблему до другого дня и занялся другими дѣлами), хорошо сознавая, что если откладывание не поможет, то тогда, может быть, придётся запускать мой обработчик по новым правилам Твиттера, требующим того, чтобы автор-человѣкъ создавал своему боту новую ѿдѣльную учётную запись: пока что это касалось только таких средств, которые чего-нибудь автоматически пишут в Twitter (а не просто читают, как мой обработчик), однако казалось вѣроятнымъ, что одному нововведению в Твиттере (дальнѣйшему росту длины сообщений) может в тот же день сопутствовать другое (дальнѣйшее ужесточение автоматизации), если их накатили совмѣстно.
К счастью, всё обошлось: ошибка 32 пропала сама собою, мой обработчик вдругорядь заработал, а Twitter оказался отдающим через API не просто усечённые сообщения, но и избавленные от размѣтки (так что обычным выглядит в них и курсив, и жирный текст). Слѣдовательно, я могу опять (как было и в феврале) ничего не мѣнять в исходном коде обработчика.
Для кого-то этот рассказ — просто «единичный случай» и даже, может быть, «ошибка выжившего»; но кому-нибудь другому удастся извлечь из моей истории тот же совѣтъ, которым Александр Дюма-отец завершил роман про Монте-Кристо:
— Ждать и надѣяться!
☦️ ХРИСТОСЪ ВОСКРЕСЕ! ☦️