forked from sass/tipibot
Auto-created team roles now land directly under the CS2 / LoL "divider" role in the community guild's role list, keeping it grouped by game. - config: CS2_DIVIDER_ROLE_ID / LOL_DIVIDER_ROLE_ID (season-specific, env overridable) exposed as TEAM_DIVIDER_ROLE_IDS keyed by game code. - core/sheets: tag each team with its game (CS2/LoL) from the section title it sits under; shared _scan_sections generator feeds both parse_team_rosters and the new parse_team_games; get_game_for_team accessor + _team_game cache. - core/member_sync: on creating a team role, position it at its game divider's slot (best-effort; left in place if game/divider unknown or move refused). - .env.example + tests for game tagging and role placement. Each participant is in exactly one game, so one role per team is unambiguous. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R6JZkyszyDFuFtk25WBbcR
56 lines
2.0 KiB
Plaintext
56 lines
2.0 KiB
Plaintext
|
|
# Profile-specific Discord bot tokens (from https://discord.com/developers/applications)
|
|
DISCORD_TOKEN_DEV=your-dev-bot-token-here
|
|
DISCORD_TOKEN_ECONOMY=your-economy-bot-token-here
|
|
|
|
# Legacy fallback token (optional, backward compatibility)
|
|
DISCORD_TOKEN=
|
|
|
|
# Google Sheets spreadsheet ID (the long string in the sheet URL)
|
|
SHEET_ID=your-google-sheet-id-here
|
|
|
|
# Separate spreadsheet holding tournament team registrations (Team Name + lineup
|
|
# of Discord usernames). Optional; drives /teamsync + hourly team-role sync on
|
|
# the economy/community bot. Leave unset to disable team-role sync entirely.
|
|
TEAM_SHEET_ID=
|
|
|
|
# Team-section "divider" role IDs. A newly-created team role is positioned
|
|
# directly under the divider for its game (CS2 / LoL). Season-specific - update
|
|
# yearly. 0 = leave that game's new roles at the bottom of the role list.
|
|
CS2_DIVIDER_ROLE_ID=
|
|
LOL_DIVIDER_ROLE_ID=
|
|
|
|
# Path to Google service account credentials JSON
|
|
GOOGLE_CREDS_PATH=credentials.json
|
|
|
|
# Profile-specific guild (server) IDs - right-click your server with dev mode on
|
|
GUILD_ID_DEV=your-dev-guild-id-here
|
|
GUILD_ID_ECONOMY=your-economy-guild-id-here
|
|
|
|
# Legacy fallback guild ID (optional, backward compatibility)
|
|
GUILD_ID=
|
|
|
|
# Channel ID where birthday announcements are posted (dev profile)
|
|
BIRTHDAY_CHANNEL_ID_DEV=your-dev-birthday-channel-id-here
|
|
|
|
# Optional birthday channel for economy profile (normally unset for economy-only bot)
|
|
BIRTHDAY_CHANNEL_ID_ECONOMY=
|
|
|
|
# Legacy fallback birthday channel ID (optional, backward compatibility)
|
|
BIRTHDAY_CHANNEL_ID=
|
|
|
|
# How many days before a birthday the on-join check counts as "coming up"
|
|
BIRTHDAY_WINDOW_DAYS=7
|
|
|
|
# PocketBase backend (https://pocketbase.io)
|
|
PB_URL=http://127.0.0.1:8090
|
|
PB_ADMIN_EMAIL=admin@example.com
|
|
PB_ADMIN_PASSWORD=your-pb-admin-password
|
|
|
|
# Profile-specific PocketBase collections
|
|
PB_ECONOMY_COLLECTION_DEV=economy_users_dev
|
|
PB_ECONOMY_COLLECTION_ECONOMY=economy_users_prod
|
|
|
|
# Legacy fallback collection name (optional, backward compatibility)
|
|
PB_ECONOMY_COLLECTION=
|