n8nen.nl logo n8nen.nl

BotFather slash commands en Telegram Bot API in n8n

Wil je BotFather commands zoals /setdescription, /setabouttext, /setuserpic en /setcommands goed gebruiken met n8n? Begin bij de botconfiguratie, sla het token veilig op in n8n Credentials en kies daarna pas tussen webhook en polling.

BotFather slash commands cheat sheet

Gebruik /setcommands voor het commandmenu, /setdescription voor de botbeschrijving, /setabouttext voor de korte profieltekst en /setuserpic voor de botfoto. Daarna verwerkt n8n berichten via webhook of polling.

Welke BotFather command hoort bij welke taak?

Gebruik /setcommands voor het menu dat gebruikers zien, /setdescription voor de langere botbeschrijving, /setabouttext voor de korte profieltekst en /setuserpic voor herkenning in Telegram. n8n hoort daarna alleen de berichtenstroom te verwerken: token in Credentials, command uitlezen uit message.text en routeren met een Switch node.

Snel antwoord: BotFather commands

/setcommands maakt het commandmenu. /setdescription bepaalt de zichtbare botbeschrijving, /setabouttext vult de korte profieltekst en /setuserpic zet de profielfoto. In n8n gebruik je daarna het bot token voor webhooks, polling en berichtacties.

Commandmenu in 6 regels

Een goed BotFather commandmenu is kort en voorspelbaar: start - Begin het gesprek, help - Toon hulp, status - Check je aanvraag, settings - Pas voorkeuren aan, contact - Vraag hulp en stop - Stop meldingen. Houd commands lowercase, zonder spaties en maximaal 32 tekens; langere keuzes horen in knoppen of een vervolgvraag.

n8n routing voor slash commands

Laat de Telegram Trigger alle updates ontvangen, normaliseer message.text naar het eerste woord en routeer daarna met een Switch node. Zo blijft /start extra tekst dezelfde route als /start. Voor een complete botflow kun je dit combineren met de Telegram bot automatisering gids.

BotFather of Telegram Bot API?

Gebruik BotFather voor handmatige setup en snelle wijzigingen. Gebruik de Telegram Bot API alleen als je commands, beschrijving of profielgegevens vanuit een beheerworkflow wilt aanpassen. Voor n8n is de veilige basis hetzelfde: token in credentials, geen token in nodes, logs of codevoorbeelden.

Benodigdheden

• Telegram account + BotFather
• n8n met publieke URL (of tunnel) voor webhooks
• Beveiligde opslag voor je bot token (n8n Credentials)

Stap 1 – Bot aanmaken met BotFather

Start chat met BotFather → /newbot → kies naam en @gebruikersnaam. Noteer het API‑token.

Stap 2 – Token opslaan in n8n

Maak een nieuw Credential aan (bijv. TelegramBotToken) en plak je token. Gebruik nooit plaintext in nodes.

Stap 3 – Webhook of polling

Webhook: configureer een n8n Webhook node en stel `setWebhook` in via HTTP Request. Alternatief: periodiek `getUpdates` (polling).

Stap 4 – Updates verwerken

Parse het JSON event (message, callback_query). Filter op chat/user en voer acties uit (routering, validatie).

Stap 5 – Berichten versturen

Gebruik `sendMessage` met Markdown/HTML, of stuur media (`sendPhoto`, `sendDocument`). Gebruik inline keyboards voor interactie.

Stap 6 – Commands en menu

Definieer bot commands via BotFather of API. Bouw een eenvoudige command‑router in n8n (switch op `message.text`).

Security & betrouwbaarheid

Valideer chat IDs, throttle requests, log errors en implementeer retries/back‑off bij 429/5xx. Mask sensitievelingen in logs.

Veelgemaakte fouten

• 401: ongeldig token
• 400: ongeldige payload/parse_mode
• Webhook niet bereikbaar (SSL/URL)

🤖 BotFather Configuratie Details

Complete bot setup:
1) Open Telegram → zoek @BotFather
2) /newbot → kies display naam
3) Username moet eindigen op 'bot' (bijv. MijnBedrijf_bot)
4) Ontvang API token (bewaar veilig!)

Extra bot commands:
/setdescription - Bot beschrijving
/setabouttext - Over deze bot
/setuserpic - Bot profielfoto
/setcommands - Command menu
/setprivacy - Privacy mode (belangrijk voor groepen!)

⚡ Webhook vs Polling Vergelijking

