From 55a3255b35ae08fb01cb013e82348ea9d96d5e9a Mon Sep 17 00:00:00 2001 From: Cal Corum Date: Sun, 22 Mar 2026 23:37:11 -0500 Subject: [PATCH] fix: use min_rarity/max_rarity for exact rarity targeting The players/random API endpoint only accepts min_rarity and max_rarity, not rarity. The previous fix silently did nothing because FastAPI ignores unknown query parameters. Co-Authored-By: Claude Opus 4.6 (1M context) --- cogs/economy.py | 12 ++++++------ cogs/economy_new/team_setup.py | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/cogs/economy.py b/cogs/economy.py index 23df3e8..16b7220 100644 --- a/cogs/economy.py +++ b/cogs/economy.py @@ -1500,13 +1500,13 @@ class Economy(commands.Cog): team_infielders = [] for pos in ["C", "1B", "2B", "3B", "SS"]: if roster_counts["Replacement"] < roster_counts["Reserve"]: - rarity_param = ("rarity", 0) + rarity_params = [("min_rarity", 0), ("max_rarity", 0)] else: - rarity_param = ("rarity", 1) + rarity_params = [("min_rarity", 1), ("max_rarity", 1)] r_draw = await db_get( "players/random", - params=[("pos_include", pos), rarity_param, ("limit", 2)], + params=[("pos_include", pos), *rarity_params, ("limit", 2)], none_okay=False, ) team_infielders.extend(r_draw["players"]) @@ -1531,13 +1531,13 @@ class Economy(commands.Cog): team_outfielders = [] for pos in ["LF", "CF", "RF"]: if roster_counts["Replacement"] < roster_counts["Reserve"]: - rarity_param = ("rarity", 0) + rarity_params = [("min_rarity", 0), ("max_rarity", 0)] else: - rarity_param = ("rarity", 1) + rarity_params = [("min_rarity", 1), ("max_rarity", 1)] r_draw = await db_get( "players/random", - params=[("pos_include", pos), rarity_param, ("limit", 2)], + params=[("pos_include", pos), *rarity_params, ("limit", 2)], none_okay=False, ) team_outfielders.extend(r_draw["players"]) diff --git a/cogs/economy_new/team_setup.py b/cogs/economy_new/team_setup.py index 5337e6f..3190d6c 100644 --- a/cogs/economy_new/team_setup.py +++ b/cogs/economy_new/team_setup.py @@ -378,13 +378,13 @@ class TeamSetup(commands.Cog): team_infielders = [] for pos in ["C", "1B", "2B", "3B", "SS"]: if roster_counts["Replacement"] < roster_counts["Reserve"]: - rarity_param = ("rarity", 0) + rarity_params = [("min_rarity", 0), ("max_rarity", 0)] else: - rarity_param = ("rarity", 1) + rarity_params = [("min_rarity", 1), ("max_rarity", 1)] r_draw = await db_get( "players/random", - params=[("pos_include", pos), rarity_param, ("limit", 2)], + params=[("pos_include", pos), *rarity_params, ("limit", 2)], none_okay=False, ) team_infielders.extend(r_draw["players"]) @@ -409,13 +409,13 @@ class TeamSetup(commands.Cog): team_outfielders = [] for pos in ["LF", "CF", "RF"]: if roster_counts["Replacement"] < roster_counts["Reserve"]: - rarity_param = ("rarity", 0) + rarity_params = [("min_rarity", 0), ("max_rarity", 0)] else: - rarity_param = ("rarity", 1) + rarity_params = [("min_rarity", 1), ("max_rarity", 1)] r_draw = await db_get( "players/random", - params=[("pos_include", pos), rarity_param, ("limit", 2)], + params=[("pos_include", pos), *rarity_params, ("limit", 2)], none_okay=False, ) team_outfielders.extend(r_draw["players"])