Подумал, и поставил на мониторинг свежее, совершенно обычное голосование на активном гражданине.
В целях накопления статистики как обычно идёт голосование в АГ. Тут явно не будет конфликта и накруток и можно будет динамику использовать как референс.
Гражданский контроль, ок, значит контроль :)
P.S. Сsv с накопленными данными будет доступен для исследований по запросу.
В целях накопления статистики как обычно идёт голосование в АГ. Тут явно не будет конфликта и накруток и можно будет динамику использовать как референс.
Гражданский контроль, ок, значит контроль :)
P.S. Сsv с накопленными данными будет доступен для исследований по запросу.
СЛЕГ! <Z> ️
Photo
Результат первых суток наблюдения за рядовым голосованием на АГ, которое никто не накручивает. Суммарно проголосовало сию 58к людей.
Забавно, что москвичи мало спят, ночное плато по голосам всего-то с 23:30 до 06:30.
Забавно, что москвичи мало спят, ночное плато по голосам всего-то с 23:30 до 06:30.
ag_mon.zip
4.2 KB
Я закончил разбираться в устройстве Активного Гражданина и теперь могу предоставить вам набор инструментов для изучения голосований.
Все потроха спрятаны внутрь класса AgController, из которого наружу выведены два метода:
detect_new_poll() - обнаруживает новые голосования и начинает их мониторить.
Возвращает 0 или количество новых голосований.
write_stats() - собирает и записывает все данные по всем активным голосованиям.
Возвращает True. Если хотя бы один вопрос получить с сервера не удалось, то False.
Достаточно эти два метода вызывать раз в 5 минут (период обновления данных голосований) и у вас есть вся информация.
Закончившиеся голосования перестают мониториться автоматически.
Количество вопросов в одном голосовании и вариантов ответов - любое.
Все потроха спрятаны внутрь класса AgController, из которого наружу выведены два метода:
detect_new_poll() - обнаруживает новые голосования и начинает их мониторить.
Возвращает 0 или количество новых голосований.
write_stats() - собирает и записывает все данные по всем активным голосованиям.
Возвращает True. Если хотя бы один вопрос получить с сервера не удалось, то False.
Достаточно эти два метода вызывать раз в 5 минут (период обновления данных голосований) и у вас есть вся информация.
Закончившиеся голосования перестают мониториться автоматически.
Количество вопросов в одном голосовании и вариантов ответов - любое.
СЛЕГ! <Z> ️
ag_mon.zip
Продолжение, начало выше ⬆️
Состав пакета:
main.py - демонстратор работы с классом
ag_classes.py - модуль с классами АГ
ag_poll_results.sqlite - пустая БД Sqlite, куда складываются данные.
sqlite_create.sql - скрипт для создания БД (на всякий случай)
visualisation.py - бонус-трек, программа для автоматической генерации графиков голосования. Единственное что нужно делать руками - менять параметр question_number в начале кода.
Лицензия - вы можете использовать, модифицировать, распространять и делать вообще что угодно с кодом. Но желательно не стирать указание на автора (MIT/BSD)
Состав пакета:
main.py - демонстратор работы с классом
ag_classes.py - модуль с классами АГ
ag_poll_results.sqlite - пустая БД Sqlite, куда складываются данные.
sqlite_create.sql - скрипт для создания БД (на всякий случай)
visualisation.py - бонус-трек, программа для автоматической генерации графиков голосования. Единственное что нужно делать руками - менять параметр question_number в начале кода.
Лицензия - вы можете использовать, модифицировать, распространять и делать вообще что угодно с кодом. Но желательно не стирать указание на автора (MIT/BSD)
Телеграм предупреждает, что он поверил в свое светлое будущее и собирается вырасти до более чем 2.15 миллиардов пользователей.
Программирующим на Python беспокоиться не нужно. А вот тем кто пишет на C и близких к нему языках, пора проверить тип хранения поля user_id
P. S. Сейчас свежие user_id раздают в диапазоне 1.6-1.7 миллиарда.
P. P. S. Но питонистам тоже есть что обновить. Сейчас понял, что в базе данных у меня user_id таки integer. Мне необходимо будет обновить таблицы postgresql до использования bigint.
Программирующим на Python беспокоиться не нужно. А вот тем кто пишет на C и близких к нему языках, пора проверить тип хранения поля user_id
P. S. Сейчас свежие user_id раздают в диапазоне 1.6-1.7 миллиарда.
P. P. S. Но питонистам тоже есть что обновить. Сейчас понял, что в базе данных у меня user_id таки integer. Мне необходимо будет обновить таблицы postgresql до использования bigint.
Как внезапно приходит слава. Официальный саппорт Qiwi рекламирует мой модуль, написанный в августе 2020 года, как референсный. Сейчас помог человеку запустить модуль в его проекте. Это уже как минимум шестой проект на нем (из тех, что я достоверно знаю). Спасибо Киви за такой пиар.
Есть. Мой модуль контроля Активного Гражданина засек новое голосование в момент его начала и собирает данные. Весь код работает корректно. А вот к данным есть некоторые вопросы, впрочем раньше, чем через пару месяцев накопления, всерьез я ничего заявить не смогу. :)
Upd (16/03). К данным все же вопросов нет.
Upd (16/03). К данным все же вопросов нет.
Новая голосовалка на АГ из трех вопросов. Сегодня уже 10 дней как я полностью собираю все данные всех опросов активного гражданина.
Придётся признать, что он состоит из живых людей, которые там голосуют. Все проблемы на графиках оказались моими проблемами, иногда АГ обновляется раз в 10 минут, а не раз в 5, что приводит к выбросам на графиках активности.
Соответственно большую статью с графиками я планирую написать в начале апреля, через месяц непрерывного наблюдения. Выведу средние параметры количества проголосовавших, время жизни голосования по дням и так далее. Только придётся ещё написать нормализацию данных для графиков.
Ещё выяснилось, что АГ проводит очень много мелких голосований, выделяя отдельные группы москвичей по районам, социальному статусу, количеству детей, наличию животных и так далее. Там проголосовавших ~10-15к. Некоторые из этих голосовалок можно найти простым подбором poll_id. В целом получается, что мэрию интересует мнение москвичей и АГ реальный инструмент его выяснения.
Придётся признать, что он состоит из живых людей, которые там голосуют. Все проблемы на графиках оказались моими проблемами, иногда АГ обновляется раз в 10 минут, а не раз в 5, что приводит к выбросам на графиках активности.
Соответственно большую статью с графиками я планирую написать в начале апреля, через месяц непрерывного наблюдения. Выведу средние параметры количества проголосовавших, время жизни голосования по дням и так далее. Только придётся ещё написать нормализацию данных для графиков.
Ещё выяснилось, что АГ проводит очень много мелких голосований, выделяя отдельные группы москвичей по районам, социальному статусу, количеству детей, наличию животных и так далее. Там проголосовавших ~10-15к. Некоторые из этих голосовалок можно найти простым подбором poll_id. В целом получается, что мэрию интересует мнение москвичей и АГ реальный инструмент его выяснения.
В продолжение темы "Определение возраста аккаунта по его user_id".
Новых юзеров телеграм регистрирует в пуле, размером 100 млн номеров, рандомно выделяя номера внутри пула. Когда пул заканчивается, выделяется следующий пул номеров на 100М.
Поскольку проекту Фома чуть больше года, я могу точно сказать даты, в которые стартовали последние 6 пулов.
Вот пулы, которые я могу подтвердить железными аргументами наблюдений и даты их запуска:
1 200 000 000 - 31/03/2020
1 300 000 000 - 26/06/2020
1 400 000 000 - 30/10/2020
1 500 000 000 - 04/01/2021
1 600 000 000 - 26/01/2021
1 700 000 000 - 17/03/2021
1 800 000 000 - 07/05/2021
1 900 000 000 - 16/07/2021
2 000 000 000 - 22/09/2021
2 050 000 000 - 04/10/2021
2 100 000 000 - 04/11/2021
5 000 000 000 - 01/12/2021
5 100 000 000 - 19/01/2022
5 300 000 000 - 12/04/2022
5 400 000 000 - 27/05/2022
5 600 000 000 - 14/08/2022
5 800 000 000 - 17/11/2022
Пользоваться этим легко: например, user_id=1 234 567 890 это пул 1 200 000 000 и он пришел в телеграм между 31 марта и 26 июня 2020 года.
Для более ранних у меня нет точных данных, можно только очень примерно назвать границы по годам, но это в целом не важно.
Массовые ботнеты, играющие живых людей в чатах, всегда на 80-95% состоят из свежих аккаутов. Поэтому, когда к вам вползает группа, топящая за одну общую позицию, смотрите их user_id и любуйтесь на наивных "работников" с общественным мнением.
Новых юзеров телеграм регистрирует в пуле, размером 100 млн номеров, рандомно выделяя номера внутри пула. Когда пул заканчивается, выделяется следующий пул номеров на 100М.
Поскольку проекту Фома чуть больше года, я могу точно сказать даты, в которые стартовали последние 6 пулов.
Вот пулы, которые я могу подтвердить железными аргументами наблюдений и даты их запуска:
1 200 000 000 - 31/03/2020
1 300 000 000 - 26/06/2020
1 400 000 000 - 30/10/2020
1 500 000 000 - 04/01/2021
1 600 000 000 - 26/01/2021
1 700 000 000 - 17/03/2021
1 800 000 000 - 07/05/2021
1 900 000 000 - 16/07/2021
2 000 000 000 - 22/09/2021
2 050 000 000 - 04/10/2021
2 100 000 000 - 04/11/2021
5 000 000 000 - 01/12/2021
5 100 000 000 - 19/01/2022
5 300 000 000 - 12/04/2022
5 400 000 000 - 27/05/2022
5 600 000 000 - 14/08/2022
5 800 000 000 - 17/11/2022
Пользоваться этим легко: например, user_id=1 234 567 890 это пул 1 200 000 000 и он пришел в телеграм между 31 марта и 26 июня 2020 года.
Для более ранних у меня нет точных данных, можно только очень примерно назвать границы по годам, но это в целом не важно.
Массовые ботнеты, играющие живых людей в чатах, всегда на 80-95% состоят из свежих аккаутов. Поэтому, когда к вам вползает группа, топящая за одну общую позицию, смотрите их user_id и любуйтесь на наивных "работников" с общественным мнением.
Telegram
СЛЕГ! <Z>
Итак, Фома версии 3, встречайте:
Обслуживает чаты с более чем 7 тысячами человек населения.
Автоматический антиспам (сообщения чаще чем раз в 1.5 секунды, 5 сообщений подряд в чате или комментариях)
Автоматический антибоян (нельзя запостить форвард новости…
Обслуживает чаты с более чем 7 тысячами человек населения.
Автоматический антиспам (сообщения чаще чем раз в 1.5 секунды, 5 сообщений подряд в чате или комментариях)
Автоматический антибоян (нельзя запостить форвард новости…
Поздно, но подключился к просмотру шоу навальный и его друзья. Когда их наберётся полмиллиона, будет революция. Что тут можно сказать.
А) вчера в 12 дня они уменьшили свой счётчик на 7664 человека, которых объявили ботами.
Б) сырые данные (левый график, приток по минутам) у них выглядят как пиздец. Сервер постоянно возвращает значение меньше предыдущего. С другой стороны, какой нормальный программист пойдёт туда вкалывать за 50к, ха.
В) судя по всему, накрутки очень даже были, но в первый день и вчера до 3х часов дня. Дальше график выглядит как нормальный приток живых людей. То есть примерно 60к настоящих людей там есть сейчас точно.
Последний график (правый), который даёт нормальное представление о потоках людей, построен после отбрасывания всех неверных данных и усреднения по пятиминутным интервалам.
P. S. Политический телеграм при этом не реагирует никак, никакой активности нет с февраля, когда он проснётся я обязательно напишу :)
P. P. S. Спасибо каналу @rufuturism за интерес к моим игрушкам.
А) вчера в 12 дня они уменьшили свой счётчик на 7664 человека, которых объявили ботами.
Б) сырые данные (левый график, приток по минутам) у них выглядят как пиздец. Сервер постоянно возвращает значение меньше предыдущего. С другой стороны, какой нормальный программист пойдёт туда вкалывать за 50к, ха.
В) судя по всему, накрутки очень даже были, но в первый день и вчера до 3х часов дня. Дальше график выглядит как нормальный приток живых людей. То есть примерно 60к настоящих людей там есть сейчас точно.
Последний график (правый), который даёт нормальное представление о потоках людей, построен после отбрасывания всех неверных данных и усреднения по пятиминутным интервалам.
P. S. Политический телеграм при этом не реагирует никак, никакой активности нет с февраля, когда он проснётся я обязательно напишу :)
P. P. S. Спасибо каналу @rufuturism за интерес к моим игрушкам.
Передайте пожалуйста тупакам из канала медиакиллер, что они не разбираются в медиа.
Ссылаются на приблизительные данные сервиса, взятые с потолка, как на реальную статистику. 🙈
Ссылаются на приблизительные данные сервиса, взятые с потолка, как на реальную статистику. 🙈
Важный и неочевидный костыль, который Паша вколотил для чатов голосом: запись голосового чата, после того, как её закончили, появляется в аккаунте "избранное" / "saved messages". На мобильнике её при этом нет, поэтому найти её можно только случайно. А вот из сохранённых её уже можно выгрузить в компьютер/мобилу и так далее. Кодек ogg, моно, 48КГц.