Build a Telegram AI Bot with Gemini
Step-by-step guide to running a Gemini-powered AI bot on Telegram with LangBot: model setup, bot credentials, networking, testing and troubleshooting.
This recipe puts a Gemini model behind a Telegram bot. LangBot receives messages from Telegram, runs them through a pipeline, and sends the answer back, so you do not write any platform code.
Use Google's Gemini models with LangBot's built-in Agent, including image input when the model supports vision.
What you need
- A running LangBot instance: LangBot Cloud (no server needed) or a self-hosted deployment with Docker or
uvx langbot. - A Gemini account or server you can call from LangBot.
- A bot token from @BotFather (send
/newbotand pick a username ending inbot).
Networking
Telegram uses long polling: LangBot only needs outbound access to api.telegram.org. No public webhook URL is required, so a laptop or home server works.
1. Add the Gemini model
- Create an API key in the Google Gemini console.
- In LangBot, open Models, add an LLM model with the provider set to Google Gemini, then paste the API key and the model ID.
- Enable Tool Use if the model supports function calling; MCP tools, Skills and the sandbox need it.
- Create the key in Google AI Studio. Enable Vision on the model if you want the bot to read images.
2. Create a pipeline
Open Pipelines in the LangBot WebUI, create a pipeline (or edit the default one) and set AI as follows.
| Field | Value |
|---|---|
| Runner | Local Agent (built-in Agent) |
| Model | The model you just added. You can add fallback models. |
| Prompt | Instructions: who the bot is, tone, what it must not do. |
| Knowledge Bases | Optional. Attach a knowledge base so answers come from your documents. |
3. Create the Telegram bot
- Under Bots, create a bot and select the Telegram adapter (the new adapter in LangBot 4.11, not the deprecated legacy one).
- Paste the token, enable Markdown and streaming if you want them, then enable and save the bot.
4. Bind and test
Open the bot, select the pipeline you created, save and make sure the bot is enabled.
Press Start in a private chat with the bot and send a message. In groups, the message must match the pipeline's trigger rules (for example, mention the bot or reply to it).
Troubleshooting
- Images are ignored: enable Vision on the model and check that the platform adapter forwards images.
- Only one running instance may poll a token. If replies are missing, make sure the same bot is not enabled in another LangBot instance or script.
- Check Monitoring in the WebUI: every message, pipeline run and error is recorded there.
FAQ
Do I need a server with a public IP for Telegram?
No. Telegram uses long polling: LangBot only needs outbound access to api.telegram.org. No public webhook URL is required, so a laptop or home server works.
Does the Telegram bot support streaming replies?
Yes. Enable streaming on the bot; the AI back end must also stream. See the platform feature matrix for details.
Can the same Gemini setup serve other platforms too?
Yes. A pipeline can be bound to many bots, so one configuration can answer on several platforms at once.
Related guides
- Full Telegram setup guide
- Model configuration
- Other AI back ends on Telegram: Dify · n8n · Coze · Langflow · DeepSeek
- Gemini on other platforms: Discord · Slack · Lark (Feishu) · DingTalk · WeCom (internal app) · WeCom Intelligent Bot
Build a a website chat widget AI Bot with Claude
Step-by-step guide to running a Claude-powered AI bot on a website chat widget with LangBot: model setup, bot credentials, networking, testing and troubleshooting.
Build a Discord AI Bot with Gemini
Step-by-step guide to running a Gemini-powered AI bot on Discord with LangBot: model setup, bot credentials, networking, testing and troubleshooting.
