[Социальные сети и сообщества] Телефонный эфир v2.0. Возрождение легенды в telegram боте
Автор
Сообщение
news_bot ®
Стаж: 6 лет 8 месяцев
Сообщений: 27286
Это первая статья из будущей серии статей о том, как я возродил однажды ушедшую в историю идею в коде. В этой статье я опишу реализацию регистрации в части места жительства.
Предыстория
Впервые о Ленинградском телефонном эфире я прочитал в одной художественной книге. Потом я начал искать информацию об этом в сети. Меня поразило и воодушевило то, как баг привел к такому уникальному социально-техническому явлению. По сути это первый публичный чат, социальная сеть, называйте как хотите, но просто представьте себе что это было в СССР! Для того времени и социального режима это было нечто невообразимое.
Что это такое? Если можно, попроще
Статей на данную тему в сети много, раз, два, но я попытаюсь объяснить просто.
АТС того времени имели баг — при звонках на определенные несуществующие номера люди попадали в групповой разговор, еще это называется аудиоконференция или же «Телефонный эфир». Для того времени это было насколько круто и не обычно, что «тема зашла». Эфиряне Люди знакомились, встречались, общались и даже заводили отношения, семьи в «Эфире». Вот это романтика!
Чем все закончилось
Конечно же были попытки взять это под контроль, но данные феномены возникали по всему Союзу и это было проблематично. Но время и модернизация АТС таки заставили «Телефонный эфир» уйти в историю.
Некоторые идеи хочется возродить
Т.к. я тоже романтик работаю с АТС, VoIP, и программирую на python — я решил возродить идею в коде.
Результатом моего труда стал симбиоз идеи «Телефонного эфира», VoIP PBX Asterisk и Telegram.
Если Вам интересно пощупать как это работает, воспользуйтесь ссылкой.
Реализация регистрации. База городов
Можно и даже нужно реализовывать подобного рода боты с минимальным количеством данных, которые пользователи вводят при регистрации. Например в моем боте, около 20% пользователей не завершили процесс регистрации. Все эти данные я запрашиваю для будущих
фич которые будут внедрены при наличии большего количества пользователей, например
- Эфиры по городам, станам, темам (для этого при регистрации пользователю предлагается указать место жительства)
- Знакомства по фильтрам (для этого при регистрации пользователю предлагается указать пол, возраст)
Эти данные в боте можно изменить в любое время через меню настройки, никто не мешает указать любое значение. Я специально не стал реализовывать определение места жительства через кнопку отправить геолокацию дабы не смущать пользователей и сберечь их анонимность.
В этой статье я решил поделиться самым сложным моментом реализации регистрации — выбор места жительства.
В идеальном случае для реализации регистрации в части указания места жительства нужно иметь базу данных всех городов мира, что подразумевает наличие нескольких проблем:
- Найти такую базу либо создать ее самому.
Бесплатно найти такую базу не так уж просто, создать еще сложнее.
- Гарантировать ее актуальность. Особенно актуально при переименовании городов.
- Желательно реализовать максимальное удобство для пользователя. Пользователь должен иметь возможность ввести место жительства с ошибками или используя старые названия населенных пунктов.
- Размер базы. База РЕАЛЬНО ВСЕХ населенных пунктов мира будет иметь размер минимум в 1,5 — 2 GB. Не всегда это хорошо, если Вы используете vps, скорость работы самой базы и т.д.
И вообще, зачем хранить города Зимбабве если Ваш контент предназначен для стран СНГ?
Все базы которые я нешел в открытом доступе не удовлетворяли ни один из перечисленных пунктов.
Поэтому я поехал своим велосипедом пошел по своему гибридному пути.
Базу я решил создавать сам. Также, сделать механизм дальнейшего заполнения в автоматическом режиме данными, которых нет в базе.
Я прочитал несколько статей об аудитории telegram и решил сделать актуальную базу в полу ручном режиме для стран Россия, Украина, Белоруссия, Узбекистан и США.
Как я это делал?
Для указанных стран я взял данные с Википедии о больших городах, сохранил в csv файл и пропустил каждое значение через чудную библиотеку geopy. Результаты сохранял в SQLite базу.
Делюсь базойс сообществом. Надеюсь кому-то она сохранит время.
Пользователь имет возможность ввести место жительства с ошибками или используя старые названия населенных пунктов благодаря использованию мной библиотеки geopy. Введенные пользователем данные я пропускаю через geopy, далее проверяю наличие соответствующей записи в базе. Если запись в базе существует — я присваиваю пользователю идентификатор населенного пункта, если же нет — я записываю в базу новый населенный пункт и опять же таки присваиваю его идентификатор пользователю.
Таким образом я не храню кучу ненужных населенных пунктов в базе.
В упрощенном виде, алгоритм выбора места жительства клиентом во время регистрации выглядит следующим образом:
Вот такой получилась моя гибридная схема.
При этом на хостинге база занимает всего 512 KB и динамически наполняется самими пользователями.
===========
Источник:
habr.com
===========
Похожие новости:
- [Разработка веб-сайтов, CSS, JavaScript, Клиентская оптимизация] Оптимизация производительности фронтенда. Часть 1. Critical Render Path
- [Java, Разработка мобильных приложений, Разработка под Android] Android изнутри: сравнение Dalvik и ART
- [Тестирование IT-систем, Клиентская оптимизация, Беспроводные технологии, Развитие стартапа, Голосовые интерфейсы] «Московский акселератор» выведет финтех-стартапы на рынок
- [Python, Алгоритмы, Обработка изображений, Машинное обучение] Нет времени объяснять, сделай автопилот
- [Разработка веб-сайтов, CSS, HTML] CSS Grid понятно для всех
- [Разработка мобильных приложений, Интерфейсы, Разработка под Android, Дизайн мобильных приложений] RecyclerView.ItemDecoration: используем по максимуму
- [Разработка веб-сайтов, JavaScript, Тестирование веб-сервисов] Утреннее шоу с Lucas F. Costa: JS, CS и тестирование веб-приложений
- [Работа с 3D-графикой, Социальные сети и сообщества, Визуальное программирование] 10 блогов по Revit, которые помогут облегчить работу. Обзор от BIM-менеджера
- [Разработка под AR и VR, AR и VR, Микросервисы, Видеоконференцсвязь] Как мы сделали свою AR-платформу для дистанционного обслуживания и ремонта оборудования
- [Сетевые технологии, CRM-системы, Разработка систем связи, IT-компании] Нишевые кейсы для телефонии с подключением Виртуальной АТС
Теги для поиска: #_sotsialnye_seti_i_soobschestva (Социальные сети и сообщества), #_telefonnyj_efir (телефонный эфир), #_bot (бот), #_sotsialnye_seti_i_soobschestva (
Социальные сети и сообщества
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 01-Ноя 08:44
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 8 месяцев |
|
Это первая статья из будущей серии статей о том, как я возродил однажды ушедшую в историю идею в коде. В этой статье я опишу реализацию регистрации в части места жительства. Предыстория Впервые о Ленинградском телефонном эфире я прочитал в одной художественной книге. Потом я начал искать информацию об этом в сети. Меня поразило и воодушевило то, как баг привел к такому уникальному социально-техническому явлению. По сути это первый публичный чат, социальная сеть, называйте как хотите, но просто представьте себе что это было в СССР! Для того времени и социального режима это было нечто невообразимое. Что это такое? Если можно, попроще Статей на данную тему в сети много, раз, два, но я попытаюсь объяснить просто. АТС того времени имели баг — при звонках на определенные несуществующие номера люди попадали в групповой разговор, еще это называется аудиоконференция или же «Телефонный эфир». Для того времени это было насколько круто и не обычно, что «тема зашла». Эфиряне Люди знакомились, встречались, общались и даже заводили отношения, семьи в «Эфире». Вот это романтика! Чем все закончилось Конечно же были попытки взять это под контроль, но данные феномены возникали по всему Союзу и это было проблематично. Но время и модернизация АТС таки заставили «Телефонный эфир» уйти в историю. Некоторые идеи хочется возродить Т.к. я тоже романтик работаю с АТС, VoIP, и программирую на python — я решил возродить идею в коде. Результатом моего труда стал симбиоз идеи «Телефонного эфира», VoIP PBX Asterisk и Telegram. Если Вам интересно пощупать как это работает, воспользуйтесь ссылкой. Реализация регистрации. База городов Можно и даже нужно реализовывать подобного рода боты с минимальным количеством данных, которые пользователи вводят при регистрации. Например в моем боте, около 20% пользователей не завершили процесс регистрации. Все эти данные я запрашиваю для будущих фич которые будут внедрены при наличии большего количества пользователей, например
Эти данные в боте можно изменить в любое время через меню настройки, никто не мешает указать любое значение. Я специально не стал реализовывать определение места жительства через кнопку отправить геолокацию дабы не смущать пользователей и сберечь их анонимность. В этой статье я решил поделиться самым сложным моментом реализации регистрации — выбор места жительства. В идеальном случае для реализации регистрации в части указания места жительства нужно иметь базу данных всех городов мира, что подразумевает наличие нескольких проблем:
И вообще, зачем хранить города Зимбабве если Ваш контент предназначен для стран СНГ? Все базы которые я нешел в открытом доступе не удовлетворяли ни один из перечисленных пунктов. Поэтому я поехал своим велосипедом пошел по своему гибридному пути. Базу я решил создавать сам. Также, сделать механизм дальнейшего заполнения в автоматическом режиме данными, которых нет в базе. Я прочитал несколько статей об аудитории telegram и решил сделать актуальную базу в полу ручном режиме для стран Россия, Украина, Белоруссия, Узбекистан и США. Как я это делал? Для указанных стран я взял данные с Википедии о больших городах, сохранил в csv файл и пропустил каждое значение через чудную библиотеку geopy. Результаты сохранял в SQLite базу. Делюсь базойс сообществом. Надеюсь кому-то она сохранит время. Пользователь имет возможность ввести место жительства с ошибками или используя старые названия населенных пунктов благодаря использованию мной библиотеки geopy. Введенные пользователем данные я пропускаю через geopy, далее проверяю наличие соответствующей записи в базе. Если запись в базе существует — я присваиваю пользователю идентификатор населенного пункта, если же нет — я записываю в базу новый населенный пункт и опять же таки присваиваю его идентификатор пользователю. Таким образом я не храню кучу ненужных населенных пунктов в базе. В упрощенном виде, алгоритм выбора места жительства клиентом во время регистрации выглядит следующим образом: Вот такой получилась моя гибридная схема. При этом на хостинге база занимает всего 512 KB и динамически наполняется самими пользователями. =========== Источник: habr.com =========== Похожие новости:
Социальные сети и сообщества ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 01-Ноя 08:44
Часовой пояс: UTC + 5