All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Новые ачивки
- Отправка уведомлений для действий
- Баг при покупке предмета из рынка (#84)
- Команда
/broadcast
(для админов)
- Добавлена реализация команды
/event_shop
#65
- Оптимизация функции
/event
- Сообщение о входе и выходе участника из чата
- Добавлена команда
/event_shop
(реализация отсутствует) #65 - Функция
deprecated
- Новые предметы: тыква 🎃 и конфета 🍬
- Переменная
version
переименована вVERSION
- Обновлена зависимость
redis
до версии 5.2.0 - Команда
/event
для хэллоуинского ивента
- Зависимость
typing_extensions
- Добавлена новая зависимость:
tinylogging
- В место стикера теперь полезные подсказки #60
- Каталог
bot
был переименован вhandlers
- Файл
handlers.py
был переименован вmessage.py
- Поле
adverts_count
из классаUserModel
- Добавлены правила. Каждый игрок обязан прочитать правила и согласится с ними чтобы продолжить использовать бота
- Новые поля в модели пользователя
- Добавлены команды для модераторов #38
- Мобы теперь встретиться только спустя 15–20 минут с начала прогулки
- Кнопка с ссылкой на гайд в обменнике
- Время через сколько появится новый предмет в обменнике
- Модели базы данных изменены на
dataclass
- Якорные ссылки в документации
- Добавлен скрипт
tools/create_config.py
для генерации конфига бота - Новые страницы в документации для разработчиков
- Логирование исключений которые возникают в
telebot
с использованием классаExceptionHandler
.
- Функции действий для игрока (прогулка, работа, и тд) из
base/player.py
перенесены вbase/actions.py
- Рефакторинг файла
config.py
. Теперь все конфиги хранятся в файлеconfig.toml
в место файла.env
- Модуль
requests
окончательно заменен наhttpx
- В команде
/event
теперь отображается сколько осталось до начала ивента
- Библиотека
python-dotenv
из файлаrequirements.txt
- Новые достижения
- Орфографическая ошибка в имени предмета
клевер-удачи
- Команда
/time
- Кеширование в команду
/weather
. Погода обновляется раз в 30 минут - Достижения (команда
/achievements
)
- Модуль
requests
заменен наhttpx
- Орфографические ошибки в документации
- Типизация для новой версии
pyTelegramBotApi
- Уменьшено кол-во предметов которые могут попасться в сундуке
- Изменен редкость некоторых предметов
- Рефакторинг функции
use_item
- Уменьшен шас встречи сундука во время прогулки
- Баг-фикс (коммит)
- Процент использования для предметов (#6)
- Возможность передать приметы с процентами другим игрокам (#41)
- В команде
/market
теперь отображаются сначала новые предметы (#40) - Изменен шанс встречи мобов
- Подсказка о том как использовать команду
/transfer
- В команде
/shop
сначала отображаются дорогие предметы
- Подсказка о том как использовать команды
/casino
и/shop
- Все что связанно с интеграций с сервисом GramAds, которые была помечена как устаревшая в версии
3.6.3
- Добавлена команда
/version
(#37)
- Максимальное кол-во опыта в бусте была уменьшена с 500 до 150, из-за изменения механики получения нового уровня в версии
3.3.0
- Подсказка о том как использовать команду
/craft
- Ошибки с сравнением времени
- Орфографические ошибки в документации
- Все что связанно с интеграций с сервисом GramAds
- Кеширование некоторых функций, для увеличения скорости работы с ботом
- Уведомления о новых постах на канале
- Баг с отправкой уведомлений релизов в канал
- Функция
reload_modules()
из файлаmain.py
- Переменная
GUIDE_FILE_PATH
из файлаconfig.py
- Переменная
version
в файлеconfig.py
- Отображение версии бота в команде
/help
- Новое поле к модели
UserModel
:last_active_time
- Баг с обменником (#18)
- Орфографические ошибки
- Добавлена новая библиотека:
argparse
- Добавлена команда
/daily_gift
(#20) - Добавлена интеграция с сервисом GramAds (#23)
- Рефакторинг главного файла (
main.py
) - Изменен процесс обновления опыта и уровня собак
- Добавлен аргумент
--without-threads
, чтобы запускать бота без потоков (нужен для отладки) - Конвертация типов в ожидаемое типы (если это возможно) в классе
BaseModel
- Ограничена длинна имени в топах
- Класс
Field
для удобной работы с моделями
- Баг #19
- Исправил баг в команде
/top
из за которого показывалось больше строчек чем надо
- Изменена редкость предмета "ключ" с
ItemRarity.UNCOMMON
наItemRarity.RARE
- Увеличен шанс встречи для моба
сундук
с 3.2 до 8.2 - Изменен расчет вероятности увеличения количества предметов в функции
street
- Изменен процесс обновления опыта и уровня пользователя
- В функциях
coin_top
,level_top
иdog_level_top
изменен механизм формирования топов на более обобщенный, используя функциюget_top
, что упрощает поддержку и расширение кода. - В главном меню пункт
рейтинг
переименован натоп
- Команда
/exchanger
не временно отключена из из-за бага #18
- исправлена проблема с отступами в функции promo в
handlers.py
, чтобы обеспечить правильное добавление пользователей промо в список и обновление в базе данных. - Исправлены орфографические ошибки
- Добавлена функция
calc_xp_for_level
для расчета необходимого опыта на уровень - Внедрены дополнительные проверки на наличие уведомлений перед их обновлением
- В команде
/profile
теперь отображается удача
- Баг #17
- Эмодзи для типов погоды в команде
/weather
#7
- Все что связанно с старым гайдом #10
- Иконки в команде
/weather
- Новый предмет: клевер-удачи 🍀 #8
- Исправлен баг из за которого при повышении уровня на добавлялся бокс
- Умешено кол-во усталости для собаки во время прогулки
- Добавлен аргумент
--debug
для запуска бота - Новый атрибут для класса
UserModel
:luck
(удача) - При повышении уровня, в сообщении добавлены кнопки для увелечения характеристик игрока
- Команда
/market
в меню команд
- Исправлены орфографические ошибки
- Исправлен баг из за которого прайс для предметов который отсутствовали на рынке и/или у них не было своего прайса, возникала ошибка
- Исправлен баг при открытии сундука: приметы не сохранялись
- Добавлен лимит на продажу предметов на рынке
- Добавлена возможность отменить продажу предмета
- На рынке сначала отображаются новые товары
- Теперь в команде
/price
и во время продажи предмета и при покупке в рынке отображается его средний прайс за 1 штуку
- Исправлен баг: когда в рынке пользователь нажимает на кнопку для перехода на следующею страницу, бот не предупреждал об этом и продолжал листать
- Исправлен баг при покупке предметов из рынка
- Рынок (команда
/market
) - Добавлен redis для хранения стейтов (состояний) и для кеша
- Окончательно исправлен баг #2
- Теперь все релизы из github будут автоматический публиковаться в телеграм канал бота
- Добавлена темная тема на сайте
- Исправлен баг #2
- Исправлен баг #1
- Добавлен сайт для проекта
- Изменена команда
/guide
. Теперь в место кнопок с документацией, там только одна кнопка которая открывает документацию на сайте (в webapp)
- Метод у класса
logging.Logger
success
был изменен наinfo
, так как его не существует
- Изменена структура проекта