Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👏1😁1
Счастье состоит в возможности выспаться
Суть в собирательном смысле: здоровые нервы, чувство безопасности, безопасное место и т.д.
И вот только сегодня до меня дошло, что примерно тоже самое можно сказать про настолки. Не, ну а что? У тебя есть друзья, у вас общие интересы, у вас есть время, есть энергия, вы достаточно любознательны, даже место, где собраться, тоже есть. В целом, наверное, много подобных примеров можно написать.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1⚡1🔥1👏1
This media is not supported in your browser
VIEW IN TELEGRAM
Как же жиза ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
💯4⚡1😁1🆒1
Всем доброго утра в этот прекрасный понедельник вторник. До последнего переезда у котобота был и мониторинг, и триггеры, и красивая доска. Был. Переехал, и пришлось ужиматься. Так что теперь мониторинг как в меме. Спасибо всем не безучастным игрокам 🤩
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡4❤1🔥1🥰1👏1😁1
Угадаете что это?
EVENT_YEAR|EVENTS_COUNT|
2019|1735|
2020|11579|
2021|17699|
2022|37951|
2023|54794|
2024|191853|
2025|1119778|
2026|397856|
👀3🤔2🤓1
Ну что, бот теперь живёт на PostgreSQL, обзавёлся индексами и архивированием данных. Так что теперь он работает быстрее и предсказуемей 👩💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3❤🔥2🔥2👏1🎉1
И так — проверка работы бота-модератора. По плану сообщение не должно быть удалено из чата, и можно будет оставить пару комментариев.
🎉7⚡1👍1🔥1
Переменные бота сейчас поддерживают несколько скоупов:
USER - относится только к игроку, не привязана к чату (например скорость чтения квестов или настройка упоминания)
CHAT - относится только к чату (уровень приманок, действия феромона)
CHAT_USER - работает для юзера в чате (деньги, количество колокольчиков)
LOCAL - существуют только пока жива сессия квеста, нужны для того чтобы, например, запоминать выбор игрока в квесте
QUEST - нужны для сохранения прогресса в квесте
QUEST_CHAT - нужны для сохранения прогресса в квесте для чата
И вот теперь, когда вы ознакомились с типами скоупов переменных я могу торжественно объявить о добавлении новом типе - WORLD. Такие переменные нужны для того чтобы хранить информацию о мире, которая сразу относится ко всем чатам и игрокам.
Please open Telegram to view this post
VIEW IN TELEGRAM
Все 7 лет, что я разрабатываю Котобота я страдал. Страдал от необходимости закрывать опросы перед деплоем. Сейчас объясню!
Когда пользователь присылает картинку и бот создаёт опрос "Это кот?", информация об этом опросе помещается в оперативную память. И при перезагрузке приложения эта информация терялась. И, конечно же, опросы, созданные игроками, терялись, становясь неактивными. Позорише короче.
А установка каждого обновления требовала перезагрузки. Вы понимаете, да? Чем больше обновлений и фиксов, тем больше позора.
В какой-то момент я написал команду для форсированного закрытия опросов, для закрытия было достаточно хотя бы одного голоса, а если голосов нет - то результат нулевой.
Это было чуть удобнее, но не слишком. Каждый деплой надо было не забыть вызвать команду, плюс дождаться её выполнения. И чтобы телега не наказала бота за слишком частую отправку сообщений, приходилось добавлять паузу в секунду между закрытиями опросов. И приходилось ждать, иногда очень долго ждать. Не знаю, кто это люди, что открывают по 300 опросов в день, и сильно сомневаюсь, что там везде уличные котики, но это их право.
К чем я всё это? Вчера я реализовал персистентное хранение данных опроса🎉 Чуть меньше страданий, чуть меньше позора 😄
Когда пользователь присылает картинку и бот создаёт опрос "Это кот?", информация об этом опросе помещается в оперативную память. И при перезагрузке приложения эта информация терялась. И, конечно же, опросы, созданные игроками, терялись, становясь неактивными. Позорише короче.
А установка каждого обновления требовала перезагрузки. Вы понимаете, да? Чем больше обновлений и фиксов, тем больше позора.
В какой-то момент я написал команду для форсированного закрытия опросов, для закрытия было достаточно хотя бы одного голоса, а если голосов нет - то результат нулевой.
Это было чуть удобнее, но не слишком. Каждый деплой надо было не забыть вызвать команду, плюс дождаться её выполнения. И чтобы телега не наказала бота за слишком частую отправку сообщений, приходилось добавлять паузу в секунду между закрытиями опросов. И приходилось ждать, иногда очень долго ждать. Не знаю, кто это люди, что открывают по 300 опросов в день, и сильно сомневаюсь, что там везде уличные котики, но это их право.
К чем я всё это? Вчера я реализовал персистентное хранение данных опроса
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡3
Любопытный Код
Вы уже могли видеть пару примеров использования переменных скоупа WORLD (общие для всех, не привязаны ни к чату, ни к игроку).
1. Общие усилия - перед тем как получить бонус, суммарно 300 игроков должны были совершить действия
2. Бонус доступен в определенное время суток, в другое предлагает вернуться позже
На счёт второго немного сомневался, т.к. это ограничивает контент. Но мне очень нравится идея, и то, что картинка меняет в зависимости от времени суток. Так что я оставил и горжусь.
Так вот. Я что, зря создавал технический канал для самых умных игроков? Давайте, набрасывайте идеи в комментариях🤪
1. Общие усилия - перед тем как получить бонус, суммарно 300 игроков должны были совершить действия
2. Бонус доступен в определенное время суток, в другое предлагает вернуться позже
На счёт второго немного сомневался, т.к. это ограничивает контент. Но мне очень нравится идея, и то, что картинка меняет в зависимости от времени суток. Так что я оставил и горжусь.
Так вот. Я что, зря создавал технический канал для самых умных игроков? Давайте, набрасывайте идеи в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Котобот
DAU 962 (Δd −707 / Δw +148) · DAC 628 · stickiness 14% · w/m 47%
New users: 100 · Returning: 862
Quests: 725 plays / 453 users · timeout 0% · 👍283 🤔41 👎37 ⏳171
Story: HouseOnTreeCatPhase 24, long_train_journey 23, TheeCatInWindowPhase 22
Routine: FishingPhase 30, VladimirWorkshopVisitPhase 4, caffe_visit_stub 3
Real: 13 polls · 0.5 votes/poll
Promo: waiting 0 → used 0
Chats: +19 new active · 332 went quiet (7d)
#daily_stats
New users: 100 · Returning: 862
Quests: 725 plays / 453 users · timeout 0% · 👍283 🤔41 👎37 ⏳171
Story: HouseOnTreeCatPhase 24, long_train_journey 23, TheeCatInWindowPhase 22
Routine: FishingPhase 30, VladimirWorkshopVisitPhase 4, caffe_visit_stub 3
Real: 13 polls · 0.5 votes/poll
Promo: waiting 0 → used 0
Chats: +19 new active · 332 went quiet (7d)
#daily_stats
⚡2👀2
Котобот
DAU 962 (Δd −707 / Δw +148) · DAC 628 · stickiness 14% · w/m 47% New users: 100 · Returning: 862 Quests: 725 plays / 453 users · timeout 0% · 👍283 🤔41 👎37 ⏳171 Story: HouseOnTreeCatPhase 24, long_train_journey 23, TheeCatInWindowPhase 22 Routine: FishingPhase…
Вот такую ежедневную выжимку получаю от бота для анализа игровой активности.
Жду ваш глубокий анализ и вопросы в комментариях🤓
Жду ваш глубокий анализ и вопросы в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1