Сколько репутации вы потеряли сегодня?

17

Если предположить, что StackExchange не решит восстановить мою учетную запись после удаления из-за возрастных ограничений (хотя мне уже 14 и почти 15 лет), многие пользователи этого сайта просто потеряли репутацию из-за удаления моих голосов. Это произошло около 5:30 вечера 20 июня 2017 года по UTC.

Итак, ваша задача - показать, сколько репутации PPCG было потеряно из-за моего удаления, учитывая ID PPCG пользователя.

Вызов

вход

Одно целое число будет представлять UUID пользователя в PPCG.

Выход

Одно целое число будет отображать, сколько репутации пользователь потерял из-за этого. Если пользователь потерял репутацию несколько раз в течение одного и того же часа из-за удаления пользователя, тогда допустимо, если ваша программа возвращает номер не того пользователя. В случае, если пользователь приобрел репутацию после удаления моей учетной записи, ваша программа должна вернуть отрицательное число за потерю отрицательной репутации. И, наконец, если бы я не голосовал за этого пользователя (за последние 60 дней), ваша программа должна вернуть 0.

Тестовые случаи

UUID  -> REP-LOST (Username) # Don't output the username
40695 -> 22 (Downgoat)
12012 -> 148 (Dennis)
8578  -> 61 (Martin Ender)

Вы можете проверить, зайдя /codegolf//users/<UUID>/?tab=reputation&sort=postи ищаUser was removed (learn more)

Оригинальная идея благодаря Уриэлю с одобрением

Заметка

Спасибо JungHwan Min за эту ссылку!

/codegolf//ajax/users/<UUID>/rep/day/1497916800

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

HyperNeutrino
источник
Комментарии не для расширенного обсуждения; этот разговор был перемещен в чат .
Деннис
1
SE имеет возрастные ограничения? Что это было?
user202729
1
@ user202729 Владельцу аккаунта должно быть не менее 13 лет. Я создал свою учетную запись переполнения стека, когда мне было 12 лет, но они удалили ее, когда мне было почти 15 ...
HyperNeutrino

Ответы:

8

JavaScript ES6, 132 байта

n=>fetch(`/ajax/users/${n}/rep/day/1497916800`).then(v=>v.text()).then(v=>alert((v.match(/rep-down">-(\d+)[^u]+user w/)||[0,0])[1]))

Протестировано в Safari 10. При этом используется новый fetchAPI и выводится предупреждение. Это функция, поэтому передайте идентификатор пользователя в качестве аргумента. Это будет выводить 0без изменений повторений.

Должен быть запущен на PPCG из-за CORS (совместного использования ресурсов из разных источников), браузеры не позволяют JavaScript выполнять веб-запрос вне текущего домена.

Downgoat
источник
FWIW, это сообщает о 65 в моем случае (UUID 58563), хотя я потерял 75 напрямую ( пользователь был удален ) и 20 косвенно (из-за удаления моего ответа « Угадай пол» ). Я не думаю, что вам нужно принимать во внимание эти 20, но не должны ли они все же вернуть 75? (Впрочем, это может быть особый случай. Разница заключается в третьем потерянном голосе за «Угадай пол», который был от HyperNeutrino.)
Арно
1
Подождите, требуется, чтобы код, выполняемый на определенном домене, действовал?
Лохматый
@Arnauld вопросы, кажется, спрашивают нас, сколько репутации было потеряно из-за определенного события "пользователь был удален". Я не уверен, что вы смотрите, но когда я захожу в ваш профиль, я вижу -65?
Даунгаут
@ Shaggy это как код, который нужно запускать на определенной ОС, он действителен, но с JS это больше требования из-за CORS. Смотрите последний абзац
Downgoat
:) Это сэкономит мне так много байтов на вызовах, которые требуют извлечения внешнего файла - счастливых дней.
Лохматый