TGViewer
Channel Public Channel
Любопытный Код

Любопытный Код

@curious_code

Технический канал квест-бота про котиков: @Cat_game_bot

Канал квест-бота: @Curios_Cat
Subscribers
115
Photos
43
Videos
6
Links
4
Recent Posts 19 shown
Post #80 280
Уже довольно давно для ботов добавили возможность присылать премиум эмодзи. И сегодня у меня, наконец, сформировалась идея, как это можно прикрутить к боту, пройдя "путём лени".
Немного контекста для тех, кто пока этого не делал. В зависимости от того, какой формат для сообщения вы используете, кастомный эмодзи можно прислать одним из двух вариантов
![👍](tg://emoji?id=${CUSTOM_EMOJI_ID})

или
<tg-emoji emoji-id="${CUSTOM_EMOJI_ID}">👍</tg-emoji>


Решение в лоб - создание констант, внесение правок в код или квесты. Но это долго, тяжело, ухудшает читаемость.

Поэтому я создал файл, в который сложил айдишники и эмодзи для них:
🍁;5193012603605001210
🍃;5192741668478035175
🌰;5192803812359842091

При этом для эмодзи может быть несколько id'шников.
Ну и в самом конце прикручиваем постобработку сообщений - если эмодзи в отправляемом текстом не окружен >< или ][ (в зависимости от формата), подставляем один из кастомных эмодзи случайным образом.
  • ⚡ 9
  • ❤ 4
  • 💘 1
Post #79 271
  • 🌭 4
  • 💯 3
  • ⚡ 2
  • 🕊 1
Post #77 317
Угадайте что 😏
  • 🥰 7
  • ❤‍🔥 4
  • 😍 4
  • ⚡ 2
  • 🔥 1
Post #76 302
Ребят, а Котоботу то сегодня 7 лет 🎂🎉
  • 🎉 9
  • 🌭 2
Post #75 275
Наконец дозрел до прикручивания доната к боту. Угадайте с чего я начал? Думаете с удочки? А вот и нет.
После того как пользователь проходит новый квест, ему предлагается его оценить. Теперь после положительной оценки, ему предлагается сделать донат на корм Любопытному Коту. Если он отказывается, то следующее предложение ему будет показано только через месяц. Таким образом и ненавязчиво, но в целом понятно за что, Кот начнёт зарабатывать.

А вы пожертвуете Коту на корм? 😮
  • 🔥 6
  • ❤ 2
  • ⚡ 1
Post #74 209
Делюсь интересным фактом.
Все пользователи бота за все время скопили 6 591 805 💰

Т.е. 6.5 миллионов золотых 😎
  • ⚡ 9
Post #73 279
Котобот 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…
Вот такую ежедневную выжимку получаю от бота для анализа игровой активности.

Жду ваш глубокий анализ и вопросы в комментариях 🤓
  • ❤ 2
Post #72 257

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
  • ⚡ 2
  • 👀 2
Post #70 348
"Ставим ставки" - когда релиз?
  • ⚡ 17
  • ❤ 5
Post #69 262
Любопытный Код ‼️ Перед тем как поделиться новым обновлением, нужно сделать некоторую вводную. Переменные бота сейчас поддерживают несколько скоупов: USER - относится только к игроку, не привязана к чату (например скорость чтения квестов или настройка упоминания) CHAT…
Вы уже могли видеть пару примеров использования переменных скоупа WORLD (общие для всех, не привязаны ни к чату, ни к игроку).

1. Общие усилия - перед тем как получить бонус, суммарно 300 игроков должны были совершить действия

2. Бонус доступен в определенное время суток, в другое предлагает вернуться позже

На счёт второго немного сомневался, т.к. это ограничивает контент. Но мне очень нравится идея, и то, что картинка меняет в зависимости от времени суток. Так что я оставил и горжусь.

Так вот. Я что, зря создавал технический канал для самых умных игроков? Давайте, набрасывайте идеи в комментариях 🤪
Post #68 241
Все 7 лет, что я разрабатываю Котобота я страдал. Страдал от необходимости закрывать опросы перед деплоем. Сейчас объясню!

Когда пользователь присылает картинку и бот создаёт опрос "Это кот?", информация об этом опросе помещается в оперативную память. И при перезагрузке приложения эта информация терялась. И, конечно же, опросы, созданные игроками, терялись, становясь неактивными. Позорише короче.

А установка каждого обновления требовала перезагрузки. Вы понимаете, да? Чем больше обновлений и фиксов, тем больше позора.

В какой-то момент я написал команду для форсированного закрытия опросов, для закрытия было достаточно хотя бы одного голоса, а если голосов нет - то результат нулевой.

Это было чуть удобнее, но не слишком. Каждый деплой надо было не забыть вызвать команду, плюс дождаться её выполнения. И чтобы телега не наказала бота за слишком частую отправку сообщений, приходилось добавлять паузу в секунду между закрытиями опросов. И приходилось ждать, иногда очень долго ждать. Не знаю, кто это люди, что открывают по 300 опросов в день, и сильно сомневаюсь, что там везде уличные котики, но это их право.

К чем я всё это? Вчера я реализовал персистентное хранение данных опроса 🎉 Чуть меньше страданий, чуть меньше позора 😄
  • ⚡ 3
Post #67 183
‼️ Перед тем как поделиться новым обновлением, нужно сделать некоторую вводную.
Переменные бота сейчас поддерживают несколько скоупов:

USER - относится только к игроку, не привязана к чату (например скорость чтения квестов или настройка упоминания)
CHAT - относится только к чату (уровень приманок, действия феромона)
CHAT_USER - работает для юзера в чате (деньги, количество колокольчиков)
LOCAL - существуют только пока жива сессия квеста, нужны для того чтобы, например, запоминать выбор игрока в квесте
QUEST - нужны для сохранения прогресса в квесте
QUEST_CHAT - нужны для сохранения прогресса в квесте для чата


И вот теперь, когда вы ознакомились с типами скоупов переменных я могу торжественно объявить о добавлении новом типе - WORLD. Такие переменные нужны для того чтобы хранить информацию о мире, которая сразу относится ко всем чатам и игрокам.

〰️ Делитесь в комментариях идеями, как это можно будет использовать
Post #66 184
И так — проверка работы бота-модератора. По плану сообщение не должно быть удалено из чата, и можно будет оставить пару комментариев.
  • 🎉 7
  • ⚡ 1
  • 👍 1
  • 🔥 1
Post #65 211
По мотивам переписки в чате. Никаких исключений.
  • ⚡ 9
Post #64 201
  • 😁 6
  • 🔥 2
  • 👍 1
  • 💩 1
Post #63 164
Ну что, бот теперь живёт на PostgreSQL, обзавёлся индексами и архивированием данных. Так что теперь он работает быстрее и предсказуемей 👩‍💻
  • ❤ 3
  • ❤‍🔥 2
  • 🔥 2
  • 🎉 2
  • 👏 1
Post #62 184
Угадаете что это?
EVENT_YEAR|EVENTS_COUNT|
2019|1735|
2020|11579|
2021|17699|
2022|37951|
2023|54794|
2024|191853|
2025|1119778|
2026|397856|
  • 👀 3
  • 🤔 2
  • 🤓 1
Post #61 225
Всем доброго утра в этот прекрасный понедельник вторник. До последнего переезда у котобота был и мониторинг, и триггеры, и красивая доска. Был. Переехал, и пришлось ужиматься. Так что теперь мониторинг как в меме. Спасибо всем не безучастным игрокам 🤩
  • ⚡ 4
  • 🔥 2
  • ❤ 1
  • 🥰 1
  • 👏 1
  • 😁 1
Older posts →

About this channel

How can I read @curious_code without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Любопытный Код: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Любопытный Код have?
Любопытный Код (@curious_code) has 115 subscribers on Telegram, refreshed roughly every 30 minutes.
Does Любопытный Код know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →