IRC
monsterbot
monsterbot is the epg.monster bot on XYZnet. Anyone can ask it what is on TV, search upcoming shows and look up channel logos. Members can also manage their own epg.monster lineup from IRC: swap a dead stream for its next backup and check backup counts.
Getting started
Join #epg.monster on XYZnet, or send monsterbot a private message. TV guide and logo lookups work for everyone, with no account needed.
The lineup commands (@dead, @count, @lowcount, @highcount) act on your epg.monster lineup, so monsterbot needs to know who you are:
- Sign in at my.epg.monster and open Profile. The IRC / XYZnet section shows the nick reserved or linked to your account. Your email address must be verified.
- On XYZnet, identify to services as that nick (for example
/msg NickServ IDENTIFY <password>). - That's it. Your services account maps to your epg.monster member account, so there is no key to paste.
If monsterbot says your services account is not linked, check that you are identified (/whois yourself) and that it matches the nick shown in your Profile.
How commands work
- Commands start with
@and are case-insensitive. Use them in the channel or by private message. - Add
--helpto any command for its usage line, for example@guide --help. - Short answers (one or two lines) come back where you asked. Anything longer comes to you by private message, and the channel gets a one-line note such as
sent you 20 results by PM
. - Lists are laid out as fixed-width tables, so use a monospace font in your client.
- Channels can be given as a tvg-id (
TSN.1.ca2), an alias (ESPN) or part of a name. Matching goes: exact alias, exact tvg-id, a unique partial alias, then suggestions. @helplists the commands, and every error links back to this page.
Time zones
Times are shown in Eastern by default. Add one zone flag per command:
| Flag | Zone |
|---|---|
--EST --ET --Eastern | Eastern (default) |
--CST --CT --Central | Central |
--SK --Sask | Saskatchewan |
--MST --MT | Mountain |
--AZ | Arizona |
--PST --PT | Pacific |
--AST --AT | Atlantic |
--NST --NT --Newfoundland | Newfoundland |
--AKST --AK | Alaska |
--HST --HT | Hawaii |
--tz <zone> | Any IANA zone, for example --tz Europe/London |
Using two zone flags in one command is an error. --at followed by a time (--at 8pm) is the time option; on its own it means Atlantic.
Detail levels
Add --level N (or -v, -vv, -vvv for 2, 3 and 4) to get more detail. The default is 1.
| Level | Guide output |
|---|---|
| 1 | Title, time range and duration, and a short description (about 220 characters). |
| 2 | Adds season/episode, category or genre, and the channel display name. |
| 3 | Adds the full description, original air date or year, rating, and the guide source and tvg-id suffix. |
| 4 | Everything the guide carries: credits, programme icon, language, country, sub-title, previously-shown and premiere flags, and how your input mapped to a tvg-id. |
Other commands follow the same idea: level 1 is the short answer, higher levels add ids, groups and extra fields. Use --nodesc to leave descriptions out.
Numbered results
Any command that returns a list numbers it, and monsterbot remembers your latest list for an hour. Then @<command> N acts on item N:
@guide hockey (5 hits, numbered 1-5) @tv 2 what's on now on the channel from hit 2 @logo 2 that channel's logo @upcoming 3 the next 3 hours on the channel from hit 3
- You have one list. Any new command (that isn't a number pick) replaces it, even if it returns one result or none.
- If a command doesn't fit the item (for example
@tvstatus 2), you get the item's details instead. no saved results, run a search first
means your list is empty or expired.no item 9, pick 1-5
means the number is out of range.- Lists are kept per services account, or per user@host if you are not identified.
@tv
@tv [zone] <tvg-id|alias> [--next] [--at <time>|--day <date>|--tonight] [--nodesc] [--level 1-4]
What's on now.
@tv ESPN.HD.us2 ESPN.HD.us2 NOW NBA Basketball 4:00AM EDT–6:00AM EDT (2h) — The Dallas Mavericks host... @tv --PT TSN.1.ca2 --next @tv tsn --at 8pm --day 2026-11-01
@upcoming
@upcoming [zone] <tvg-id|alias> [--hours N] [--nodesc] [--level 1-4]
Shows in the next 3 hours (or --hours N, up to 24), including the one on now.
@upcoming TSN.1.ca2 TSN.1.ca2 next 3h (4 items) # TIME TITLE 1 5:30AM EDT–6:30AM EDT SportsCentre 2 6:30AM EDT–7:30AM EDT SportsCentre
@guide
@guide [zone] <words|alias|tvg-id> [--limit N] [--tonight|--at <time>|--day <date>] [--country cc] [--level 1-4]
An alias or tvg-id gives that channel's next shows (5 by default). Anything else searches titles and descriptions of shows that are airing or upcoming, soonest first.
@guide hockey Guide hockey (5 hits, soonest first) @guide "doctor who" --country uk --tonight @guide SNPITT --limit 10
@tvguide
@tvguide <channel> [--now|--next|--tonight|--at <time>|--day <date>] [--tz <zone>] [--limit N] and @tvguide --search <show> [--country cc]
The original monsterbot form, kept for habit. It does the same as @tv and @guide.
@tvgid
@tvgid <search>: the exact tvg-id for an alias or id, or up to 12 numbered suggestions.
@tvgid espn espn → ESPN.HD.us2
@tvaliases, @tvadd, @tvdel
Aliases are short names for channels, shared by everyone. There are about 450 built in.
@tvaliases [search]: list aliases (sent by PM).@tvadd <alias>:<tvg-id>: add or replace an alias, for example@tvadd WSBK:WSBK-DT.us_locals1.@tvdel <alias>: remove an alias.
@tvstatus
Guide database counts (listings, channels, sources, aliases), when it was built and when it next updates. The guide index is rebuilt every few hours.
@logo
@logo <channel> shows the stored logo URL. If more than one source has a logo, you get a numbered source | url list. No account needed.
Identified users can also fix logos:
@logo <channel> --new <https-url>(or@logo 2 --new <url>after a list) submits a new logo. The URL must be https and return a PNG, JPEG, SVG or WebP image under about 2 MB. Only the link is stored; the image is not copied.@logo <channel> --revertundoes a submitted logo. The person who submitted it, or a bot admin, can revert.
Logo changes are recorded with who made them and when, and announced in the epg.monster log channel.
@dead
@dead <channel>, @dead --undo [channel]. Needs a linked services account.
When a stream in your lineup stops working, @dead swaps that channel to its next backup stream. The dead stream moves to the end of the backup list. The change is saved to your lineup straight away and Studio picks it up. Re-pull your playlist to get the new stream.
@dead ABC News Live Swapped ABC News Live: backup #2 is now active (2 backups left). Re-pull your playlist to get it.
- The channel name or tvg-id must match one of your channels (exact first, then ignoring case). If several match, you get a numbered list; pick with
@dead N. - If the channel has no backups, nothing changes and monsterbot tells you so.
@dead --undoreverses your most recent swap, once. Give a channel to undo the last swap on that channel. A second undo repliesnothing to undo
. If the channel was edited since the swap (in Studio or the member portal), the undo is refused so newer edits are not overwritten.
@count
@count <channel> [--urls] [--level 1-4]: how many backups a channel in your lineup has, and which position in the rotation is active.
--urls also sends you the stream URLs, privately (see Privacy).
@lowcount, @highcount
@lowcount [--limit N] lists your channels with the fewest backups, lowest first (20 by default). @highcount lists the most. Ties are sorted by name. Results always come by PM.
@tvon, @tvoff
@tvon [#channel] and @tvoff [#channel] turn TV guide update announcements on or off in a channel monsterbot sits in. They are for channel operators. The setting is remembered.
Admin commands
@tvupdate starts a guide rebuild now. @tvcolor on|off switches colour in guide output. Both are for bot admins.
Privacy
- Stream URLs can contain login details, so they are only ever sent to you privately (by NOTICE), never in a channel. They are paced to avoid flooding and are not logged.
- Other replies never include stream URLs. Streams are named by short ids such as
st_3b202b64fbef. @dead, undo and logo changes are recorded in your account's activity with your IRC network and account name.
Limits
- Guide commands: about 30 a minute per person.
@deadand undo: 6 a minute and 60 an hour per account.@count --urls: once every 30 seconds.- Logo submissions: 5 an hour per person.
- Numbered lists last an hour. Long replies are sent a line at a time.
- Listings cover roughly the last 4 hours to the next 36 hours.