Skip to main content


  1. Removed company_driver.detached tracksim event listening
  2. Added "update discord email" when user reconnects discord account and email is not connected
  3. Added config.discord_guild_message_replace_rules for manipulating discord message content before sending
    Config format: {regex_match_rule_1(str): regex_replace_rule_1(str), ..., regex_match_rule_n(str): regex_replace_rule_n(str)}
  4. Added distance-based division points
    Config format: {"id": int, "name": str, "role_id": int, "points": {"mode": str("static"|"ratio"), "value": int|float}}
    When mode is static, each validated division delivery gets static points.
    When mode is ratio, each validated division delivery gets distance * value points.
    Note: Points of previously validated division deliveries will be updated when config is updated.
  5. Added support to multiple rankings
    Hint: This function mainly focuses on providing multiple rank roles.
    Config format: [{"id": int, "name": str, "default": bool, "point_types": list: ["distance", "challenge", "division", "event", "bonus"], "details": ...original_ranks}]
    At least one item must have default = true, otherwise the first one will be considered default. The default ranking will be used for daily_bonus and distance_bonus. Specific rank_type_id will only be considered when user is requesting discord role for a specific rank type.
    point_types must be a list with str items selected from ["distance", "challenge", "division", "event", "bonus"].
    details have the same format has the original config.ranks.
  6. Added Trucky Integration
    Hint: Data will be converted to TrackSim style. Data provided by TrackSim but not Trucky will become None/null. Patial data (timezone, warp) provided by Trucky but not TrackSim will be added.
    Removed features: xp-related attributes for delivery_rules (max_xp) and challenges (minimum|maximum_xp)
    Added features: warp-related attributes for delivery_rules (max_warp) and challenges (minimum|maximum_warp)