🏆 World Cup 2026 · June 11 – July 19 · all 104 matches covered
Fully Automated

Automated
Football Alerts.

BetBot auto-posts daily picks, in-play dominance alerts, red card alerts, and hot-streak teams - all straight to your Discord channel, across 30+ football leagues. Fully automated. Free.

36.5K+
Members
100+
Servers
30+
Leagues covered

Built around three live signals

BetBot's primary job is to auto-post when something actionable happens - dominance, dismissals, and hot streaks. Everything else is a bonus.

Catch a team battering the door down

The /press command watches the in-play stats across 37 top leagues and pings your Discord when a team is level or behind yet dominating - shots, shots on target, corners and possession. Time-scaled thresholds, polled every 60 seconds while a fixture is live. Learn more →

B
BetBotAPP - Today at 21:34
Liverpool vs Brighton · 82' · 0-1

Liverpool is dominating but trailing.
Shots: 18 · On target: 8 · Corners: 10 · Possession: 67%
👀 Keep an eye on Liverpool.
BetBot · live events · 18+

Red card alerts the second they happen

The /red command watches 30 leagues in-play and posts a card-themed embed the moment a player is sent off - with the team's club badge, player name, minute, and live scoreline. Polls every 60 seconds while any tracked match is live. Learn more →

B
BetBotAPP - Today at 20:38
Red card
🏴󠁧󠁢󠁥󠁮󠁧󠁿 Arsenal vs Liverpool · 38' · 0-1
William Saliba (Arsenal)
BetBot · live events
Arsenal

Spot the hottest streaks across the world

The /streak command scans every tracked league for teams on active BTTS, Over/Under, and win streaks - auto-posted to your channel each morning so you find the patterns before the market adjusts.

BetBot /streak example showing active streaks BetBot /streak example showing additional streak picks

One-glance daily overview

Run /today for a quick recap of all of today's signals and picks - useful when you want a snapshot rather than waiting for the live alerts to fire.

BetBot /today command showing daily picks and goalscorer

Bonus commands

Beyond the three core live signals, BetBot also surfaces pre-match picks via /tip and /scorer, and tracks long-term win rate / ROI / profit through /record. Run them any time - they're there when you want them, but the alerts come to you first.

BetBot /tip prediction BetBot /scorer goalscorer pick BetBot /record stats

Live alerts & tournament coverage

/press alerts /red card alerts World Cup 2026

How an Alert Reaches Your Channel in Under a Minute

Four stages run silently in the background, every single matchday. You never see them - only the post that pops in your channel.

Daily snapshot

Every morning BetBot pulls today's fixtures across 30 tracked leagues, plus the opening odds for every favorite worth watching. The snapshot becomes the reference point for every live comparison later.

How it works
  • One /fixtures call per league captures kick-off times for the day
  • For each fixture, opening odds are pulled across nine markets (1X2, Over 1.5/2.5, Under 2.5, BTTS Yes/No, Double Chance Home-or-Draw/Draw-or-Away)
  • Only markets where the opening favorite is ≤1.60 get stored - anything looser is ignored as noise
  • Total cost: ~60 API calls per day, run once at 06:30 CET
Snapshot

In-play poll, every 60 seconds

While any tracked fixture is live, BetBot pings api-sports every minute - one global call for live events, plus a per-match stats call for any /press candidate. Outside in-play windows, the poller sleeps. No quota burned on quiet hours.

How it works
  • /fixtures?live=all returns every live match with embedded event arrays - powers /red dismissal detection and the first pass for /press
  • /fixtures/statistics returns a team's live shots, corners and possession - pulled by /press only for level-or-behind candidates
  • The global live call covers all matches at once, so /red stays flat; /press adds a stats call only when a match qualifies
  • Gated by snapshot: poller sleeps when no tracked fixture is within its kickoff -2min to kickoff +3h window
Live polling

Detect signal

Each tick the bot checks two questions: Is any tracked team level or behind yet dominating past the stat thresholds? Did any tracked fixture log a Red Card event? Both classes share the live poll, both deduplicate so the same event never posts twice.

