WarTechCodex | Dev-logs
229 subscribers
11 photos
1 video
28 links
Download Telegram
По ошибкам из лога: это не поломка достижений как системы данных. В логе снова есть "TelegramRetryAfter", Telegram временно ограничивает "EditMessageText" и "SendMessage" в чате, то есть бот упирается в flood limit. Это видно также и по open.py, и по collection.py, и по upgrade.py.

Вывод простой: достижения по чатам я сделал, а вот TelegramRetryAfter полностью убрать нельзя это ограничение Telegram. Сделать чтобы бот работал без ограничений невозможно, но и сам факт лимита будет иногда появляться особенно когда много людей одновременно забирают награды или листают меню. И кстати полный вайп статистики это не решит
⚙️ Обновление стабильности WarTech Codex

После выхода системы достижений многие начали массово забирать накопленные награды. Из-за этого бот столкнулся с ограничениями Telegram на количество запросов за короткое время.

Чтобы решить эту проблему, была полностью переработана система взаимодействия бота с Telegram.

Что изменилось?

🛡 Добавлена единая система безопасной работы с Telegram API.

Теперь все основные команды используют специальный модуль, который автоматически обрабатывает большинство временных ошибок Telegram.

Он умеет:

• обрабатывать ограничения Telegram (Flood Control);
• пережидать необходимое время, если Telegram просит подождать;
• корректно работать при временных сетевых сбоях;
• обрабатывать ошибки редактирования сообщений;
• безопасно отвечать на callback-кнопки;
• записывать ошибки в лог без остановки работы бота.

Как это работает?

Раньше ситуация выглядела примерно так:

Игрок использует команду:
/profile



Telegram отвечает:

«Подождите 8 секунд»



Возникала ошибка.

• Теперь происходит иначе:

Игрок использует команду:
/profile



Telegram отвечает:

«Подождите 8 секунд»



Бот автоматически ждёт указанное Telegram время и повторяет попытку.

Если запрос всё равно не получится выполнить, бот просто запишет информацию в лог и продолжит работать дальше, не останавливаясь.

Это касается не только команды /profile, но и большинства остальных команд.

Также была добавлена защита от спама кнопок в системе достижений.

Теперь:

• повторные быстрые нажатия больше не создают множество одинаковых запросов;
• старые кнопки больше не должны вызывать ошибок;
• значительно уменьшена нагрузка на Telegram.

☄️Кроме этого появилась новая кнопка:

🎁 Забрать все награды

Теперь не нужно нажимать кнопку получения награды у каждого достижения отдельно.

Достаточно нажать одну кнопку, после чего бот автоматически:

• проверит все выполненные достижения;
• выдаст все доступные награды;
• покажет общую сумму полученных кредитов и контейнеров.

Например:

💰 Получено кредитов: 5200
📦 Получено контейнеров: 7

Это не только удобнее, но и значительно уменьшает количество запросов к Telegram.

Важно понимать.

Я сделал всё, что возможно реализовать со стороны самого бота.

Однако существуют ограничения, которые устанавливает сам Telegram.

Если Telegram временно отвечает:

«Слишком много запросов. Подождите несколько секунд.»

❗️обойти это ограничение невозможно.

Но теперь бот не должен падать из-за подобных ситуаций и будет продолжать работать даже при высокой нагрузке.
Please open Telegram to view this post
VIEW IN TELEGRAM
WarTechCodex | Dev-logs
⚙️ Обновление стабильности WarTech Codex После выхода системы достижений многие начали массово забирать накопленные награды. Из-за этого бот столкнулся с ограничениями Telegram на количество запросов за короткое время. Чтобы решить эту проблему, была полностью…
Насчёт кнопки "Забрать все" она есть только если у вас соответственно имеются не забранные награды в достижениях. Если награды вы все забрали ранее, то данной кнопки "Забрать все" не будет.
/bonus STABLE

Тип: Публичный

Лимит активаций: 15
Бот отключен. Примерно на час-два может меньше!
Бот работает.

/bonus STABLE_2

Тип: Публичный

Лимит активаций: 15
👍1
⚙️ Обновление игровых команд

В этом обновлении была полностью переработана логика работы команд /risk, /balance и /profile.

Главная цель — убрать лишний спам в игровых чатах, при этом не менять привычную игровую систему и не ломать существующую статистику игроков.

Что изменилось?

🎰 Команда /risk

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

Теперь:

/risk работает только в личных сообщениях бота.

Если написать команду в чате, бот один раз ответит:

Эту команду теперь можно использовать только в личных сообщениях бота.

Таким образом игровой чат остаётся чище, а играть в казино стало гораздо удобнее.

━━━━━━━━━━━━━━

💰 Команда /balance

Теперь команда также работает только в личных сообщениях.

Если использовать её в игровом чате, бот сообщит, что команда доступна только в ЛС.

Таким образом проверять баланс можно в любое время, не засоряя общий чат.

━━━━━━━━━━━━━━

