Set Up Telegram Notifications
A step-by-step guide to securely creating a Telegram bot, finding a chat ID, connecting it to PhotonOdds, routing alerts, and checking delivery.
Why use Telegram for alerts
Telegram can deliver PhotonOdds alerts to a private chat, a group, or a channel you control. The connection has two parts: a bot token, which authorizes your bot to send messages, and a chat ID, which identifies the destination.
Telegram is a good fit when you want a personal mobile alert feed or a small private group. PhotonOdds stores the token as a write-only credential: after you save it, it is not shown back to your browser. You can route EV+ opportunities, dropping-odds alerts, or both to the configured chat.
An alert is a signal that matched your rules. It is not a recommendation to bet. Read the signal against the market context described in The Drop Model before deciding whether to act, wait, or pass.
Before you begin
You need:
- A Telegram account.
- One destination: a direct chat with your bot, or a group/channel where the bot can post.
- A signed-in PhotonOdds account.
- A private place to handle your bot token. Treat it like a password: do not put it in screenshots, chat messages, tickets, or shared documents.
For a direct chat, you must start a conversation with the bot before it can send you messages. Telegram bots cannot start a private conversation themselves. For a group, add the bot before you look up the group chat ID.
1. Create a Telegram bot
- In Telegram, search for @BotFather. It is Telegram's official bot-management account.
- Open the chat and send
/newbot. - Follow BotFather's prompts to choose a display name and a username. Bot usernames normally end in
bot. - Copy the token BotFather gives you. It looks similar to
123456789:AA.... - Store it temporarily in a private password manager or other secure place until you connect it in PhotonOdds.
Telegram's official bot tutorial confirms that BotFather issues the token and that it should be treated like a password. If it is exposed, use BotFather to revoke and replace it before continuing.
2. Choose and prepare the destination chat
Direct message to yourself
- Search Telegram for the bot username you just created.
- Open the bot's chat.
- Select Start or send
/start. - Send one ordinary message, such as
hello.
That message gives Telegram an update containing the chat ID PhotonOdds needs. It also ensures the bot is allowed to send you a direct message later.
Private group or channel
- Create or open the group/channel that should receive alerts.
- Add your bot as a member. For a channel, make it an administrator with permission to post messages.
- Send
/startin the group, or send a message that the bot can receive.
Group chat IDs are commonly negative numbers, often beginning with -100. Do not remove the leading minus sign when you copy it.
3. Find the Telegram chat ID
The official Bot API exposes recent messages through getUpdates. This request includes the bot token, so make the request privately and never paste the complete URL or its response into a public place.
- After sending the bot a message, open a private terminal.
- Run the following command, replacing
YOUR_BOT_TOKENonly in your local terminal:
curl "https://api.telegram.org/botYOUR_BOT_TOKEN/getUpdates"
- Find the most recent
"chat"object in the JSON response. - Copy the number after
"id". For example, in"chat":{"id":123456789,...}, the chat ID is123456789. - For a group, choose the update from that group and copy its negative ID instead.
Do not save this command in a shared shell history or send its output to anyone: both can contain your token. If you accidentally expose it, revoke the token with BotFather and create a new one. Telegram's Bot API tutorial documents getUpdates and the requirement that a user contacts a bot before private messages can be sent.
4. Connect Telegram in PhotonOdds
- Open Notifications settings while signed in.
- In Channels, choose Connect Telegram.
- Paste the bot token into Telegram bot token.
- Paste the chat ID into Telegram chat ID.
- Select Save & connect and confirm the card says Connected.
PhotonOdds does not show the bot token again after saving it. When you later change alert routing, your stored token remains protected and does not need to be pasted again.
5. Choose which alerts Telegram receives
Under Alert routing, select Telegram for each feature you want:
- EV+ opportunities for new positive-EV markets that match your rules.
- Dropping-odds alerts for meaningful pre-kickoff price movements that match your rules.
The routing control saves immediately. You can enable either or both; changing routing does not reveal, replace, or clear your saved bot token.
Begin with a small number of intentional alerts rather than trying to see every movement. Configuring Drop Alerts That Don't Spam You explains how percentage, time, and limit filters affect alert density.
Verify it worked
PhotonOdds sends messages only for real matching signals, not a synthetic test event. Check that:
- The Telegram card is Connected.
- At least one Telegram routing control is active.
- After an enabled rule matches, Recent activity records a successful Telegram delivery and the destination chat receives the message.
The message reflects the signal at detection time. The market can move between detection and delivery, so review the current price as well as the alert. Glossary has concise definitions for EV, CLV, limits, and related terms.
Troubleshooting
No chat ID appears in getUpdates
Send the bot /start or another message first, then repeat the request. Make sure you are using the exact token BotFather issued for that bot. For a group, verify that the bot was added before you sent the message.
The bot is connected but cannot message me
For direct messages, open the bot chat and select Start. Telegram prevents bots from opening a private conversation on their own. For a group or channel, check that the bot is still a member and can post there.
The chat ID is rejected or alerts go to the wrong place
Repeat getUpdates after sending a fresh message in the intended destination. Copy the id from that destination's chat object, not the from user object. Keep the minus sign for a group ID.
The channel is Disabled
Repeated failed sends automatically disable a delivery channel. A revoked token, removed bot, or changed group permissions can cause this. Restore the bot's access, choose Reconnect Telegram, save the current token and chat ID, then enable the routing controls you need.
I exposed the token
Use BotFather to revoke it and issue a replacement. Then update the PhotonOdds Telegram connection with the new token. Treat a leaked token as compromised even if you later delete the message or terminal output.
Keep mobile alerts useful
Set Telegram's sound and notification permissions to match the amount of attention you can give an alert. Start with conservative signal rules, review delivery history alongside your rules, and change one filter at a time. The aim is a calmer review loop, not more impulsive decisions.
18+ only. Betting carries risk. PhotonOdds provides analytical and educational tools, not a promise of profit or a recommendation to place a bet. If gambling is causing harm, see Responsible Gambling.
18+ only. Betting carries risk. PhotonOdds provides analytical and educational tools, not a promise of profit or a recommendation to place a bet. If gambling is causing harm, see Responsible Gambling.