16.02.2024
Февральское обновление @SadFavBot до v1.2.2
На самом деле были промежуточные релизы, за которыми можно следить, подписавшись на репозиторий на GitHub, но я их не афишировал, чтобы нормально протестировать функционал. А изменений на самом деле не мало.
Самое главное — бота теперь можно добавлять в групповые чаты!
1️⃣ Я поправил косяки с излишними реакциями на обновления, которые прилетают в бота, даже когда это не требуется (например, когда просто отправляешь сообщение через его inline-режим);
2️⃣ убрал возможность использования последовательного заполнения форм в группах, поскольку это было бы и слишком многословно для остальных участников чата, и работало бы не очень корректно — так что команды поддерживаются только в однострочном формате вызова;
3️⃣ добавил автоматическое удаление сообщений от бота в групповых чатах через минуту, чтобы создавать меньше мусора и не раздражать админов (благо в Go это делается очень легко: что-что, а горутины сделаны прекрасно).
Но есть и ряд более косметических изменений:
1️⃣ значительно усовершенствована команда /ref:
➡️ теперь для объекта она выводит не только список алиасов, связанных с ним, но и список пакетов, содержащих их;
➡️ а если хочется просто получить список пакетов, в которых содержится какой-либо алиас, то можно обойтись даже без объекта, используя форму /ref [алиас].
2️⃣ команда /cancel теперь удаляет reply-клавиатуру, чтобы кнопка не мозолила глаза, а сами клавиатуры должны стать наконец-то более юзабельными;
3️⃣ у команды /package список кнопок для выбора действия теперь формируется динамически и этот шаг может быть вообще пропущен, если такого пакета не существует и очевидно, что его нужно именно создать, что делает интерфейс более логичным, простым и дружелюбным;
4️⃣ убрано ограничение на 50 закладок в результате поиска (я чёт проморгал, что там существует пагинация — добавил в запрос и поправил даже неправильную сортировку после отсекания; спасибо товарищу @gylax, который указал пальцем на других ботов, использующих бесконечную ленту прокрутки).
В процессе работы над данным обновлением также была выпущена новая версия фреймворка goSadTgBot v0.3.1 с «ломающими» изменениями:
1️⃣ удалена функция GetCommandArgument() — у сообщений есть метод CommandArguments(), оказывается, который работает правильно, в отличие от моего варианта, не поддерживающего вызов с «собачкой»;
2️⃣ в интерфейс CommandHandler добавлен метод GetScopes(), а установка команд через setMyCommands теперь происходит отдельно для каждой зоны видимости;
3️⃣ улучшены reply-клавиатуры, порождаемые мастерами форм, добавлен параметр среды BUTTONS_PER_ROW, через который можно регулировать количество кнопок на одной строке;
4️⃣ вместо InlineKeyboardAnswers в дескрипторе поля теперь можно использовать InlineKeyboardBuilder для динамического определения кнопок.
Всем добрых и весёлых выходных!)


