Skip to content

edwinbernadus/store-chat-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Store Chat Bot

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.


🧑‍🍳 Who Is This For?

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

✨ Features

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

⚙️ How It Works

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

🧠 Agent Architecture

  • Model: Gemini
  • Memory: Persistent, user-specific memory
  • Tools: Modular and extendable toolset

🧰 Built-in Tools

  • Weather Tool – Fetches real-time weather using Open-Meteo API

📦 Requirements

For Telegram Bot

For WhatsApp Bot

  • WhatsApp account
  • Node.js (v18 or later)
  • PostgreSQL
  • Redis
  • Golang (v1.20 or later)

💬 Integrations

Telegram Bot

  • Code: llm/src/mastra/integrations/telegram.ts
  • Usage: Integrated in llm/src/mastra/index.ts
  • Setup: Obtain your bot token from BotFather

WhatsApp Bot

  • Code: llm/src/mastra/integrations/whatsapp.ts
  • Usage: Integrated in llm/src/mastra/index.ts
  • Setup: Retrieves incoming messages from Redis

🚀 Getting Started – Telegram

Navigate to: llm/src/

  1. Install dependencies:
    pnpm install
  2. Setup environment variables:
    cp .env.example .env
    # In .env, set:
    TELEGRAM_MODE=1
  3. Run in development mode:
    pnpm dev
  4. Run in production:
    pnpm build && pnpm start

🚀 Getting Started – WhatsApp

Navigate to: llm/src/

  1. Install dependencies:
    pnpm install
  2. Setup environment variables:
    cp env1.example .env
    # In .env, set:
    WHATSAPP_MODE=1
  3. Run in development mode:
    pnpm dev
  4. Run in production:
    pnpm start

Navigate to: whatsapp-golang/

  1. Install Go dependencies:
    go build
  2. Setup environment variables:
    cp env1.example .env
  3. Start the Go WhatsApp service:
    go run .

🪄 Credits & Attribution

This project is based on:

Contribution Guidelines

Contributions are encouraged! Feel free to open issues or submit pull requests.

License

This project is distributed under MIT.

About

A chatbot agent to assist users with orders in store or a cafe

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors