Closed asafov closed 4 months ago
Я сделал переговоры с рассчетом на то, что лигу вы указываете руками в .env
. И поскольку бот пока не прокачивает скиллы, во время его работы уровень сам никак не поднимется. А если вы отключали бот и подняли уровень, то поменяйте лигу перед включением бота. Выбирать лигу автоматически - плохая идея, т.к. переговоры, это и так риски, а если вдруг выбрать лигу выше, то вы можете потерять все деньги в переговорах. Мне показалось, что отдать контроль над лигой пользователю - самый безопасный вариант. Например, как пользователь, я бы не хотел, чтобы у меня silver на gold сменилась, т.к. там уже большие деньги на контракты идут и у меня для gold лиги недостаточная прокачка переговоров.
Я до 15 уровня еще не дошел, поэтому то, что у лиги есть максимальный уровень, для меня тоже новость. Однако, мне не понятно, откуда берётся эта инфа. В dbs про лиги есть только следующее:
"dbNegotiationsLeague": [
{
"key": "bronze",
"title": "Бронза",
"minContract": 5000,
"maxContract": 10000,
"img": null,
"dependenciesSkills": [],
"requiredLevel": 1,
"color": "#F8B374",
"bgColor": "linear-gradient(135deg, #c47a45, #5e4136 40%)"
},
{
"key": "silver",
"title": "Серебро",
"minContract": 50000,
"maxContract": 100000,
"img": null,
"dependenciesSkills": [],
"requiredLevel": 4,
"color": "#DFE8EE",
"bgColor": "linear-gradient(135deg, #98a6b0, #5c6a7b 40%)"
},
{
"key": "gold",
"title": "Золото",
"minContract": 500000,
"maxContract": 1000000,
"img": null,
"dependenciesSkills": [],
"requiredLevel": 8,
"color": "#FEDE8E",
"bgColor": "linear-gradient(135deg, #b39155, #695431 40%)"
},
{
"key": "platina",
"title": "Платина",
"minContract": 5000000,
"maxContract": 10000000,
"img": null,
"dependenciesSkills": [],
"requiredLevel": 10,
"color": "#FAE7D2",
"bgColor": "linear-gradient(135deg, #E9DBCC, #80797b 40%)"
},
{
"key": "diamond",
"title": "Алмаз",
"minContract": 50000000,
"maxContract": 100000000,
"img": null,
"dependenciesSkills": [],
"requiredLevel": 13,
"color": "#FFEFFE",
"bgColor": "linear-gradient(135deg, #F7DAF4, #9aafbf 40%)"
}
]
То есть есть минимальный уровень, но нет максимального.
На самом деле я просто подсветил проблему) Реагировать или нет - дело Ваше)
Раз теперь есть сведения для мин и макс уровня лиги, я сделаю правки, чтобы это учитывалось. Тогда пусть будет как вы предложили: если лига, указанная в настройках стала недоступной (поднялся уровень), поднимаем лигу, но только если еще одна настройка будет True. Или может имеет смысл помимо этого ввести дополнительный режим выбора лиги "auto"? Если указать это в параметре, всегда будет выбираться самая низкая лига, какая доступна по уровню. Так и рисков будет меньше и руками ничего править не надо и подниматься будет сама. Или вообще только auto оставить и убрать этот параметр? Всегда будут переговоры в самой низкой лиге из доступных.
Идея ввести авто для выбора самой низкой доступной лиги мне кажется было бы шикарной. С точки зрения универсальности думаю надо скомбинировать параметр auto с доп. env'ом (AUTO_UPGRADE_LEAGUE например). Проще говоря будет больше возможностей. Захотел - поставил auto и будет выбираться самая низкая. Иначе если стоит например gold, то он автоматически увеличивается если gold перестал быть доступным.
На отвлеченную тему - стоит поправить readme. API_ID и API_HASH врядли имеет отношение, что платформа Android)
Тогда если PVP_LEAGUE=auto, то выбирается самая низкая из доступных, а AUTO_UPGRADE_LEAGUE не учитывается. А если PVP_LEAGUE=gold (или другая лига), то если она больше недоступна, повышаем, если AUTO_UPGRADE_LEAGUE=True, иначе отключаем PvP. Я все верно понял?
Ок, readme поправлю.
Да, считаю так будет идеально.
Согласен. Да будет так.
Суть в том, что оказывается у лиги есть максимальный уровень и на моем 15 уровне мне доступен минимум Gold. Соответственно есть 2 варианта. Или повышать уровень лиги если указанный недоступен или отключать PvP для аккаунта. Автоповышение уровня лиги можно сделать отдельной настройкой в env, по умолчанию false.