← all repositories
hungtraan/FacebookBot

A 2016-vintage voice bot glued to Facebook Messenger

Before Alexa skills were everywhere, someone wired speech-to-text, Yelp, and news search into a single chatbot.

1.4k stars JavaScript Chat Assistants
FacebookBot
Velocity · 7d
+0.4
★ / day
Trend
steady
star history

What it does Optimist Prime is a Facebook Messenger bot that takes voice memos, finds restaurants, fetches trending news, and saves notes to the cloud. It was built when Messenger’s bot platform was new and voice interfaces still felt novel. The stack is Python/Flask, MongoDB for user context, and a small army of third-party APIs.

The interesting bit The author treats voice as just another input channel: IBM Watson or Google Cloud Speech transcribes audio, then the same NLP pipeline handles the text. That keeps the architecture flat, though it means no real-time streaming. The “trending news” feature is a nice touch—Webhose.io scores articles by social engagement, and the bot quietly relaxes its thresholds when a topic is too niche to trend.

Key highlights

  • Swappable speech-to-text: toggle IBM Watson vs. Google Cloud Speech via environment variable
  • Location-aware restaurant search through Yelp API v2 or v3, with geocoding fallback via Geopy
  • Contextual follow-up: the bot remembers your favorite locations and greets you by your local time
  • Deployment recipes included for Heroku (with ffmpeg buildpack) and local ngrok tunnels
  • Simpler “echo bot” companion repo for learning the Messenger webhook basics

Caveats

  • The NLP uses the pattern library with hand-tuned stopword rules; the README admits this is simple and hopes for future ML categorization
  • Simsimi chat requires a 7-day trial key, so the “entertaining responses” feature has a built-in expiration date
  • Several screenshots and API links in the README are dead or dated (Yelp v3 was a “developer preview” when written)

Verdict Worth a skim if you’re maintaining a legacy Messenger bot or studying how pre-LLM voice assistants were architected. Skip it if you want modern conversational AI—this is glue code from an earlier era, honestly labeled as such.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.