Кому лень читать много букв и хочется сразу потестировать бота
Ищем в поиске в Телеграм @Sojourner419_bot или кликаем на ссылку, и бот сразу появится у вас в Телеге. Теперь подробности и логика работы.
Технические подробности и логика работы
То, о чем меня просили многие, свершилось! Теперь мой бот умеет отслеживать и заряд на ачивках для медальки Guardian! Откровенно говоря, я сам заколебался вести их учет в Экселе, и давно хотел прикрутить этот функционал, но как всегда — было лень. Но три дня ударной работы — и вуаля! Совершенно новый инструмент к вашим услугам!
Прямая ссылка на бота — открывать из телеги.
Или искать по нику: @Sojourner419_bot
Для тех, кто не в курсе:
Guardian — это медаль за удержание портала в течение определенного времени. Забираешься в ебеня- захватываешь там точку и потихоньку заряжаешь её — хотя бы три месяца. И будет тебе платина) И вот как раз периодически ее заряжать народ забывает, а если их много, то и вовсе кошмар… И тут помогает мой бот.
Как это работает
Всё очень просто. Теперь у нас в главном меню добавилась еще одна кнопка — Guardian:
Пробежимся по тому, что ждет нас внутри. А внутри нас ждет список команд…
- Мои ачивки — список порталов, которые вы добавили через бота. В этом списке вам отобразятся заряд ачивки, число дней, которое она стоит и конечно же — её название. Это может выглядеть, например, вот так:
- Добавить — добавить новые ачивки. Можно добавить как одну ачивку, так и сразу несколько с новой строки. Но важно соблюсти формат:
ачивка # число дней, сколько она стоит
Тогда в базу занесутся сразу и названия и число дней, сколько порталы стоят. Естественно, эти данные вы должны знать сами. У меня, например, была табличка в Экселе, которая сама всё это считала, но он не умеет слать уведомления, к тому же — не всегда под рукой.
И еще: можно, добавляя новую ачивку, добавить только название, число дней по умолчанию будет равно нулю. Ну и все добавленные ачивки автоматом получают заряд 100%. Поэтому, после того как их добавите, сразу зарядите в реальности, в сканере, чтоб информация в базе соответствовала реальности.
- Зарядить — эта команда вам пригодится как раз для того, чтобы обновлять данные в базе. Вы через три дня решили зарядить ачивки? Тогда нужно нажать сюда и выбрать, какие ачивки вы перезаряжали. Для удобство можно перезарядить сразу все — самая нижняя кнопка. Кстати, кнопки, которые выскочат — они интерактивные! (Спасибо телеграму с его API 2.0). Это значит, что вы жмете на кнопку — и информация сразу идет в базу, а сам портал падает вниз списка, потому что теперь он самый полный из всех. Сортировка идет по возрастанию заряда, то есть — самые слабые ачивки вверху списка. Кстати, сообщение тоже не прокручивается, а редактируется, круть!
- Удалить — удалить портал из базы. Актуально, если его перезахватили. Ну, или он стал вам не интересен по каким-то причинам. Собственно, так же как и с зарядкой — можно удалить всё сразу. Но будьте осторожны! Операция не обратима и не запрашивает подтверждения. Если что, придется добавлять всё назад, так что аккуратнее с этим…
- Минимальный заряд — здесь вы задаете в процентах заряд, ниже которого не хотите разряжать свои порталы. Если у вас включено оповещение про ачивки, то бот будет каждый день сравнивать их заряд с тем, что вы установили, и когда он упадет ниже — пришлет вам уведомление с порталами, которые нужно зарядить. По умолчанию этот заряд — 50%. Этого вполне достаточно, чтоб не проворонить зарядку.
- Во сколько писать — чтобы не надоедать вам, бот может присылать сводку про ачивки раз в день. А вот когда — это вы выбираете сами. Точнее, вы выбираете час, когда он будет вам писать. По умолчанию — это восемь вечера — 20:30. Час изменить можно, а вот 30 — нет. Чтобы распределять нагрузку на сервер, я запускаю свои скрипты в разное время, так что с этим придется смириться.
- Вкл/Выкл — кнопка регулировки уведомлений про ачивки. Сразу скажу, что остальные уведомления работают так же, как работали до обновления. То есть, если у вас там всё выключено, то Гардиан можно врубить отдельно.
Такой вот нехитрый функционал.
Как со всем этим работать
- Заносите порталы, которые являются вашими ачивками, можно сразу пачкой, и удобнее это делать с ПК. Там можно подготовить удобный формат для вставки.
- Выставляете минимальный заряд порталов, при котором бот будет вам писать.
- Выставляете час уведомления.
- Включаете оповещение про ачивки, потому что по-умолачанию оно выключено!
- PROFIT!!!
Как считается заряд
Бот идет в базу, берет оттуда время последнего заряда, сравнивает его с текущем временем, считает разницу и выражает её в процентах. То есть за день заряд падает где-то на:
100%/6=16.6% (вы же знаете, что портал падает за
неделю?) На самом деле — за шесть дней — спасибо за уточнение пользователю @AHDPJOXA, я как-то совсем об этом забыл)
Да, я знаю, что в игре он падает дискретно, раз в сутки, но такая точность нам не нужна. Более того, так можно видеть изменение заряда в реальном времени.
Если надо только Guardian
На самом деле я надеюсь, что это новшество привлечет народ, которому пофиг на «Саложера», но надо «Гардиан». Как же быть тогда? А очень просто! Ставим бота, заносим ачивки и прочее, и вырубаем все другие уведомления. Это можно сделать в настройках. Возможно, со временем, я введу функционал, чтоб можно было выбирать стартовый экран — сожорнер или Guardian:
Почему бы не сделать отдельного бота
- Во-первых, двух ботов сложнее поддерживать, в плане обновлений и внедрения новых идей.
- Во-вторых, по смыслу они похожи: и там и там есть таймеры. Только «саложер» запускается каждый день несколько часов подряд, а Гардиан — раз в день. Этого достаточно.
- В-третьих, у этого бота уже есть пользовательская база. Там более 700 человек, из которых половина юзает его каждый день. А значит — не придется думать о рекламе, и я надеюсь что, именно Вы, эти активные пользователи — приведете сюда еще больше народа.
- Ну и одним ботом пользоваться удобнее, чем двумя. Кто знает, что я еще придумаю сюда добавить)
Ложка дёгтя
Пока что для каждого пользователя доступно только 10 ачивок. Это сделано для того, чтобы протестировать нагрузку на сервер и БД. Посмотрим, может в дальнейшем этот лимит будет увеличен. Длина названия — 30 знаков, не увлекайтесь.
Хитрые фишки
Уведомлялку Гардиана можно юзать не только для Гардиана. Один товарищ просил меня сделать напоминалку, чтоб оно ему напоминало на сайт со статистикой скрины залить раз в три дня. Теперь это можно сделать так:
- Добавляем ачивку «Залить скрины на сайт»
- Ставим заряд:
100 — 16,6*3= 50,2%
- Включаем уведомление и желаемое время
- PROFIT!
То, чего вы не видите…
- Была улучшена производительность запросов к БД. Теперь всё это должно работать быстрее, «тяжелые» запросы были упрощены.
- Решена проблема с «крайними» часовыми поясами. Вчера я внезапно обнаружил, что если время сильно отличается от Московского, и в уведомлениях ставятся крайние часы, то оповещения начинают работать не корректно. Пришлось срочно придумывать новый алгоритм расчета. При этом вам ничего обновлять не надо, всё должно работать, как до этого, только лучше. Так что, если у кого-то что-то заглючит — то это вот оно. Пишите в обратную связь или в личку.
А пояс сменили аж 70 человек — сейчас это почти 10% всех пользователей, значит, не зря делал - В меню настроек добавились иконки. Чтобы было как везде:
- Пофиксил мелкие глюки и баги и прикрутил к боту статистику от Яндекса, правда, пока она весьма пустая, но пишу для размышлений даст:
На этом, кажется, всё, хотя наверняка, что-то забыл. Тестируем, отписываемся о своих идеях и впечатлениях в Обратную связь или в личку @pavel419. Так же не забываем оценивать бота в магазине телеграм-ботов. Кстати…
Сегодня ИПС!
А это значит, что у вас есть замечательный шанс, чтобы рассказать вашим друзьям про моего замечательного бота! Так вы окажете лучшую поддержку проекту!
Вообщем, с утра жду наплыва народа, да прибудут с вами Sojourner и Guardian!
Обновлено
После публикации в группе ВК с пасскодами для Ingress в бота уже перешло более ста человек! Рост продолжается!