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:

  1. 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.
  2. On XYZnet, identify to services as that nick (for example /msg NickServ IDENTIFY <password>).
  3. 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

Time zones

Times are shown in Eastern by default. Add one zone flag per command:

FlagZone
--EST --ET --EasternEastern (default)
--CST --CT --CentralCentral
--SK --SaskSaskatchewan
--MST --MTMountain
--AZArizona
--PST --PTPacific
--AST --ATAtlantic
--NST --NT --NewfoundlandNewfoundland
--AKST --AKAlaska
--HST --HTHawaii
--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.

LevelGuide output
1Title, time range and duration, and a short description (about 220 characters).
2Adds season/episode, category or genre, and the channel display name.
3Adds the full description, original air date or year, rating, and the guide source and tvg-id suffix.
4Everything 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

@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.

@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 <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 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.

@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

Limits