Webhook (aanbevolen voor productie):
✅ Real-time berichten ontvangen
✅ Geen resources verspilling
✅ Schaalbaar tot duizenden users
❌ Vereist HTTPS + publiek domein
❌ Slechts 1 webhook per bot

Polling (voor development):
✅ Werkt achter firewall/NAT
✅ Geen SSL certificaat nodig
✅ Makkelijk lokaal testen
❌ Vertraagde berichten (1-30 sec)
❌ Continue API calls (inefficiënt)

🔐 Bot Token Security

Beveiligingstips:
• NOOIT token in code committen
• Gebruik N8N Credentials Manager
• Roteer tokens regelmatig via BotFather
• Monitor bot gebruik via @BotFather

Token compromised?
1) Onmiddellijk /revoke bij BotFather
2) Genereer nieuw token
3) Update alle N8N workflows
4) Check logs voor misbruik

💬 Message Types & Formatting

Ondersteunde berichttypen:
Text: Plain, Markdown, HTML
Media: Photo (10MB), Video (50MB), Audio, Document
Location: GPS coördinaten
Contact: Telefoonnummer delen
Sticker/GIF: Animated content

Markdown formatting:
*bold*bold
_italic_italic
`code` → inline code
[link](url) → hyperlink

🎯 Inline Keyboards Bouwen

Button types:
Callback button: Triggert callback_query
URL button: Opent externe link
Switch inline: Start inline query
Pay button: Telegram Payments

N8N implementatie:
{
"reply_markup": {
"inline_keyboard": [[
{"text": "✅ Ja", "callback_data": "yes"},
{"text": "❌ Nee", "callback_data": "no"}
]]
}
}


Process callbacks met Switch node op callback_data!

📋 Command Menu Setup

Bot commands configureren:
1) BotFather: /setcommands
2) Format: command - beschrijving

Voorbeeld commands:
start - Begin gesprek met bot
help - Toon hulp informatie
status - Check systeem status
subscribe - Aanmelden voor updates
settings - Bot instellingen
cancel - Stop huidige actie


N8N routing:
Gebruik Switch node op message.text voor command routing!

👥 Groepschat Functionaliteit

Bot in groepen gebruiken:
1) Privacy mode uitschakelen via BotFather
2) Bot moet admin zijn voor alle berichten
3) Filter op chat.type: private/group/supergroup

Groep-specifieke features:
• Mention detection (@botname)
• Admin commands (kick/ban/mute)
• Polls en quizzes
• Pinned messages
• Member management

⚠️ Let op GDPR bij groepsdata opslag!

🔄 State Management

Conversatie state bijhouden:
• Gebruik Redis/Database voor user sessions
• Store: chat_id, current_step, temp_data
• TTL instellen voor cleanup

N8N implementatie:
1) Set node: Store user state
2) Database node: Persist data
3) Switch node: Route based on state
4) Cleanup: Schedule node voor expiry

Perfect voor multi-step formulieren en wizards!

📊 Analytics & Monitoring

Bot metrics tracken:
• Active users (DAU/MAU)
• Message frequency
• Command usage stats
• Response times
• Error rates

N8N monitoring setup:
1) Log alle interactions naar database
2) Grafana dashboard voor visualisatie
3) Alert bij errors via email/Slack
4) Weekly reports genereren

💰 Telegram Payments

Payment bot setup:
1) Contact @BotFather voor Payments API
2) Koppel payment provider (Stripe/PayPal)
3) Test mode beschikbaar

Supported providers:
• Stripe (wereldwijd)
• Smart Glocal (Europa)
• Razorpay (India)
• PayMaster (Rusland)

N8N workflow:
Invoice → Payment button → Process payment → Confirm delivery

🚀 Performance Optimalisatie

Bot snelheid verbeteren:
• Cache frequent data (Redis)
• Async processing voor zware taken
• Queue systeem voor bulk messages
• CDN voor media files

Rate limits:
• 30 messages/second per chat
• 1 message/second voor groepen
• Bulk messages: max 100 per request

Implement exponential backoff bij 429 errors!

🛠️ Advanced Bot Features

Geavanceerde functionaliteit:

📍 Inline mode:
• @botname query in elke chat
• Real-time search results
• Article/photo/video results

📍 Web App:
• Mini webapp in Telegram
• JavaScript SDK beschikbaar
• Full UI customization

📍 Scheduled messages:
• Cron node voor timing
• Timezone handling
• Reminder systeem

🔧 Debugging & Testing

Test strategieën:
• Test groep aanmaken
• Multiple test accounts
• Telegram Test Server (aparte environment)
• ngrok voor lokale webhook testing

