По ошибкам из лога: это не поломка достижений как системы данных. В логе снова есть "TelegramRetryAfter", Telegram временно ограничивает "EditMessageText" и "SendMessage" в чате, то есть бот упирается в flood limit. Это видно также и по open.py, и по collection.py, и по upgrade.py.
Вывод простой: достижения по чатам я сделал, а вот TelegramRetryAfter полностью убрать нельзя это ограничение Telegram. Сделать чтобы бот работал без ограничений невозможно, но и сам факт лимита будет иногда появляться особенно когда много людей одновременно забирают награды или листают меню. И кстати полный вайп статистики это не решит
Вывод простой: достижения по чатам я сделал, а вот 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 временно отвечает:
«Слишком много запросов. Подождите несколько секунд.»
❗️ обойти это ограничение невозможно.
Но теперь бот не должен падать из-за подобных ситуаций и будет продолжать работать даже при высокой нагрузке.
После выхода системы достижений многие начали массово забирать накопленные награды. Из-за этого бот столкнулся с ограничениями 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 на количество запросов за короткое время. Чтобы решить эту проблему, была полностью…
Насчёт кнопки "Забрать все" она есть только если у вас соответственно имеются не забранные награды в достижениях. Если награды вы все забрали ранее, то данной кнопки "Забрать все" не будет.
⚙️ Обновление игровых команд
В этом обновлении была полностью переработана логика работы команд /risk, /balance и /profile.
Главная цель — убрать лишний спам в игровых чатах, при этом не менять привычную игровую систему и не ломать существующую статистику игроков.
Что изменилось?
🎰 Команда /risk
Раньше команду можно было использовать прямо в игровом чате, из-за чего сообщения казино часто засоряли переписку.
Теперь:
✅ /risk работает только в личных сообщениях бота.
Если написать команду в чате, бот один раз ответит:
❌ Эту команду теперь можно использовать только в личных сообщениях бота.
Таким образом игровой чат остаётся чище, а играть в казино стало гораздо удобнее.
━━━━━━━━━━━━━━
💰 Команда /balance
Теперь команда также работает только в личных сообщениях.
Если использовать её в игровом чате, бот сообщит, что команда доступна только в ЛС.
Таким образом проверять баланс можно в любое время, не засоряя общий чат.
━━━━━━━━━━━━━━
👤 Команда /profile
Команда /profile продолжает работать как раньше в игровых чатах.
Но теперь она также полностью работает и в личных сообщениях бота.
То есть посмотреть свой профиль теперь можно где угодно.
━━━━━━━━━━━━━━
Как теперь бот понимает, какую статистику показать?
У многих возникнет логичный вопрос:
"А если я состою сразу в нескольких игровых чатах?"
Для этого была реализована система автоматического определения последнего активного игрового чата.
Например.
Вы играли в чате №1:
• открывали контейнеры;
• покупали технику;
• использовали игровые команды.
Бот автоматически запоминает именно этот чат как ваш последний активный.
Теперь, если вы откроете личные сообщения и напишете:
/profile
или
/balance
или
/risk
бот автоматически откроет именно ту игровую базу данных, в которой вы играли последней.
То есть никакой выбор вручную делать не нужно.
━━━━━━━━━━━━━━
Пример
Допустим, в игровом чате у вас:
💰 2500 кредитов
Вы переходите в личные сообщения бота.
Пишите:
/risk 500
Выигрываете.
Баланс становится:
💰 2975 кредитов.
После этого вы возвращаетесь обратно в игровой чат.
Пишете:
/profile
или открываете магазин.
Вы увидите уже те же самые 2975 кредитов.
Никаких отдельных балансов не создаётся.
Все изменения сохраняются именно в базе данных того игрового чата, в котором вы играли.
━━━━━━━━━━━━━━
Если вы состоите сразу в нескольких игровых чатах
Допустим, вы сначала активно играли в одном чате.
Позже перешли во второй чат и продолжили играть уже там.
После этого бот автоматически начинает использовать статистику именно второго чата при работе команд в личных сообщениях.
То есть личные сообщения всегда работают с тем игровым чатом, в котором вы были активны последним.
━━━━━━━━━━━━━━
Важно
После обновления:
✅ кредиты не сбрасываются;
✅ уровень не сбрасывается;
✅ коллекция не сбрасывается;
✅ достижения не сбрасываются;
✅ контейнеры не пропадают;
✅ серия входов сохраняется;
✅ вся игровая статистика остаётся на месте.
Изменился только способ использования некоторых команд.
В этом обновлении была полностью переработана логика работы команд /risk, /balance и /profile.
Главная цель — убрать лишний спам в игровых чатах, при этом не менять привычную игровую систему и не ломать существующую статистику игроков.
Что изменилось?
🎰 Команда /risk
Раньше команду можно было использовать прямо в игровом чате, из-за чего сообщения казино часто засоряли переписку.
Теперь:
✅ /risk работает только в личных сообщениях бота.
Если написать команду в чате, бот один раз ответит:
❌ Эту команду теперь можно использовать только в личных сообщениях бота.
Таким образом игровой чат остаётся чище, а играть в казино стало гораздо удобнее.
━━━━━━━━━━━━━━
💰 Команда /balance
Теперь команда также работает только в личных сообщениях.
Если использовать её в игровом чате, бот сообщит, что команда доступна только в ЛС.
Таким образом проверять баланс можно в любое время, не засоряя общий чат.
━━━━━━━━━━━━━━
👤 Команда /profile
Команда /profile продолжает работать как раньше в игровых чатах.
Но теперь она также полностью работает и в личных сообщениях бота.
То есть посмотреть свой профиль теперь можно где угодно.
━━━━━━━━━━━━━━
Как теперь бот понимает, какую статистику показать?
У многих возникнет логичный вопрос:
"А если я состою сразу в нескольких игровых чатах?"
Для этого была реализована система автоматического определения последнего активного игрового чата.
Например.
Вы играли в чате №1:
• открывали контейнеры;
• покупали технику;
• использовали игровые команды.
Бот автоматически запоминает именно этот чат как ваш последний активный.
Теперь, если вы откроете личные сообщения и напишете:
/profile
или
/balance
или
/risk
бот автоматически откроет именно ту игровую базу данных, в которой вы играли последней.
То есть никакой выбор вручную делать не нужно.
━━━━━━━━━━━━━━
Пример
Допустим, в игровом чате у вас:
💰 2500 кредитов
Вы переходите в личные сообщения бота.
Пишите:
/risk 500
Выигрываете.
Баланс становится:
💰 2975 кредитов.
После этого вы возвращаетесь обратно в игровой чат.
Пишете:
/profile
или открываете магазин.
Вы увидите уже те же самые 2975 кредитов.
Никаких отдельных балансов не создаётся.
Все изменения сохраняются именно в базе данных того игрового чата, в котором вы играли.
━━━━━━━━━━━━━━
Если вы состоите сразу в нескольких игровых чатах
Допустим, вы сначала активно играли в одном чате.
Позже перешли во второй чат и продолжили играть уже там.
После этого бот автоматически начинает использовать статистику именно второго чата при работе команд в личных сообщениях.
То есть личные сообщения всегда работают с тем игровым чатом, в котором вы были активны последним.
━━━━━━━━━━━━━━
Важно
После обновления:
✅ кредиты не сбрасываются;
✅ уровень не сбрасывается;
✅ коллекция не сбрасывается;
✅ достижения не сбрасываются;
✅ контейнеры не пропадают;
✅ серия входов сохраняется;
✅ вся игровая статистика остаётся на месте.
Изменился только способ использования некоторых команд.
❤5
Если кто-то хочет добавить бота в свой чат напишите сюда - t.me/WarTechCodex?direct
И я с вами свяжусь
И я с вами свяжусь
Тестово вышли бои между игроками.
/battle (username противника)
Либо ответом на его сообщения.
ПОВТОРЯЮ ЭТО ТЕСТОВО!
Также есть лимит на игру только каждые пару часов.
/battle (username противника)
Либо ответом на его сообщения.
ПОВТОРЯЮ ЭТО ТЕСТОВО!
Также есть лимит на игру только каждые пару часов.
WarTechCodex | Dev-logs
Тестово вышли бои между игроками. /battle (username противника) Либо ответом на его сообщения. ПОВТОРЯЮ ЭТО ТЕСТОВО! Также есть лимит на игру только каждые пару часов.
Бои убраны. Либо отмена идеи либо возможно придумаю что-то другое, но пока это выглядит не очень. + Бот опять из за боёв начинает упираться в лимиты телеграмма.
😢2
Скоро будет пополнение техники в списке с 150 на 250±
Тип: Публичный
Лимит активаций: 20
/bonus SOONТип: Публичный
Лимит активаций: 20
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
WarTechCodex | Dev-logs
Добавлено 67 новой техники (реально 67)
Пока не все сделал, но на первое время пойдет. (Спать очень хочу)
Пока не все сделал, но на первое время пойдет. (Спать очень хочу)
WarTechCodex | Dev-logs
Добавлено 67 новой техники (реально 67) Пока не все сделал, но на первое время пойдет. (Спать очень хочу)
/bonus NEW_VEHICLESТип: Публичный
Лимит активаций: 20
❤1
WarTechCodex | Dev-logs
Добавлено 67 новой техники (реально 67) Пока не все сделал, но на первое время пойдет. (Спать очень хочу)
И кстати среди них есть объект 640
❤3
🧠 НОВОЕ СОБЫТИЕ - «ОПРЕДЕЛИ ТЕХНИКУ»
В WarTech Codex появилось новое автоматическое событие!
Теперь время от времени в чате будет появляться специальный раунд с техникой. Бот покажет вопрос и несколько вариантов ответа - ваша задача как можно быстрее выбрать правильный.
🔎 Какие вопросы могут попасться? • Какая это техника? • Какой стране она принадлежит? • В каком году она была произведена/введена на вооружение?
📋 Все вопросы формируются на основе данных из основного каталога техники.
🏆 Победитель только один!
Кто первым нажмёт правильный ответ, тот получает награду.
🎁 Награды могут отличаться: 💰 кредиты
⭐ опыт
📦 контейнеры
💰 + ⭐ комбинированные награды
После определения победителя раунд завершается. Если кто-то нажмёт кнопку позже, бот сообщит, что правильный ответ уже был найден другим игроком.
🛡 Защита от спама Кнопки защищены от частых повторных нажатий, а один и тот же раунд физически не сможет выдать награду нескольким игрокам.
🖼 Каждый раунд оформлен отдельным визуальным баннером, поэтому событие не выглядит как обычное сообщение бота.
⏱ После завершения раунда сообщение автоматически удаляется через несколько минут, чтобы не засорять чат.
Следите за чатом следующий победитель можете быть именно вы.
В WarTech Codex появилось новое автоматическое событие!
Теперь время от времени в чате будет появляться специальный раунд с техникой. Бот покажет вопрос и несколько вариантов ответа - ваша задача как можно быстрее выбрать правильный.
🔎 Какие вопросы могут попасться? • Какая это техника? • Какой стране она принадлежит? • В каком году она была произведена/введена на вооружение?
📋 Все вопросы формируются на основе данных из основного каталога техники.
🏆 Победитель только один!
Кто первым нажмёт правильный ответ, тот получает награду.
🎁 Награды могут отличаться: 💰 кредиты
⭐ опыт
📦 контейнеры
💰 + ⭐ комбинированные награды
После определения победителя раунд завершается. Если кто-то нажмёт кнопку позже, бот сообщит, что правильный ответ уже был найден другим игроком.
🛡 Защита от спама Кнопки защищены от частых повторных нажатий, а один и тот же раунд физически не сможет выдать награду нескольким игрокам.
🖼 Каждый раунд оформлен отдельным визуальным баннером, поэтому событие не выглядит как обычное сообщение бота.
⏱ После завершения раунда сообщение автоматически удаляется через несколько минут, чтобы не засорять чат.
Следите за чатом следующий победитель можете быть именно вы.
❤1
WarTechCodex | Dev-logs
🧠 НОВОЕ СОБЫТИЕ - «ОПРЕДЕЛИ ТЕХНИКУ» В WarTech Codex появилось новое автоматическое событие! Теперь время от времени в чате будет появляться специальный раунд с техникой. Бот покажет вопрос и несколько вариантов ответа - ваша задача как можно быстрее выбрать…
/bonus 200_ПОДПИСЧИКОВТип: Публичный
Лимит активаций: 30
WarTechCodex | Dev-logs
🧠 НОВОЕ СОБЫТИЕ - «ОПРЕДЕЛИ ТЕХНИКУ» В WarTech Codex появилось новое автоматическое событие! Теперь время от времени в чате будет появляться специальный раунд с техникой. Бот покажет вопрос и несколько вариантов ответа - ваша задача как можно быстрее выбрать…
Скоро будет небольшой фикс. В плане кнопок, а также чтобы каждое сообщение было отдельно поскольку сейчас он просто обновляет одно и тоже сообщение и это не очень когда чат летит