Как устроен бот, который сообщает о вспышках коронавируса в вашем районе. Интервью с разработчиком
Бот @ekb_covid_bot в Telegram появился в июне — Александр создал его для себя и поделился ссылкой с друзьями, к 16 июля им воспользовались 16,2 тыс. человек. Они интересовались информацией по 86,7 тыс. адресов: горожанам было интересно, выявлены ли вблизи этих точек больные коронавирусом. 66.RU публикует интервью с создателем бота, сотрудником Института математики и механики им. Н. Н. Красовского УрО РАН Александром Берсенёвым.

Внешний вид карты на сайте Роспотребнадзора
Первую версию бота я написал за два дня. Я очень люблю диалоговые интерфейсы: по сравнению с сайтами их быстрее программировать и удобнее использовать. До этого писал разных ботов, например, бота, который угощает людей кофе в автомате в УрФУ. Если ему написать сообщение, он оплатит чашку с моей карточки, остается только подойти к автомату и нажать кнопку с вариантом кофе. Однажды за месяц у меня ушло на это несколько десятков тысяч рублей, поэтому пришлось ввести ограничения.
Совсем недавно я написал бота, который выдает студентам индивидуальные задания для экзамена, следит за временем их решения и принимает ответы. Сейчас в УрФУ из-за коронавируса экзамены приходится проводить дистанционно.
Коронавирусный бот удивительно быстро разошелся среди людей. Изначально я закинул его в несколько чатиков с друзьями, человек на 400, друзья мне написали: «А можно его дальше советовать?» В первый день им воспользовались 750 человек, во второй — еще 1000.
— Объясните, пожалуйста, как это происходит технически? Вот я отправляю боту адрес, и что дальше? Как он может считать зараженных на расстоянии от меня?
— Технически это происходит так: пользователь присылает адрес, который преобразуется в координаты точки (например, Челюскинцев, 7 становится 56.846366, 60.586506, — прим. ред.). В данных от Роспотребнадзора есть координаты других точек, где выявляли людей с коронавирусом. Они автоматически сортируются по возрастанию расстояния до адреса, о котором спрашивает пользователь, и бот показывает ему десять ближайших к нему точек. Информация о непосредственном местоположении пользователя боту не передается.
Роспотребнадзор, в свою очередь, ежедневно сообщает информацию в виде: «1 человек в месте X, 1 человек в месте X, 1 человек в месте X». Бот делает из этого «3 человека в месте X». Еще для каждого места, где появился инфицированный, считается, насколько давно его внесли в статистику.
Факт-чек
— Вы принимаете информацию о новых заболевших от пользователей?
— От пользователей информацию я не принимаю. Точнее, можно написать в бота информацию и я прочитаю, но бот выдает только официальные данные. Прямо сейчас на карте отмечен 14 001 случай, Роспотребнадзор говорит, что всего их 16 984. Разницу можно объяснить тем, что карту сделали не сразу и первые заболевшие на нее не попали.
После дискуссий о точности данных Роспотребназдора я попросил пользователей бота принять участие в анонимном опросе. Всего в опросе участвовали 2 тыс. пользователей. Он показал, что на одного человека, который заболел и попал в статистику, приходится 1.3 человека, которые говорят, что заболели, и не попали. Еще 1.9 человека не смогли сдать тест, столько же решили его не сдавать и 0.7 прямо сейчас болеют.
Опрос я провел 5 июля, и по его результатам на тот момент данные от Роспотребнадзора по числу заболевших можно было умножать примерно на 5-6. Это если не учитывать тех, кто переболел без симптомов и сам не заметил. С тех пор ситуация могла измениться, и планирую 5 августа повторить опрос.

— У вас ведь сейчас куча адресов с привязкой к телеграм-аккаунтам. Что вы будете с ними делать?
— Ничего не планирую делать, потому что это довольно бесполезная информация, если честно. Вот если б с квартирами, то да.
Динамика запросов в боте менялась. Сначала ссылку на него распространяли в чатах. Всплески интереса произошли, когда ссылку опубликовали Ura.Ru и Евгений Ройзман**. Точки на видео — адреса, о которых хотели узнать информацию пользователи.
— Требует ли бот вашего внимания? Сколько усилий вы на него тратите ежедневно?
— Бот работает автоматически. Вручную я делаю три вещи: во-первых, проверяю данные — они не должны сильно отличаться от цифр накануне, во-вторых, проверяю оповещения, убеждаюсь, что бот не рассылает лишнего, в-третьих, смотрю результаты нескольких десятков случайных адресов и проверяю, что они соответствуют информации на сайте Роспотребнадзора. И что бот их наглядно и красиво отображает. В день на это уходит примерно по полчаса.
Периодически у людей, которые видят неблагоприятную картину вокруг своего дома, появляются эмоции, которые они выражают прямо в бота. Он пересылает это мне, иногда такие сообщения довольно забавно читать.
COVID в городе
— Бот выдает результаты только по Екатеринбургу?
— Его можно спросить про любой город области, но это недокументированная особенность. Например, если написать боту «Тагил Ленина 51», то он выведет данные по адресу Ленина, дом № 51 в Нижнем Тагиле. Другое дело, что Роспотребнадзор у себя на сайте пишет, что для маленьких населенных пунктов результаты могут быть неточными.
— Какие самые коронавирусные адреса в Екатеринбурге?
— Самый коронавирусный дом сейчас находится по адресу улица Вильгельма де Геннина, 43. Там на прошлой неделе выявили +63 заболевших в радиусе 500 метров, а за все время — 162 заболевших. На Краснолесья, 119 +58 случаев за неделю в радусе 500 метров, и на Агрономической, 31 +56 случаев за неделю.
— Роспотребнадзор может перекрыть канал поступления вам информации?
— Да. Если Роспотребнадзор перестанет публиковать сведения на сайте, информация в боте перестанет обновляться.