A powerful, extensible chatbot framework with multi-channel support, custom JavaScript skills, and AI-powered conversations.
{
"Database": "db/database.db",
"LogLevel": "Info",
"Channels": {
"Telegram": {"Enabled": true, "token": "YOUR_BOT_TOKEN"},
"Whatsapp": {"Enabled": false}
},
"Providers": [
{"Name": "Local LLM", "Type": "openai", "BaseUrl": "http://localhost:1234/v1"},
{"Name": "Google", "Type": "google", "ApiKey": "YOUR_API_KEY", "Model": "gemini-2.0-flash"},
{"Name": "OpenRouter", "Type": "openai", "BaseUrl": "https://openrouter.ai/api/v1", "ApiKey": "YOUR_API_KEY"}
]
}
{
"Name": "My User",
"ID": "Telegram:123456789",
"Allowed": true,
"Provider": "Local LLM",
"HistorySize": 50,
"Tools": [
{"Name": "message_reaction", "Enabled": true},
{"Name": "javascript", "Enabled": true},
{"Name": "skills", "Enabled": true},
{"Name": "subagent", "Enabled": true},
{"Name": "cron", "Enabled": true},
{"Name": "timer", "Enabled": true}
],
"Skills": [
{"Name": "javascript", "Enabled": true},
{"Name": "memories", "Enabled": true},
{"Name": "web", "Enabled": true}
]
}
const args = GetArgs();
async function main() {
const { input } = args;
return `You said: ${input}`;
}
// Export the result
export default main();
Everything you need to build sophisticated AI chatbots
Seamless integration with Telegram and WhatsApp with full message and reaction support.
Extend functionality using JavaScript-based skills. Create powerful tools with the language you love.
Powered by LangChainGo with robust conversation handling and multiple LLM provider support.
Schedule recurring tasks with cron expressions or set one-time alarms for specific actions.
Persistent text storage for user preferences, facts, and data across conversations and restarts.
Session configuration changes applied in real-time without restarting the bot.
A modular design built for extensibility and maintainability
AI-driven logic and conversation flows
Abstraction for Telegram & WhatsApp
Discover, load, execute JS skills
Schedule recurring tasks
One-time alarms & timeouts
JGBot/
├── agent/ # AI agent and tool implementations
├── channels/ # Telegram, WhatsApp integration
├── conf/ # Configuration management
├── session/ # Session logic and lifecycle
├── skill/ # Skill loader and executor
├── skills/ # User-defined skills (JS)
├── cron/ # Cron job system
├── timer/ # Timer and alarm system
├── js/ # JavaScript runtime bridge
├── database/ # GORM database models
└── main.go # Entry point
Choose from a wide range of LLM providers via LangChainGo
GPT-4, GPT-3.5
Claude 3
Gemini Pro
Local models
Mistral AI
Messaging, reactions, typing status, rich text
Messaging, reactions, typing status, rich text
Install and run JGBot in minutes
git clone https://github.com/JulioGuillermo/JGBot
cd JGBot
go mod tidy
go build
./JGBot
Note: On the first run, the application generates default configuration files and a new database file. You can customize the database path in the configuration.
Explore detailed guides to master JGBot
Full configuration reference for JGBot.
Configure per-session behavior, tools, skills, and providers.
Discover built-in skills like memories, web search, and more.
Learn how to create powerful JavaScript-based skills to extend JGBot's functionality.
Set up cron jobs and timers for automated tasks.