Repository navigation
Revival v1: maintenance baseline - #1
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b434247f50
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| cp .env.example .env | ||
| ``` | ||
|
|
||
| Fill in at minimum your Discord bot token, MongoDB connection, and Lavalink connection details, then start the bot: |
There was a problem hiding this comment.
Document all required numeric placeholders
When a new operator follows this instruction literally and replaces only the token, MongoDB, and Lavalink values, OWNER_IDS remains your_discord_user_id,another_owner_id; utils/config.py:131-132 converts each entry with int(...), so python main.py fails during import before the bot starts. The setup must also require replacing or clearing OWNER_IDS (and replacing NEW_BOT_ID, which is likewise converted to an integer by event handlers), or the template must provide safe values.
Useful? React with 👍 / 👎.
| BANNER_URL=https://i.postimg.cc/5y5pk1bL/Cyori-Banner.png | ||
| SUPPORT_URL=https://discord.gg/your_support_server | ||
| BANNER_URL= | ||
| SUPPORT_URL= |
There was a problem hiding this comment.
Omit empty URLs from link buttons
When .env.example is copied without optional branding customization, this assignment makes SUPPORT_URL an empty string, preventing the fallback in utils/config.py:160 from applying. HelpControl passes that value to a link-style button in cogs/info.py:101-106, so /help cannot produce a valid Discord component; the empty DONATE_URL and VOTE_URL entries similarly break premium and vote prompts. Either omit blank URL variables so defaults apply or conditionally omit their buttons.
Useful? React with 👍 / 👎.
| SOURCE_GUILD_ID=0 | ||
| SYNC_ROLE_ID=0 |
There was a problem hiding this comment.
Short-circuit role sync when IDs are disabled
With the new default SOURCE_GUILD_ID=0, role synchronization is not actually disabled: every active-bot member join still reaches bot.py:1353-1372, calls fetch_guild(0), catches the resulting failure, and performs a premium database lookup, while the six-hour audit also requests guild 0. Default self-hosted deployments therefore generate needless Discord API failures and database work; the sync handlers and task should return immediately when either configured ID is zero.
Useful? React with 👍 / 👎.
| STRIPE_SUCCESS_URL=http://localhost:3000/success | ||
| STRIPE_CANCEL_URL=http://localhost:3000/premium |
There was a problem hiding this comment.
Point Stripe redirects at served routes
When Stripe is enabled with the copied template, successful and cancelled checkouts redirect to /success and /premium, but DashboardSystem.setup_routes only defines extensionless routes for /dashboard and /invite; the corresponding payment files are exposed by the static router as /success.html and /premium.html. Both configured checkout destinations therefore return 404 unless an external proxy happens to rewrite them, so these defaults should use the actual .html paths or the server should register matching routes.
Useful? React with 👍 / 👎.
| | `/stop` | Stop playback and clear the queue. | | ||
| | `/skip` | Skip the current song. | | ||
| | `/pause` | Pause or resume playback. | | ||
| | `/volume [1-200]` | Adjust playback volume. | |
There was a problem hiding this comment.
Preserve the premium limit in the volume documentation
The revised command table advertises the full 1-200 range without qualification, but cogs/music.py:976-985 caps non-premium users at 100 and rejects larger values with a premium-required response. This misleads standard users about an advertised command capability; document the free 1-100 range and that 101-200 requires premium.
Useful? React with 👍 / 👎.
Reopens CytechMusic as a maintenance-focused public release.
Changes in this baseline:
.env.exampleand remove project-specific defaults from the templateNo new product features are introduced in this PR.