From Manual Scanning to Automated Signals
Most serious bettors follow a process. They check the match state — the score, the minute, the momentum. They look at statistics — shots, corners, possession. They consider form, head-to-head records, and league position. When enough conditions align, they place a bet.
The problem is scale. On a busy Saturday, 50 or more matches run simultaneously across Europe's top leagues. No human can monitor all of them in real time, cross-referencing statistics against their personal criteria for every fixture. Opportunities are missed. Bets are placed late. And fatigue leads to mistakes.
ScoreSage AI's Custom Bot Builder solves this by turning your personal betting criteria into an automated scanner. You define the conditions. The system watches every live match. When your conditions are met, you get a signal — delivered to your phone via Telegram, Discord, or push notification — with all the match data you need to decide.
How the Bot System Works
1. Define Your Filters
Filters are the conditions your bot checks against every live match. You can combine filters from eight categories to create precisely the scenario you are looking for:
| Category | What It Covers |
|---|---|
| Match State | Current score, match minute, which team is winning or losing |
| Match Stats | Shots, shots on target, corners, possession, fouls, cards — full-time running totals |
| Match Stats (Half) | The same statistics but filtered to a specific half — useful for first-half or second-half strategies |
| Pressure | ScoreSage AI's proprietary pressure metrics — attacking momentum, defensive stress, match tempo |
| Standings | League position, points, home/away form ranking |
| Season Stats | Team-level season averages — goals scored per game, corners conceded per match, clean sheet percentage |
| H2H | Head-to-head record over the last N meetings — win rate, goals average, corners average |
| Predictions | ScoreSage AI's own prediction outputs — BTTS probability and over/under signals |
Each filter uses an operator (greater than, less than, equals, between, etc.) and can be scoped to the home team, away team, either team, both combined, the winning team, or the losing team.
Example Filter Set
A bot designed to find second-half goals opportunities might use:
- Match State: Minute > 45 (second half has started)
- Match State: Score = 0-0 (still goalless)
- Match Stats: Shots on target (combined) > 6 (both teams are creating chances)
- Pressure: Home attacking pressure > 60 (the home team is pushing hard)
- Season Stats: Home team scores > 1.5 goals per game on average
When all five conditions are true simultaneously during a live match, the bot fires a signal.
2. Set Your Win Condition
The win condition defines what counts as a "win" for your bot. This is what the system tracks to measure your bot's accuracy over time. Available win conditions include:
- Goal in Half — A goal is scored in a specific half
- Over / Under Goals — Total goals exceed or stay below a threshold
- BTTS Yes / No — Both teams score, or they do not
- Match Result — Home win, draw, or away win
- Next Goal — The next goal is scored by the home or away team
- Over Corners / Over Cards — Corner or card totals exceed a threshold
- Clean Sheet — A team keeps a clean sheet
- No More Goals — No further goals are scored after the signal fires
Each win condition has a settlement time — half-time (HT), full-time (FT), or next event (NEXT). This tells the system when to check whether the condition was met.
3. Choose Your Delivery Channel
When your bot fires a signal, you need to know about it immediately. The system supports three delivery methods:
- Telegram (Shared Channel): Signals are posted to ScoreSage AI's shared Telegram channel. Simplest setup — no configuration needed.
- Telegram (Private DM): Signals are sent directly to your personal Telegram account.
- Discord: Signals delivered via a Discord webhook to your chosen server and channel.
- Push Notifications: Browser push notifications for real-time alerts.
4. Configure Your Message
Every signal message can be personalised. You control whether it shows:
- The filter name (which bot triggered it)
- The current score
- The league name
- Your bot's win/loss record
- Running profit and loss (PnL)
- A snapshot of the match statistics at the moment the signal fired
This means your signals arrive with exactly the context you need — nothing more, nothing less.
Backtesting: Prove It Before You Trust It
Before running your bot on live matches, you can backtest it against historical data. The backtester runs your filter set and win condition against past matches to show you:
- Hit rate: What percentage of signals would have won
- Signal count: How many matches would have triggered your filters
- Sample quality: Whether the signal fires often enough to be statistically meaningful
Backtesting is essential. A bot that fires once a month does not give you enough data to trust its hit rate. A bot that fires 200 times with a 65% hit rate is telling you something real. Use the backtester to refine your filters until you find the balance between selectivity (higher hit rate) and volume (enough signals to be useful).
Building Your First Bot: A Step-by-Step Walkthrough
Step 1: Start with a Hypothesis
Every good bot begins with a betting thesis. "I believe that when the home team is losing 0-1 at half-time but has dominated shots on target, they come back to score in the second half." That is a testable hypothesis.
Step 2: Translate to Filters
Break the hypothesis into measurable conditions:
- Match minute: Between 45 and 50 (just after half-time)
- Score: Away team leading by 1
- Shots on target: Home team > 4
- Shots on target: Away team < 3
Step 3: Set the Win Condition
The thesis predicts the home team scores in the second half, so set: Goal in Half (2nd Half, Home Team) with settlement at FT.
Step 4: Backtest
Run the backtest. If the hit rate is above 55% with a reasonable sample size (30+ signals), the hypothesis has historical support. If not, adjust the filters — perhaps tighten the shots threshold or add a possession filter.
Step 5: Go Live
Activate the bot and set up your preferred delivery channel. Monitor the first 10-20 signals manually to confirm the bot is firing in the situations you intended. Adjust if needed.
League Filtering
Not every league behaves the same way. A bot that performs well in the Premier League may not work in Ligue 1 or the Eredivisie. The Custom Bot system lets you filter by league — either include a whitelist of leagues you trust or exclude leagues where your strategy does not apply.
This is particularly useful for bots based on pressure or pace metrics, which can vary significantly across football cultures. High-pressing leagues like the Bundesliga produce different statistical profiles from more tactical leagues like Serie A.
The Leaderboard
If you are confident in your bot's performance, you can share it to the public leaderboard. This shows your bot's name, filter name, hit rate, signal count, and PnL — anonymised to protect your specific filter configuration while showcasing the results.
The leaderboard creates a competitive element and helps the community identify which types of strategies are working in the current football landscape.
Tips for Building Better Bots
1. Start Simple
Begin with two or three filters. Adding more filters increases precision but reduces signal volume. It is better to start broad and tighten than to start with 10 filters and get no signals.
2. Match Your Win Condition to Your Filters
If your filters detect high-pressure attacking situations, your win condition should relate to goals — not corners or cards. A mismatch between what your filters detect and what your win condition measures will produce unreliable results.
3. Use the Right Scope
Scoping matters. "Shots on target > 5" means something very different when scoped to the home team versus combined. Think carefully about whether your hypothesis applies to a specific team or the match as a whole.
4. Backtest Across Multiple Leagues
A strategy that works in one league may not transfer to another. Backtest across different leagues to check whether your bot's edge is universal or league-specific. If it only works in the Premier League, restrict it to the Premier League.
5. Review and Iterate
The best bots evolve. Review your bot's signals monthly. Check which wins and losses were predictable and which were random. Adjust filters to eliminate recurring false signals without overfitting to specific matches.
Key Takeaways
The Custom Bot Builder turns your betting intuition into a repeatable, testable system. Define your conditions across eight filter categories, set a clear win condition, backtest against historical data, and go live with automated delivery to Telegram, Discord, or push notifications.
Start with a simple hypothesis, prove it with backtesting, and iterate based on live results. The goal is not to build the perfect bot on day one — it is to build a framework for continuous improvement, grounded in data rather than instinct.