👤 Команда /profile

Команда /profile продолжает работать как раньше в игровых чатах.

Но теперь она также полностью работает и в личных сообщениях бота.

То есть посмотреть свой профиль теперь можно где угодно.

━━━━━━━━━━━━━━

Как теперь бот понимает, какую статистику показать?

У многих возникнет логичный вопрос:

"А если я состою сразу в нескольких игровых чатах?"

Для этого была реализована система автоматического определения последнего активного игрового чата.

Например.

Вы играли в чате №1:

• открывали контейнеры;
• покупали технику;
• использовали игровые команды.

Бот автоматически запоминает именно этот чат как ваш последний активный.

Теперь, если вы откроете личные сообщения и напишете:

/profile

или

/balance

или

/risk

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

То есть никакой выбор вручную делать не нужно.

━━━━━━━━━━━━━━

Пример

Допустим, в игровом чате у вас:

💰 2500 кредитов

Вы переходите в личные сообщения бота.

Пишите:

/risk 500

Выигрываете.

Баланс становится:

💰 2975 кредитов.

После этого вы возвращаетесь обратно в игровой чат.

Пишете:

/profile

или открываете магазин.

Вы увидите уже те же самые 2975 кредитов.

Никаких отдельных балансов не создаётся.

Все изменения сохраняются именно в базе данных того игрового чата, в котором вы играли.

━━━━━━━━━━━━━━

Если вы состоите сразу в нескольких игровых чатах

Допустим, вы сначала активно играли в одном чате.

Позже перешли во второй чат и продолжили играть уже там.

После этого бот автоматически начинает использовать статистику именно второго чата при работе команд в личных сообщениях.

То есть личные сообщения всегда работают с тем игровым чатом, в котором вы были активны последним.

━━━━━━━━━━━━━━

Важно

После обновления:

кредиты не сбрасываются;
уровень не сбрасывается;
коллекция не сбрасывается;
достижения не сбрасываются;
контейнеры не пропадают;
серия входов сохраняется;
вся игровая статистика остаётся на месте.

Изменился только способ использования некоторых команд.
5
/bonus FANFIK

Тип: Публичный

Лимит активаций: 15
1
Если кто-то хочет добавить бота в свой чат напишите сюда - t.me/WarTechCodex?direct

И я с вами свяжусь
Тестово вышли бои между игроками.

/battle (username противника)

Либо ответом на его сообщения.

ПОВТОРЯЮ ЭТО ТЕСТОВО!

Также есть лимит на игру только каждые пару часов.
WarTechCodex | Dev-logs
Тестово вышли бои между игроками. /battle (username противника) Либо ответом на его сообщения. ПОВТОРЯЮ ЭТО ТЕСТОВО! Также есть лимит на игру только каждые пару часов.
Бои убраны. Либо отмена идеи либо возможно придумаю что-то другое, но пока это выглядит не очень. + Бот опять из за боёв начинает упираться в лимиты телеграмма.
😢2
Скоро будет пополнение техники в списке с 150 на 250±

/bonus SOON

Тип: Публичный

Лимит активаций: 20
❗️Бот пока в отключке. Добавляю новую технику + исправляю мелкие ошибки
Please open Telegram to view this post
VIEW IN TELEGRAM
1
WarTechCodex | Dev-logs
❗️Бот пока в отключке. Добавляю новую технику + исправляю мелкие ошибки
Добавлено 67 новой техники (реально 67)

Пока не все сделал, но на первое время пойдет. (Спать очень хочу)
/bonus ХЗ

Тип: Публичный

Лимит активаций: 15
Скоро будет новая игровая механика. Многим понравится)
2
🧠 НОВОЕ СОБЫТИЕ - «ОПРЕДЕЛИ ТЕХНИКУ»

В WarTech Codex появилось новое автоматическое событие!
Теперь время от времени в чате будет появляться специальный раунд с техникой. Бот покажет вопрос и несколько вариантов ответа - ваша задача как можно быстрее выбрать правильный.
🔎 Какие вопросы могут попасться? • Какая это техника? • Какой стране она принадлежит? • В каком году она была произведена/введена на вооружение?
📋 Все вопросы формируются на основе данных из основного каталога техники.
🏆 Победитель только один!
Кто первым нажмёт правильный ответ, тот получает награду.
🎁 Награды могут отличаться: 💰 кредиты
опыт
📦 контейнеры
💰 + комбинированные награды
После определения победителя раунд завершается. Если кто-то нажмёт кнопку позже, бот сообщит, что правильный ответ уже был найден другим игроком.
🛡 Защита от спама Кнопки защищены от частых повторных нажатий, а один и тот же раунд физически не сможет выдать награду нескольким игрокам.
🖼 Каждый раунд оформлен отдельным визуальным баннером, поэтому событие не выглядит как обычное сообщение бота.
После завершения раунда сообщение автоматически удаляется через несколько минут, чтобы не засорять чат.
Следите за чатом следующий победитель можете быть именно вы.
1