Debug tools:
• @RawDataBot - zie JSON van messages
• Telegram Bot API Postman Collection
• N8N execution logs
• Webhook.site voor request inspection

📚 Nuttige Resources

Officiële documentatie:
Telegram Bot API
Bot Code Examples
N8N Webhook Guide

Community:
• @BotDevelopment (Telegram groep)
• r/TelegramBots (Reddit)
• Stack Overflow #telegram-bot

Bot directories:
• @BotoStore
• @BotList

Screenshots

Veelgestelde vragen

Hoe stel ik Telegram bot slash commands in met BotFather?
Open @BotFather, kies je bot en gebruik /setcommands. Voeg per regel een command en beschrijving toe, bijvoorbeeld start - Start de bot. n8n ontvangt daarna de slash command tekst via webhook of polling.
Wat is het beste commandmenu voor een n8n Telegram bot?
Begin met /start, /help, /status, /settings, /contact en /stop. Houd commands kort en specifiek. In n8n routeer je ze met een Switch node op het eerste woord van message.text; uitgebreide keuzes zet je liever in inline buttons.
Wat doen /setdescription, /setabouttext en /setuserpic?
/setdescription zet de langere botbeschrijving, /setabouttext de korte profieltekst en /setuserpic de profielfoto. Dit stel je in bij BotFather; n8n gebruikt daarna alleen het token om berichten te verwerken.
Hoe gebruik ik /setdescription, /setabouttext en /setuserpic met n8n?
Deze commands voer je uit in Telegram bij @BotFather. Daarna gebruikt n8n alleen het bot token om updates te ontvangen en berichten te sturen. De profieltekst, beschrijving en foto blijven dus BotFather-configuratie; je n8n workflow handelt de automatisering af.
Webhook of polling?
Webhook is efficiënter en near‑real‑time; polling is eenvoudiger voor lokale dev zonder publieke URL.
Hoe maak ik inline keyboards?
Stel `reply_markup.inline_keyboard` in met knoppen (text + callback_data/URL). Verwerk `callback_query` events in je flow.
Hoe beveilig ik mijn bot?
Gebruik Credentials, valideer chat/user IDs, beperk permissies, en log zonder tokens. Voeg rate‑limits en retries toe.
Kan een bot meerdere webhooks hebben?
Nee, Telegram staat slechts 1 webhook URL per bot toe. Als je meerdere N8N workflows hebt, moet je een centrale webhook maken die berichten doorstuurt naar andere workflows.
Hoe test ik mijn bot lokaal?
Gebruik ngrok of localtunnel voor een tijdelijke HTTPS URL, of gebruik polling mode tijdens development. Voor productie is een eigen domein met SSL certificaat aanbevolen.
Wat zijn de kosten van een Telegram bot?
Telegram bots zijn volledig gratis! Geen API kosten, geen message limits. Je betaalt alleen voor je hosting (N8N server) en eventueel een domein met SSL certificaat.
Kan mijn bot in groepschats werken?
Ja, maar privacy mode moet uit staan via BotFather. De bot ontvangt dan alle berichten, niet alleen commands. Bot moet ook groep admin zijn voor volledige functionaliteit.
Hoe voorkom ik spam via mijn bot?
Implementeer rate limiting per user, gebruik captcha voor nieuwe gebruikers, blokkeer verdachte patronen, en monitor gebruik. Telegram heeft ook ingebouwde anti-spam maatregelen.
Wat is het verschil tussen getUpdates en webhooks?
getUpdates is polling (bot vraagt updates op), webhooks zijn push (Telegram stuurt updates). Webhooks zijn sneller en efficiënter maar vereisen HTTPS. Je kunt niet beide tegelijk gebruiken.
Hoe lang blijven berichten beschikbaar?
Telegram bewaart ontvangen updates 24 uur. Media files (photos, documents) hebben een download link die ongeveer 1 uur geldig blijft. Sla belangrijke data direct op.
Kan ik scheduled messages versturen?
Telegram API ondersteunt geen native scheduling. Gebruik N8N's Schedule node om berichten op specifieke tijden te versturen. Let op timezones!
Wat zijn de file size limits?
Bots kunnen files tot 50MB versturen en tot 20MB ontvangen. Voor photos is het 10MB (compressed) of 50MB (als document). Videos max 50MB.
Hoe maak ik een payment bot?
Vraag Payments API aan bij @BotFather, koppel een payment provider (Stripe etc), en gebruik de sendInvoice method. Test eerst met Stripe test mode. Niet alle landen worden ondersteund.
WA Stel je vraag