-
Notifications
You must be signed in to change notification settings - Fork 0
First run
clippy setup is a guided wizard that writes your .env (credentials) and
clippy.yaml (everything else). Run it any time — it's safe to re-run and won't
clobber values you don't change.
clippy setup
Sources:
1) Twitch (Helix) — fetch recent clips for a broadcaster
2) Discord channel — users paste clip links; we'll read and resolve them
Select source [1/2]:
Pick Twitch if you want Clippy to pull recent clips directly from a broadcaster's channel. Pick Discord if your community shares clips in a channel and you want Clippy to read and resolve those links instead.
You'll need a Twitch application's Client ID and Secret:
Step 1: Twitch Client ID & Secret
Get credentials: https://dev.twitch.tv/console/apps (create an application)
Client Credentials flow is used; redirect URL is not required for clip fetching.
Twitch Client ID:
Twitch Client Secret:
Go to dev.twitch.tv/console/apps, create an application (any name, any category — an OAuth Redirect URL is required by the form but not actually used for this), and copy the Client ID and Client Secret it gives you back into the prompts.
Step 2: Discord setup
1) Enable Developer Mode in Discord: User Settings -> Advanced -> Developer Mode
2) Right-click the target channel -> Copy Channel ID
3) Create a bot at https://discord.com/developers/applications and copy the Bot Token (Bot tab)
4) Ensure the 'Message Content Intent' is enabled for your bot
5) Invite the bot to your server with permissions to read the channel
Discord channel ID (numeric):
Discord message scan limit [200]:
Discord bot token (stored in .env):
Where to find each thing:
- Channel ID — turn on Developer Mode (Discord Settings → Advanced), then right-click the channel you want Clippy to read → Copy Channel ID.
-
Bot token — create a bot at
discord.com/developers/applications,
open its Bot tab, and copy the token there. Keep it secret — it's written to
.env, never toclippy.yaml. - Message Content Intent — same Bot tab, toggle it on. Without it the bot can see a channel exists but not read the message text that contains clip links.
- Invite the bot to your server with permission to read message history in that channel (Discord's OAuth2 URL generator, in the same app, builds the invite link).
Clippy validates the token immediately (✔ Discord token validated (login OK)) so
you know right away if something's wrong, rather than finding out on your first real run.
Whichever source you picked, the wizard continues with:
- Clip selection & identity — minimum views to include a clip, clips per compilation, number of compilations per run, and a default broadcaster name (used for output filenames and — even in Discord mode — as the identity Clippy attaches to a run).
- Output quality & format — a quality preset (balanced/high/max), resolution, framerate, audio bitrate.
- Everything else (transitions directory, intro/outro, cache/output paths) uses
sensible defaults; edit
clippy.yamldirectly later if you want to change them, or see the commentedclippy.yaml.examplein the repo for every available option.
At the end, Clippy writes .env and clippy.yaml and tells you the next command to
run:
python .\main.py --broadcaster theflood -y # Twitch
python .\main.py --discord -y # Discord
For day-to-day use after this first setup, see Subsequent runs. For unattended/scheduled runs, see Headless mode.