How umeshrege/hangoutsbot works
HangoutsBot is a Hangouts chat bot: messages arrive through the bot client, are wrapped as conversation events, and are handled by the message handler and command dispatcher before commands produce chat responses. The documented product also supports configurable autoreplies, conversation forwarding, admin restrictions, rename watching, reminders, and URL summarization. Sampled code confirms client setup, dispatch mechanics, command registration, and some integrations; unsampled handlers and default commands are represented at their exact tree paths, with uncertain links omitted.
Main entry points: Handlers.py Message handlers · Bot.py Hangouts bot · ExtraCommands.py Extra commands · Dispatcher.py Command dispatcher
Components 20
Bot Runtime
- Startup
Main.py - Hangouts bot
Core/Bot.py - Message handlers
Core/Handlers.py
Commands
- Command dispatcher
Core/Commands/Dispatcher.py - Default commands
Core/Commands/DefaultCommands.py - Extra commands
Core/Commands/ExtraCommands.py
Configuration
- Config storage
Core/Util/ConfigDict.py - Bot settings
Chat Features
- Chat utilities
Core/Util/UtilBot.py - SQLite state
Core/Util/UtilDB.py - Reminder commands
Core/Commands/ExtraCommands.py - Autoreplies
Core/Handlers.py - Conversation forwarding
Core/Handlers.py - Rename watching
Core/Handlers.py
Integrations
- Lyrics lookup
Libraries/Genius.py - URL summarization
Libraries/summarize/summarize.py - Cleverbot library
Libraries/cleverbot.py
Other components
- Chat participant
- Google Hangouts
- External web services
Connections 18
- Chat participant → Google Hangouts: sends message
readme.md - Google Hangouts → Hangouts bot: delivers events
Core/Bot.py - Startup → Hangouts bot: starts
Main.py - Hangouts bot → Config storage: loads settings
Core/Bot.py - Config storage → Bot settings: reads JSON
Core/Util/ConfigDict.py - Hangouts bot → SQLite state: initializes database
Core/Bot.py - Hangouts bot → Message handlers: creates handler
Core/Bot.py - Message handlers → Command dispatcher: dispatches commands
- Default commands → Command dispatcher: registers commands
readme.md - Extra commands → Command dispatcher: registers commands
Core/Commands/ExtraCommands.py - Extra commands → Chat utilities: uses utilities
Core/Commands/ExtraCommands.py - Extra commands → Lyrics lookup: uses lyrics lookup
Core/Commands/ExtraCommands.py - Extra commands → SQLite state: stores reminders
- Message handlers → Autoreplies: handles replies
- Message handlers → Conversation forwarding: forwards messages
- Message handlers → Rename watching: watches changes
- Lyrics lookup → External web services: fetches lyrics
Libraries/Genius.py - URL summarization → External web services: fetches pages