Бот Большой библиотеки

3 сентября, 21:37

В июне я писала про Большую библиотеку Контура. По-тихоньку библиотека растет, читателей становится больше, а значит больше времени нужно тратить библиотекарю, чтобы всем этим заниматься. Мы с Катей Пайль сделали бота в Телеграме, который многое упросил. Но сначала стоит вспомнить, как мы жили до бота.

Жизнь до бота

Что делают читатели

  • Берут книги.
  • Встают в очереди за книгами.
  • Заказывают новые книги.
  • Заказывают доставку книг в другие офисы Екатеринбурга, и возвращают оттуда прочитанное.

У библиотекарей чуть сложнее

  • Библиотекари ежедневно записывают книги на читателей и наоборот в гуглотаблице. Читатели сообщают о том, что взяли, на специальном листочке, а что сдали лежит на отдельной полке со стикерами «от кого». У читателей нет доступа редачить гуглотаблицу. Это сделано сознательно: в таблице легко что-то сломать, и информация станет неактуальной. Поэтому мы старательно переписываем ручками всю инфу с бумажных носителей.
  • Библиотекари записывают читателей в очереди.
  • Если книга освободилась, а ее кто-то ждал, библиотекари пишут читателю, что книгу можно забрать.
  • Упаковывают и отдают на переправку книги для читателей из других офисов.
  • Составляют список книг для покупки, заказывают книжки, а потом записывают их в гуглотабличку. Шлют письма ожидающим читателям о том, что книга появилась.
  • Шлют письма должникам — сейчас их около 50. Каждому надо написать, какие книги на руках, куда их сдавать. Некоторым читателям приходится писать несколько раз, потому что не все отвечают на письма и не все сдают книги сразу.

Это все адов труд. Адов — потому что формально должности библиотекаря нет, библиотекой заняты ребята, у которых свои проекты и своя работа. Все на чистом энтузиазме и желании сделать хорошо.

Что можно было бы автоматизировать

  • Запись книг на читателя. Чтобы не библиотекарь делал это руками, а читатель со своим логином-паролем.
  • Запись в очередь за книгой. Чтобы читатели делали это сами.
  • Уведомление о том, что книга освободилась, с инфой, где брать книгу. А в случае с читателем из другого офиса это письмо с вопросом, нужно ли переслать книгу. Иногда, когда подходит очередь, читатель из другого офиса может сказать, что книга уже не нужна, купил, или же заберет сам из офиса на Малопрудной, не хочет ждать доставки.
  • Уведомления библиотекарям, что книгу надо переслать. Когда попросил читатель из другого офиса или освободилась книга для такого читателя.
  • Уведомления должникам, что книги пора сдавать. Это самая напряжная работа, которая занимает дико много времени.
  • Автоматическое формирование таблицы с книгами для заказа, где указано что просят, кто и когда.

Вот бы у нас был такой сервис 🤔 Но пока его нет, приходится выкручиваться.

Бот в Телеграме

Пару недель назад мы запустили бота. По моим ощущениям все случилось быстро и достаточно небольно :) Катя — просто умничка. С ботом все в разы проще.

В чем помогает бот

Для читателя и библиотекаря возможности разные.

Читатель может

  • Найти книгу простым поиском по автору или названию.
  • Найти книгу по рубрике. Раньше мог только неудобной фильтрацией гуглотаблицы.
  • Отметиться, что он взял книгу. Сам! 😍 Библиотекарю теперь ничего не нужно записывать, все помнит база.
  • Попросить выслать книгу, если читатель находится в другом офисе.
  • Встать в очередь за книгой, которая занята, и выйти из очереди.
  • Посмотреть, что на нем записано.
  • Попросить купить книгу, которой нет.
  • Узнать, где находится библиотека или написать библиотекарю.

Библиотекарь может

  • Записать книгу на любого читателя и обратно — и это сейчас в разы быстрее, чем с гуглотаблицей ❤️
  • Записать читателя в очередь за книгой и наоборот.
  • Посмотреть, кто читает конкретную книгу и стоит за ней в очереди.
  • Редактировать любую книгу: название, автора, рубрику, число экземпляров.
  • Добавлять новые книги.
  • Смотреть, какие книги у конкретного читателя. Раньше можно было только поиском по гуглотаблице.
  • Посмотреть полный список всех должников. Раньше только глазами по всей таблице из 620 книг.
  • Посмотреть читателей, которые скоро уйдут из Контура, но которые не сдали книги. Раньше это было невозможно, так книги уходили вместе с сотрудниками.

Впрочем, вот все команды библиотекаря:

✨ Чертова магия

