A chatbot agent to assist users with orders in store or a cafe environment.
A smart receptionist bot built with Mastra to automate order-taking and improve customer interaction via Telegram and WhatsApp.
This project is designed for café and restaurant owners looking to automate their customer service. It's ideal for:
- Cafés & Restaurants
- Food Trucks / Catering Services
- Event Venues
- Food Delivery Services
- Pop-up Shops
- Storefronts
This virtual assistant can help with:
- Show Menu – Presents the café menu to customers
- Take Orders – Records and confirms customer orders
- Telegram Integration – Accepts orders via Telegram bot
- WhatsApp Integration – Accepts orders via WhatsApp
At the core of this application is a mastra agent, which:
- Uses Gemini as the LLM
- Supports a variety of custom tools
- Maintains persistent memory of user conversations
- Executes multi-step workflows to complete complex tasks
- Model: Gemini
- Memory: Persistent, user-specific memory
- Tools: Modular and extendable toolset
- Weather Tool – Fetches real-time weather using Open-Meteo API
- Telegram Bot API
- Node.js (v18 or later)
- PostgreSQL
- Code:
llm/src/mastra/integrations/telegram.ts - Usage: Integrated in
llm/src/mastra/index.ts - Setup: Obtain your bot token from BotFather
- Code:
llm/src/mastra/integrations/whatsapp.ts - Usage: Integrated in
llm/src/mastra/index.ts - Setup: Retrieves incoming messages from Redis
Navigate to: llm/src/
- Install dependencies:
pnpm install
- Setup environment variables:
cp .env.example .env # In .env, set: TELEGRAM_MODE=1 - Run in development mode:
pnpm dev
- Run in production:
pnpm build && pnpm start
Navigate to: llm/src/
- Install dependencies:
pnpm install
- Setup environment variables:
cp env1.example .env # In .env, set: WHATSAPP_MODE=1 - Run in development mode:
pnpm dev
- Run in production:
pnpm start
Navigate to: whatsapp-golang/
- Install Go dependencies:
go build
- Setup environment variables:
cp env1.example .env
- Start the Go WhatsApp service:
go run .
This project is based on:
Contributions are encouraged! Feel free to open issues or submit pull requests.
This project is distributed under MIT.