How it works
  • Press detection checks a level-or-behind team's shots, on-target, corners and possession against a time-scaled bar (lower from HT, higher from minute 60)
  • Red card detection filters events for type=Card, detail=Red Card and dedupes by (fixture, player, minute, detail)
  • Press pulls per-match stats only for genuine candidates, so it spends almost nothing on quiet matches
  • Per-team cap: each side alerts at most once per match, so a dominant team can't flood the channel
Detection

Post to every subscribed channel

When a signal fires, BetBot builds the embed (team badge, live stats, scoreline, minute) and posts it in parallel to every server that has subscribed to /press and /red. End-to-end latency: typically 1–3 minutes from the on-pitch event.

How it works
  • Subscriptions are stored per guild under press_channel and red_channel in guild_config.json
  • Each guild's two subscriptions are independent - point them at different channels or the same one
  • Posts run in parallel across all servers, no blocking on slow channels
  • Team badges and player photos are loaded directly from api-sports' media CDN - no bandwidth cost on BetBot's end
Discord post

Up and Running in 30 Seconds

Add BetBot once. Subscribe to the alert types you want. The bot handles everything from there.

1

Add to Discord

Invite BetBot to your server with one click. No config, no setup - drop it in and it's running.

2

Run /press and /red

Use /press subscribe #channel for in-play dominance alerts, and /red subscribe #channel for red card alerts. Same or different channels - your call.

3

Alerts come to you

BetBot polls live data every 60 seconds and posts the moment a signal fires. No commands to run, no schedule to check.

50+ Leagues Worldwide

From the Premier League to the K-League - every major competition, live-tracked for pressure, dismissals, and streaks.

England Premier League
Spain La Liga
Germany Bundesliga
Italy Serie A
France Ligue 1
Netherlands Eredivisie
Portugal Primeira Liga
USA MLS
Japan J1 League
South Korea K League 1
Brazil Serie A (Brazil)
Argentina Liga Profesional
England Championship
Germany 2. Bundesliga
Spain La Liga 2
Chile Primera Division
England Premier League
Spain La Liga
Germany Bundesliga
Italy Serie A
France Ligue 1
Netherlands Eredivisie
Portugal Primeira Liga
USA MLS
Japan J1 League
South Korea K League 1
Brazil Serie A (Brazil)
Argentina Liga Profesional
England Championship
Germany 2. Bundesliga
Spain La Liga 2
Chile Primera Division

Frequently Asked Questions

Got questions? We've got answers.

BetBot polls api-sports every 60 seconds while a tracked fixture is in-play. End-to-end latency from on-pitch event to Discord post is typically 1–3 minutes (api-sports ingest + poll cadence).

Three core live signals: /press fires when a team is level or behind yet dominating the in-play stats (shots, shots on target, corners and possession), /red fires when a player gets sent off in any of 30 tracked leagues, and /streak auto-posts each morning with teams on active BTTS, Over/Under, and win streaks.

30 leagues for both /red and /press, including the Top 5 Europe (Premier League, La Liga, Serie A, Bundesliga, Ligue 1), all three UEFA cups, tier-2 of the Top 5 + FA Cup, Eredivisie, Primeira Liga, Belgian Pro League, Süper Lig, Swiss Super League, Austrian Bundesliga, all three Scandinavian top tiers, Brazil Serie A, Argentina, MLS, Libertadores, J1, K League 1, and Saudi Pro League.

Only when something is happening. BetBot snapshots today's fixtures each morning, then polls live data every 60 seconds during each fixture's in-play window (kickoff -2min through full-time + 3h buffer). Outside that, it sleeps to the next kickoff - no fixed time range and no wasted quota.

Football (soccer) only, for now. The infrastructure could extend to other sports - let us know what you'd want.

Yes. The two subscriptions are stored independently per server. /press subscribe #press-alerts and /red subscribe #red-cards point them at different channels. Or subscribe both to the same channel - your call.

Yes, you can cancel anytime with no questions asked. Your access continues until the end of your billing period. No contracts, no commitments.

No. BetBot is an analysis tool that helps inform your betting decisions. Sports betting always carries risk. We encourage responsible gambling and never guarantee profits. Always bet within your means.

Every Server Needs a BetBot

Stop refreshing livescore apps. Let BetBot watch the matches - when a favorite collapses, a player is sent off, or a streak hits 5, your channel knows the second it happens.