Бот умный, он дружит со Стаффом, внутренним сервисом Контура, где есть информация о всех сотрудниках. Бот берет из Стаффа логин Телеграма, если он был там указан, и так узнает читателя сразу. Читатель приходит впервые к боту, жмет кнопку «Мои книги» и видит все, что у него на руках — волшебство! ✨

Если бот не узнал сотрудника, он спросит его логин в Контуре, поищет такого в Стаффе, и если найдет, запомнит читателя. Из Стаффа бот знает, в каком офисе работает читатель. Если читатель из другого офиса в Екатеринбурге скажет «Хочу книгу», бот предложит переслать ее читателю.

Из Стаффа мы берем информацию о людях, которые собрались уходить из Контура. Затем пересекаем с теми, у кого на руках книги — получается список ребят, у кого нужно попросить сдать книги, пока не поздно. Этот список получает библиотекарь по команде в боте. Возможно, в каком-то сильно отдаленном будущем это будет происходить автоматом с уведомлением библиотекарю, если кто такой нашелся.

Еще у нас в планах слать автоматом уведомления должникам и кой-чего по мелочи.

Уведомления библиоткарю

Бот шлет библиотекарю уведомления. Например, если кто-то встал в очередь или взял книгу:

Такие уведомления мы выделили совушками, чтобы отделить их от своих запросов боту. Более важные уведомления мы выделили восклицательными знаками, они требуют действий от библиотекаря. Например, если нужно выслать книгу читателю из другого офиса:

Есть и обычные подтверждения действий библиотекаря с галочкой:

В последнем примере красный кирпичик означает, что все экземпляры книги заняты, а всего их пять. У библиотекаря в сообщениях от бота больше информации, ее приходится сокращать и компактно упаковывать. Если знаешь все эти обозначения — это только удобно. Для читателей все сообщения понятные, тексты более подробные.

Интерфейс читателя

Стартовый экран:

Когда читатель нажал кнопку «Мои книги»:

Проектирование интерфейса

В интерфейсе бота не так много средств что-то выделить. В основном жирный текст и отступы. Так что эмоджи иногда спасают, чтобы обозначить структуру. Проектировать бота было интересно и необычно.

Главное, что я поняла:

В бота не стоит наворачивать много возможностей. Если что-то может быть вынесено и сделано где-то еще, не в боте, лучше вынести.

Интерфейс бота не такой уж могучий, чтобы ворочать много сценариев. Нужно четко понимать главную ценность бота и уберегать ее от захламления другими «хотелками». У нас главное — это записать на себя книгу, встать в очередь. Это существенно облегчает жизнь библиотекарю, как бы эгоистично это ни было. Остальное это уже дополнительные возможности.

Мы по-прежнему оставили лист для записи в библиотеке, потому что у кого-то может не быть с собой телефона или даже Телеграма. По ощущениям сейчас половина людей записывается на листочке, а половина самостоятельно в боте. Есть пару моментов, которые могут напрячь читателя или библиотекаря.

Что может пойти не так

Первая проблема
Читатель сидит дома или за своим рабочим местом и начинает записывать книги на себя. А в это время те же книги берет кто-то другой. Или уже взял, ведь кто-то мог отметиться на листочке в библиотеке, а библиотекарь не успел перенести все в базу.

Отсюда правило:

Записывай книгу на себя только тогда, когда ты физически нашел ее в библиотеке.

На самом деле это не такая большая проблема. Если читатель не найдет книгу на полке, он свяжется с библиотекарем и ситуация как-то разрешится. Вторая проблема серьезней.

Вторая проблема
Читатель пришел в библиотеку без телефона, взял книгу и подумал: дойду до рабочего места и запишу на себя книгу. Как бы ни так. Пока идешь на место, уже подумаешь о десяти других вещах, поболтаешь с коллегами и забудешь напрочь.

Отсюда второе правило:

Записывай книгу на себя прямо в библиотеке. Нет телефона с Телеграмом — запишись на листочке.

Уж лучше так, чем никак. Иначе книги теряются, из дома их забывают возвращать.

Одним глазочком

Сейчас я дам ссылку на бота, но вы должны понимать, что только ребята из Контура могут записывать на себя книги и вставать за ними в очередь. Очень надеюсь, что вы не станете ломать бота, подбирать логины сотрудников Контура и все такое. В этом случае нам придется его выключить и огребать. Вы же не злодеи? В боте можно посмотреть, какие книги у нас есть и, пожалуй, все.

Бот Большой библиотеки в Телеграме

Отдельным постом хочу написать, как мы тюнили всякое удобство и понятность для пользователей. Не только бота, всего вокруг библиотеки. Пользователи под боком — исследуй сколько влезет, меняй, проверяй гипотезы :) Это очень увлекательно. Надеюсь, дойдут руки написать.

Коплю на Макбук       Ctrl