logo

Как устроен бот, который сообщает о вспышках коронавируса в вашем районе. Интервью с разработчиком

Фото: 66.RU

16 июля в Свердловской области зарегистрировали 349 случаев коронавируса. Не очень пугающая цифра. Но что, если десять из них живут в вашем подъезде? Как узнать, что COVID-19 — рядом? Александр Берсенёв написал Telegram-бот, который ответит на эти вопросы. 66.RU поговорил с разработчиком.

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

66.RU
Фото: 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 августа повторить опрос.

66.RU
Фото: 66.RU

— У вас ведь сейчас куча адресов с привязкой к телеграм-аккаунтам. Что вы будете с ними делать?

 — Ничего не планирую делать, потому что это довольно бесполезная информация, если честно. Вот если б с квартирами, то да.

Динамика запросов в боте менялась. Сначала ссылку на него распространяли в чатах. Всплески интереса произошли, когда ссылку опубликовали Ura.Ru и Евгений Ройзман**. Точки на видео — адреса, о которых хотели узнать информацию пользователи.

— Требует ли бот вашего внимания? Сколько усилий вы на него тратите ежедневно?

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

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

COVID в городе

— Бот выдает результаты только по Екатеринбургу?

 — Его можно спросить про любой город области, но это недокументированная особенность. Например, если написать боту «Тагил Ленина 51», то он выведет данные по адресу Ленина, дом № 51 в Нижнем Тагиле. Другое дело, что Роспотребнадзор у себя на сайте пишет, что для маленьких населенных пунктов результаты могут быть неточными.

— Какие самые коронавирусные адреса в Екатеринбурге?

 — Самый коронавирусный дом сейчас находится по адресу улица Вильгельма де Геннина, 43. Там на прошлой неделе выявили +63 заболевших в радиусе 500 метров, а за все время — 162 заболевших. На Краснолесья, 119 +58 случаев за неделю в радусе 500 метров, и на Агрономической, 31 +56 случаев за неделю.

— Роспотребнадзор может перекрыть канал поступления вам информации?

 — Да. Если Роспотребнадзор перестанет публиковать сведения на сайте, информация в боте перестанет обновляться.


*включен Минюстом РФ в список физлиц-иноагентов