A Dispatcharr plugin that automatically manages channel visibility based on EPG data and channel names. It hides channels that currently have no event information and shows channels that do. An optional managed dummy EPG so the guide still shows something useful (event title during the window; "Upcoming at : <title>" before; "Ended at : <title>" after) for channels that never have real EPG assigned.
Tip
New to Dispatcharr plugins? Start with the Dispatcharr Plugin Workflow guide. It explains what each plugin and tool does, where they overlap, and what order to use them in.
The visibility changes badge is the number of channels this plugin has actually switched on or off on the maintainer's own installation, counted from its run ledger and refreshed twice a day. It counts channels that changed, not channels looked at: a channel that stays in the same state across many scheduled runs is not counted again, and channels merely scanned, along with dry runs, are excluded. Both directions are included, because on that installation most of the work is re-hiding channels an M3U refresh had re-enabled. The ledger starts when it was first deployed rather than at the plugin's first release, so this is a total since then, not a lifetime one. It is one installation's total, not a project metric.
Decides visibility from the channel name. A prioritised, fully customisable rule list decides what to hide and in what order, with the first matching rule winning. Rules cover a past date, a date too far ahead, a name that never carries a date at all, a name too short to describe an event, the wrong day of the week, a blank or placeholder name, and a pattern you supply yourself. A name carrying a clock time but no date is hidden once that event's inferred end, plus a grace period you set, has passed.
Reads either the channel name or the stream name. Providers that leave the channel name fixed and put the game in the stream name are handled by switching one setting.
Fills the guide for channels that have no EPG. An optional plugin-managed dummy
EPG source renders the event title during its window, Upcoming at <time>: <title>
before it and Ended at <time>: <title> after, in the viewer's local time. Channels
whose names claim a different timezone get their own source rather than being pulled
back and forth. Two channel-name layouts are understood: the US form
(PPV EVENT 12: Title (MM.DD HH:MM AM/PM TZ), and bare numbered slots such as
07 - 8/14 7pm Broncos at Falcons) and the Swedish pipe-delimited form.
Gives a channel group its own guide source. Groups whose events are labelled in different timezones, or that need different durations or title patterns, can each be mapped to their own dummy EPG source. The plugin creates the source and seeds it from your settings, then leaves it alone so you can edit it in Dispatcharr. A group you do not map keeps the shared source.
Hides duplicates of the same event, keeping the lowest number, the highest number or the longest name, whichever you choose.
Scopes precisely. Monitor several channel profiles at once, narrow to named channel groups, skip channels by regular expression, and force chosen channels to stay visible whatever the rules say.
Runs on a schedule, at times you set in Dispatcharr's own timezone, and optionally straight after each M3U refresh. A cross-process lock means at most one scan runs at a time across every worker, and a lock left behind by a dead process is broken automatically after fifteen minutes.
Reports what it did, and what it ignored. Every run writes a CSV giving the action, the reason and the rule for each channel. Channel groups that matched nothing, and regular expressions that matched nothing, are named in the result and in the CSV header, so a setting that is quietly doing nothing is visible rather than silent.
Previews safely. Dry Run reports what would change and writes the CSV without touching a single channel or creating any EPG binding.
Makes no outbound network request. The plugin talks to Dispatcharr's database and nothing else.
- An active Dispatcharr installation, v0.20.0 or newer (declared as
min_dispatcharr_versioninplugin.json).
- Log in to Dispatcharr's web interface.
- Go to Plugins.
- Click Import Plugin and upload the plugin zip file.
- Enable the plugin after installation.
Then read the user guide: the settings that decide scope are the ones worth getting right before the first applied run.
| Page | What is in it |
|---|---|
| User guide | Every setting and action, how the hide rules decide, the managed dummy EPG, client setup for Jellyfin, Plex and Emby, file locations, the CSV format, and troubleshooting by symptom |
| Changelog | Every released version with a link to its release notes |
| Development notes | The runtime model, code map, deploying, testing, adding a setting or action, the release procedure, and how to contribute |
| Documentation index | The above, described by who is reading |
Event Channel Managarr provides no television content of any kind. It supplies no channels, no playlists, no streams, no electronic programme guide data and no provider accounts, and it contains no list of where to obtain any of those. It bundles no reference data at all: everything it works on already exists in your Dispatcharr installation.
What it reads is channel names and the programme data already stored against your channels. It
parses event titles, dates and times out of those names to decide which channels currently
have an event. It never opens, reads, decodes, records, restreams or redistributes a stream, and
it never reads a stream URL. It makes no outbound network request at all. The update checker that
once called the GitHub releases API was removed in 1.26.2251616, along with the code behind it.
What it writes is confined to your own Dispatcharr database and its data directory: channel visibility in the profiles you select, bindings to a dummy EPG source it manages, and CSV exports. The main scan has a Dry Run that writes nothing and exports what it would do to CSV. Run that first. The other actions that change data (Run Now, Remove EPG from Hidden Channels, Clear CSV Exports, Cleanup Orphaned Tasks) each ask for confirmation before they act.
You are responsible for what you connect Dispatcharr to. Whether a particular provider, subscription, playlist or stream is lawful for you to use depends on your agreement with that provider and on the law where you live. Use only sources you are authorised to use. Nothing in this project is intended to enable, encourage or assist access to content you have no right to access.
All product names, channel names, network names, trademarks and registered trademarks mentioned in this project, or appearing in its examples, are the property of their respective owners. This project is an independent, community-built plugin. It is not affiliated with, endorsed by, or sponsored by any television network, broadcaster, streaming service or IPTV provider, and it is not affiliated with the Dispatcharr project beyond being a plugin written for it.
This plugin is free and always will be. If it saves you time and you would like to support the work, you can sponsor it at github.com/sponsors/PiratesIRC.
Sponsoring buys no priority, no private support and no influence over what gets built. Bug reports and pull requests are just as welcome from everyone.
Released under the MIT License. See LICENSE.