Dokan AI Chatbot
AI-powered chatbot for Dokan marketplace with role-based assistance for vendors and customers.
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/osmansufy/ai-chatbot/archive/refs/heads/master.zipAn AI-powered chatbot plugin for Dokan marketplace that provides intelligent assistance to vendors and customers using Dokan's existing AI infrastructure.
Features
🤖 AI-Powered Conversations
- Leverages Dokan's AI Intelligence module (OpenAI/Gemini)
- Context-aware responses based on user role and data
- Conversation memory and history tracking
- Real-time message processing with error handling
👥 Role-Based Assistance
- Vendor Mode: Store management, analytics, order processing, product optimization
- Customer Mode: Shopping assistance, order tracking, product recommendations, support
- Dynamic role switching with permission validation
🎯 Smart Context Building
- Dynamic context based on user's store data, orders, and preferences
- Real-time information integration
- Personalized responses with conversation history
🔧 Easy Configuration
- Seamless integration with Dokan settings
- Role-based access control
- Customizable prompts and messages
- Rate limiting and abuse prevention
- Configurable widget position and welcome messages
🛡️ Enhanced Security & Performance
- Input validation and sanitization
- Rate limiting with remaining message counter
- Error handling and user feedback
- Database optimization with proper indexing
- Conversation history management
Requirements
- WordPress 5.0+
- Dokan Lite/Pro (with AI Intelligence module)
- Dokan AI properly configured with API keys
- PHP 7.4+
Installation
- Upload the
dokan-chatbotfolder to/wp-content/plugins/ - Activate the plugin through the 'Plugins' menu in WordPress
- Configure Dokan AI settings in Dokan > Settings > AI Assist
- Configure chatbot settings in Dokan > Settings > AI Chatbot
Configuration
Basic Settings
- Enable AI Chatbot: Toggle the chatbot on/off
- Vendor Access: Allow vendors to use chatbot assistance
- Customer Access: Allow customers to use chatbot assistance
- Conversation Retention: Set how long to keep chat history
- Rate Limiting: Prevent abuse with message limits
- Widget Position: Choose where the chatbot appears
- Welcome Message: Customize the initial greeting
Advanced Settings
- Custom Prompts: Override default AI prompts for each role
- Message Limits: Configure maximum messages per session
- Error Handling: Customize error messages and behavior
Usage
For Vendors
Vendors can ask the chatbot about:
- Store performance and analytics
- Order management and fulfillment
- Product optimization suggestions
- Customer feedback analysis
- Sales insights and reports
- Inventory management
- Store visibility improvements
For Customers
Customers can ask the chatbot about:
- Product recommendations
- Order tracking and status
- Store policies and information
- Shopping assistance
- Return and refund information
- Shipping details
- Payment methods
- Customer support contact
API Endpoints
The plugin provides REST API endpoints for integration:
POST /dokan/v1/chatbot/chat- Send a messageGET /dokan/v1/chatbot/history- Get conversation historyGET /dokan/v1/chatbot/suggestions- Get role-based suggestionsPOST /dokan/v1/chatbot/role-switch- Switch user rolePOST /dokan/v1/chatbot/clear-history- Clear chat history
Database Tables
The plugin creates two database tables:
wp_dokan_chatbot_conversations
Stores all chatbot conversations with:
- User and vendor IDs
- Message content and responses
- Role information
- Context data
- Timestamps with proper indexing
wp_dokan_chatbot_preferences
Stores user preferences:
- Preferred role
- Chat settings
- Notification preferences
- Creation and update timestamps
Hooks and Filters
Actions
dokan_chatbot_loaded- Fired when plugin is fully loadeddokan_chatbot_activated- Fired when plugin is activateddokan_chatbot_deactivated- Fired when plugin is deactivateddokan_chatbot_uninstalled- Fired when plugin is uninstalleddokan_chatbot_message_processed- Fired when a message is processed
Filters
dokan_chatbot_prompt- Modify AI promptsdokan_chatbot_context- Modify context datadokan_chatbot_suggestions- Modify suggestionsdokan_chatbot_should_load- Control when chatbot loads
Customization
Styling
The chatbot uses CSS classes that can be customized:
.dokan-chatbot-widget- Main widget container.dokan-chatbot-interface- Chat interface.dokan-chatbot-message- Individual messages.dokan-chatbot-message-error- Error messages.dokan-chatbot-button- Toggle button.dokan-chatbot-remaining- Message counter
JavaScript
The chatbot JavaScript can be extended:
// Listen for chatbot events
$(document).on('dokan_chatbot_message_sent', function(e, data) {
console.log('Message sent:', data);
});
// Customize chatbot behavior
window.dokanChatbotCustom = {
onMessageSend: function(message) {
// Custom logic before sending
},
onResponseReceive: function(response) {
// Custom logic after receiving response
}
};
Security
- User authentication required
- Role-based access control
- Rate limiting to prevent abuse
- Input sanitization and validation
- Nonce verification for API requests
- SQL injection prevention
- XSS protection
Performance
- Efficient database queries with proper indexing
- Conversation caching for faster responses
- Optimized asset loading
- Minimal impact on page load times
- Lazy loading of suggestions
- Responsive design for mobile devices
Troubleshooting
Common Issues
-
Chatbot not appearing
- Check if Dokan AI is configured
- Verify user is logged in
- Check role-based access settings
- Ensure WooCommerce is active
-
AI responses not working
- Verify API keys in Dokan AI settings
- Check API quota and limits
- Review error logs
- Test AI service connectivity
-
Database errors
- Ensure proper database permissions
- Check table creation during activation
- Verify WordPress database prefix
- Run database repair if needed
-
Rate limiting issues
- Check message limits in settings
- Verify user permissions
- Clear browser cache
- Check for conflicting plugins
Debug Mode
Enable WordPress debug mode to see detailed error messages:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
Error Logging
The plugin logs errors to WordPress error log:
- Check
/wp-content/debug.logfor detailed error messages - Monitor server error logs for additional information
Support
For support and documentation:
Contributing
We welcome contributions! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
This plugin is licensed under the GPL v2 or later.
Changelog
Version 1.0.1
- Enhanced Error Handling: Improved error handling throughout the plugin
- Better Input Validation: Added comprehensive input validation and sanitization
- Rate Limiting Improvements: Added remaining message counter and better rate limiting
- New Features: Added clear chat history functionality
- UI Improvements: Enhanced chatbot interface with error states and better feedback
- Code Refactoring: Improved code structure and removed duplicate code
- Database Optimization: Added proper indexing and improved table structure
- Security Enhancements: Better security measures and validation
- Performance Improvements: Optimized asset loading and database queries
- Mobile Responsiveness: Improved mobile experience
- Dark Mode Support: Added dark mode CSS support
- Better Documentation: Enhanced code documentation and comments
Version 1.0.0
- Initial release
- Role-based AI chatbot
- Integration with Dokan AI
- REST API endpoints
- Admin settings interface
- Frontend widget
- Conversation history
- Rate limiting
Credits
Developed by WeDevs for the Dokan marketplace ecosystem.