📖 Project Overview
Slack Bot Assistant is a powerful Python application that integrates Slack Bolt Framework to create enterprise-grade bots for team collaboration and productivity automation. This project offers AI assistance, task management, sentiment analysis, adaptive personalities, multi-language support, smart reminders, meeting summaries, channel analytics, polls, productivity tools, admin dashboard, and a beautiful responsive web interface. Perfect for developers, team collaboration, and businesses looking to build Slack automation and interactive workspace applications.
⚡ Quick Facts
✨ Features
Core Features
🤖 Slack API Integration
Seamless integration with Slack API using Slack Bolt Framework for robust bot functionality with command handling and interactive features.
⌨️ Command Handling
Easily parse and respond to user commands like /start, /help, /qr, /speak, /translate, /weather, and more.
🔘 Inline Keyboards
Interactive buttons and menus for enhanced user experience with seamless navigation and quick actions.
📁 File Sharing
Capabilities to handle file uploads and downloads for document sharing and media management.
Utility Commands
📱 QR Code Generator
Generate QR codes from any text using the /qr command for quick sharing and information transfer.
🎤 Text to Speech
Convert text to voice notes using the /speak command for hands-free interaction and accessibility.
📄 PDF Creator
Create PDF documents from text using the /pdf command for document generation and sharing.
🌐 Language Translator
Translate text to multiple languages using the /translate command for multilingual communication.
☁️ Weather Info
Get weather information for any city using the /weather command with real-time data.
📝 Text Summarizer
Summarize long text using the /summarize command for quick content understanding.
Advanced Features
🤖 AI Assistant
Intelligent responses using OpenAI API or rule-based system with the /ai command for smart interactions.
⏰ Task Reminders
Set personal reminders using the /remind command for task management and productivity.
🔑 Password Generator
Generate secure random passwords using the /password command for account security.
🔗 URL Shortener
Shorten long URLs using the /shorten command for easy sharing and link management.
🧮 Calculator
Perform mathematical calculations using the /calc command for quick computations.
🔄 Unit Converter
Convert between different units using the /convert command for measurement conversions.
📰 News Fetcher
Get latest news articles using the /news command for staying informed.
🏆 User Leaderboard
View top users by XP using the /leaderboard command for gamification and engagement.
⭐ XP & Leveling System
Users earn XP and level up by using the bot, creating an engaging experience with progression tracking.
👤 User Profiles
View detailed user statistics using the /profile command for personal insights and achievements.
📊 Admin Dashboard
PHP-based dashboard to monitor bot statistics, user data, feedback, and comprehensive analytics.
💬 Group Chat Support
Functionality tailored for both private and group interactions with comprehensive bot features.
🛠️ Technologies
Python
Backend bot with Slack Bolt Framework
BackendSlack Bolt Framework
Python framework for Slack API
FrameworkSlack API
Official Slack API for bot automation
Bot APISQLite
Lightweight database for user data and statistics
DatabasePHP
Admin dashboard and web interface
BackendJavaScript ES6+
Frontend interactivity and API integration
FrontendHTML5/CSS3
Modern web interface and styling
UIOpenAI API
Optional AI integration for advanced features
AI APIOpenWeatherMap API
Optional weather data integration
Weather API📦 Installation Guide - Step by Step
⏱️ Installation Time: ~5 minutes
Follow these simple steps to set up the Slack Bot Assistant on your system.
📋 Prerequisites
🤖 Slack Bot Assistant Token
Get your bot token from Slack API (required for Slack API access)
Get Token: Slack API
🌐 Modern Web Browser
Chrome, Edge, Safari, or Firefox for the frontend interface
🌐 Internet Connection
Required for Slack API calls and CDN resources
🚀 Step-by-Step Installation
Option A: Download ZIP
- Download the project ZIP file from the repository
- Extract it to your desired location (e.g.,
C:\Projects\slack-bot-assistantor~/Projects/slack-bot-assistant) - Navigate to the extracted folder
Option B: Clone with Git
git clone https://github.com/rskworld/slack-bot-assistant.git
cd slack-bot-assistant
Install required Python packages using pip.
# Install dependencies
pip install -r requirements.txt
Configure your Slack Bot Assistant token in the environment file.
- Copy env.example to .env
- Edit .env and add your Slack Bot Assistant token:
SLACK_BOT_TOKEN=your_bot_token_here - Get your bot token from Slack API on Slack
- Optional: Add
ADMIN_ID=your_slack_user_idfor admin features
Start the Slack bot server.
# Start Slack bot
python bot.py
# Or use the start script
# Windows: run.bat
# Linux/Mac: ./run.sh
Open the PHP dashboard in your browser to monitor bot statistics.
Method 1: Direct File Opening
- Open dashboard.php in your browser
Method 2: Using Local Web Server (Recommended)
# In a new terminal, start HTTP server
python -m http.server 8000
# Then open: http://localhost:8000/dashboard.php
✅ Installation Complete!
Congratulations! You've successfully set up the Slack Bot Assistant. The bot is ready to use with all features including:
- Slack API integration with Slack Bolt Framework for bot functionality
- Command handling for /help, /task-create, /task-list, /set-reminder, /summarize-meeting, /poll, /weather, and more
- AI assistance with adaptive personalities (Professional, Casual, Technical, Friendly, Formal)
- Task management with priorities and due dates
- Smart reminders, meeting summaries, channel analytics, interactive polls
- Weather info, language translator, notes, quotes, standup templates
- Sentiment analysis, multi-language support, productivity automation
- Admin dashboard for bot statistics and user management
- Team collaboration tools and workspace integration
Next Steps:
- Ensure the bot is running (Step 4)
- Open Slack and invite the bot to your workspace
- Use /help command to see all available commands
- Try commands like /task-create, /task-list, /set-reminder, /summarize-meeting, /poll, /weather, and more!
- Access the admin dashboard to view bot statistics
🔧 Troubleshooting Installation
❌ Bot Token Issues
Solution: Ensure your .env file contains a valid SLACK_BOT_TOKEN. Get your token from Slack API on Slack.
❌ Bot Not Starting
Solution: Check Python version (3.8+), verify dependencies installed with pip install -r requirements.txt, ensure bot token is correct.
❌ Connection Errors
Solution: Verify bot is running, check internet connection, ensure Slack API is accessible, verify bot token is valid and active.
❌ Import Errors
Solution: Reinstall dependencies, check virtual environment is activated, verify all packages in requirements.txt are installed.
📚 Usage Guide - Step by Step
🎯 Getting Started with Slack Bot Assistant
Step-by-Step Usage Instructions
📝 Step 1: Start Bot
- Ensure bot is running:
python bot.py - Check bot logs for connection status
- You should see:
Bot started successfullyor similar message
🌐 Step 2: Open Slack
- Open Slack app or web interface
- Invite the bot to your workspace
- Start using the bot in any channel
- You can use the bot with:
- Slash commands (/help, /task-create, etc.)
- Mention @BotAssistant for AI assistance
- Command list and help information
💬 Step 3: Try Bot Commands
- Basic Commands: Try /start, /help, /features, /profile
- Utility Commands: Try /qr, /speak, /translate, /pdf, /weather
- Advanced Commands: Try /ai, /remind, /password, /shorten, /calc, /convert, /news
- Try These Examples:
/qr Hello World- Generate QR code/speak Hello- Convert text to speech/translate en Hello- Translate text/weather London- Get weather info/ai What is Python?- Ask AI assistant/calc 2+2- Calculate/password 16- Generate password
- View Responses: Bot will respond with formatted text, inline keyboards, and interactive features
⚙️ Step 4: Explore Features
Try out the bot features:
- Inline Keyboards: Use interactive buttons for quick actions
- User Profiles: Check your profile with /profile command
- Leaderboard: View top users with /leaderboard command
- Task Reminders: Set reminders with /remind command
- File Sharing: Upload and download files through the bot
- Group Support: Use bot in group chats for shared features
- Admin Features: Use /stats and /broadcast commands (admin only)
- XP System: Earn XP and level up by using bot commands
📊 Step 5: Access Admin Dashboard
Monitor bot statistics and user data:
- Dashboard: Open dashboard.php in your browser
- Statistics: View bot usage, user count, command statistics
- User Management: View user profiles, XP, levels, and activity
- Feedback: View and manage user feedback
- Leaderboard: View top users and rankings
- Export Data: Export bot database and statistics
💻 Using Slack API
You can integrate Slack API into your own applications:
# Python Slack Bot Assistant example
from telegram import Update
from telegram.ext import Application, CommandHandler, MessageHandler, filters
async def start(update: Update, context):
await update.message.reply_text('Hello! I am a Slack Bot Assistant.')
async def help_command(update: Update, context):
await update.message.reply_text('Available commands: /start, /help, /qr, /speak')
def main():
application = Application.builder().token("YOUR_BOT_TOKEN").build()
application.add_handler(CommandHandler("start", start))
application.add_handler(CommandHandler("help", help_command))
application.run_polling()
if __name__ == '__main__':
main()
# Python example - Send message
import requests
def send_message(chat_id, text):
url = f"https://api.telegram.org/bot{YOUR_BOT_TOKEN}/sendMessage"
data = {"chat_id": chat_id, "text": text}
response = requests.post(url, json=data)
return response.json()
📊 Features Usage
🤖 AI Assistant
Mention @BotAssistant in any channel for AI-powered assistance with adaptive personalities
📋 Task Management
Use /task-create and /task-list commands to manage tasks with priorities and due dates
⏰ Smart Reminders
Use /set-reminder command to set reminders with natural language time parsing
📝 Meeting Summaries
Use /summarize-meeting command to generate AI-powered summaries from channel conversations
📊 Channel Analytics
Use /manage-channel command to get comprehensive channel health reports and analytics
📊 Interactive Polls
Use /poll command to create interactive polls for team decisions
🌐 Language Translator
Use /translate command to translate text to multiple languages
☁️ Weather Info
Use /weather command to get weather information for any city
💬 Quick Notes
Use /note command to create and save quick notes
💡 Motivational Quotes
Use /quote command to get random motivational quotes
🎲 Random Generator
Use /random command to generate random numbers or choose from options
📋 Standup Templates
Use /standup command to get daily standup format templates
⚙️ Bot Settings
Use /bot-settings command to configure bot personality and language preferences
📊 Sentiment Analysis
VADER-powered sentiment detection for message analysis (POSITIVE, NEGATIVE, NEUTRAL, URGENT)
🌍 Multi-language Support
Support for multiple languages: English, Hindi, Spanish, French, German
💼 Adaptive Personalities
Switch between Professional, Casual, Technical, Friendly, and Formal AI modes
📊 Admin Dashboard
Access dashboard.php to monitor bot statistics and user data
🚀 Advanced Features & Capabilities
The Slack Bot Assistant includes advanced bot capabilities and interactive features. Here's what you can do:
⌨️ Command Handling
Easy parsing and response to user commands
The bot easily parses and responds to user commands like /start, /help, /qr, /speak, /translate, /weather, /ai, /remind, /password, /shorten, /calc, /convert, /news, /summarize, and more. Each command provides specific functionality for enhanced user experience.
🔘 Inline Keyboards
Interactive buttons and menus
Interactive buttons and menus for enhanced user experience. Users can navigate through bot features using inline keyboards, making interactions seamless and intuitive.
📊 User Management & XP System
XP system and user leaderboard
Users earn XP and level up by using the bot, creating an engaging experience with progression tracking. View top users with /leaderboard and check your profile with /profile command.
📱 Utility Commands
QR code, PDF, translator, weather, and more
The bot includes multiple utility commands for QR code generation, PDF creation, language translation, weather information, text-to-speech, password generation, URL shortening, calculations, unit conversion, news fetching, and text summarization.
💻 Code Examples
Basic Slack Bot Assistant Integration
# Python Slack Bot Assistant - bot.py
from telegram import Update
from telegram.ext import Application, CommandHandler, ContextTypes
import os
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
await update.message.reply_text('Hello! I am a Slack Bot Assistant.')
async def help_command(update: Update, context: ContextTypes.DEFAULT_TYPE):
await update.message.reply_text('Available commands: /start, /help, /qr, /speak')
def main():
token = os.getenv('SLACK_BOT_TOKEN')
application = Application.builder().token(token).build()
application.add_handler(CommandHandler("start", start))
application.add_handler(CommandHandler("help", help_command))
application.run_polling()
if __name__ == '__main__':
main()
Command Handler Example
# Python example - QR Code command
from telegram import Update
from telegram.ext import CommandHandler
import qrcode
import io
async def qr_command(update: Update, context: ContextTypes.DEFAULT_TYPE):
text = ' '.join(context.args) if context.args else 'Hello World'
qr = qrcode.QRCode(version=1, box_size=10, border=5)
qr.add_data(text)
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
bio = io.BytesIO()
img.save(bio, 'PNG')
bio.seek(0)
await update.message.reply_photo(photo=bio, caption=f'QR Code for: {text}')
# Register command
application.add_handler(CommandHandler("qr", qr_command))
Complete Slack Bot Assistant Example
# Slack Bot Assistant Class
from telegram import Update, InlineKeyboardButton, InlineKeyboardMarkup
from telegram.ext import Application, CommandHandler, CallbackQueryHandler
class TelegramBot:
def __init__(self, token):
self.token = token
self.application = Application.builder().token(token).build()
self.setup_handlers()
def setup_handlers(self):
self.application.add_handler(CommandHandler("start", self.start))
self.application.add_handler(CommandHandler("help", self.help))
self.application.add_handler(CallbackQueryHandler(self.button_callback))
async def start(self, update: Update, context):
keyboard = [
[InlineKeyboardButton("Help", callback_data='help')],
[InlineKeyboardButton("Features", callback_data='features')]
]
reply_markup = InlineKeyboardMarkup(keyboard)
await update.message.reply_text('Welcome!', reply_markup=reply_markup)
async def button_callback(self, update: Update, context):
query = update.callback_query
await query.answer()
await query.edit_message_text(text=f"Selected: {query.data}")
# Usage
bot = TelegramBot('YOUR_BOT_TOKEN')
bot.application.run_polling()
Configuration Example
# Bot config - config.py
import os
class Config:
SLACK_BOT_TOKEN = os.getenv('SLACK_BOT_TOKEN')
ADMIN_ID = int(os.getenv('ADMIN_ID', 0))
DATABASE_PATH = 'bot.db'
OPENAI_API_KEY = os.getenv('OPENAI_API_KEY', '') # Optional
WEATHER_API_KEY = os.getenv('WEATHER_API_KEY', '') # Optional
# Bot settings
MAX_MESSAGE_LENGTH = 4096
COMMAND_PREFIX = '/'
ENABLE_LOGGING = True
# .env file example
SLACK_BOT_TOKEN=your_bot_token_here
ADMIN_ID=123456789
OPENAI_API_KEY=sk-your-key-here # Optional
WEATHER_API_KEY=your_weather_key # Optional
🔗 Slack Bot Assistant API Integration
Slack Bot Assistant API Integration
The application integrates with Slack Bot Assistant API for robust bot functionality. The backend uses Python with Slack Bolt Framework library to handle bot commands and interactions, while the frontend uses PHP for the admin dashboard.
Available APIs & Technologies
| API/Technology | Type | Description |
|---|---|---|
| Slack API | Bot API | Slack's official API for bot development |
| Slack Bolt Framework | Python Framework | Python framework for Slack API |
| SQLite | Database | Lightweight database for user data and statistics |
| OpenAI API | AI API | Optional AI integration for /ai command |
| OpenWeatherMap API | Weather API | Optional weather data for /weather command |
Bot Command Handlers
# Python Slack Bot Assistant - handlers.py
from telegram import Update
from telegram.ext import Application, CommandHandler, ContextTypes
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
"""Handle /start command"""
await update.message.reply_text(
'Welcome! Use /help to see available commands.'
)
async def help_command(update: Update, context: ContextTypes.DEFAULT_TYPE):
"""Handle /help command"""
help_text = """
Available commands:
/start - Start the bot
/help - Show this help message
/qr - Generate QR code
/speak - Convert text to speech
/translate - Translate text
/weather - Get weather info
/ai - Ask AI assistant
"""
await update.message.reply_text(help_text)
async def qr_command(update: Update, context: ContextTypes.DEFAULT_TYPE):
"""Handle /qr command"""
text = ' '.join(context.args) if context.args else 'Hello World'
# Generate QR code logic here
await update.message.reply_text(f'QR Code for: {text}')
# Register handlers
def setup_handlers(application):
application.add_handler(CommandHandler("start", start))
application.add_handler(CommandHandler("help", help_command))
application.add_handler(CommandHandler("qr", qr_command))
# Python example - Inline Keyboard
from telegram import InlineKeyboardButton, InlineKeyboardMarkup
async def show_menu(update: Update, context: ContextTypes.DEFAULT_TYPE):
keyboard = [
[InlineKeyboardButton("QR Code", callback_data='qr')],
[InlineKeyboardButton("Translate", callback_data='translate')],
[InlineKeyboardButton("Weather", callback_data='weather')]
]
reply_markup = InlineKeyboardMarkup(keyboard)
await update.message.reply_text(
'Choose an option:',
reply_markup=reply_markup
)
Bot Setup
# Check Bot Connection
import requests
def check_bot_connection(token):
url = f"https://api.telegram.org/bot{token}/getMe"
response = requests.get(url)
if response.status_code == 200:
data = response.json()
if data['ok']:
bot_info = data['result']
print(f"Bot connected: @{bot_info['username']}")
return True
return False
# Recommended setup:
# - Backend: Python 3.8+ with Slack Bolt Framework
# - Database: SQLite for user data
# - Frontend: PHP for admin dashboard
# - Optional: OpenAI API for AI features
⚙️ Configuration
Configuration in this application is handled through environment variables and settings files:
Environment Variables
Create a .env file in the project root (copy from env.example):
# .env file
SLACK_BOT_TOKEN=your_bot_token_here
ADMIN_ID=123456789
OPENAI_API_KEY=sk-your-key-here # Optional for /ai command
WEATHER_API_KEY=your_weather_key # Optional for /weather command
Note: Get your bot token from Slack API on Slack. Never commit your .env file to version control.
Python Configuration (config.py)
The config.py file contains configuration settings:
# config.py
import os
class Config:
SLACK_BOT_TOKEN = os.getenv('SLACK_BOT_TOKEN')
ADMIN_ID = int(os.getenv('ADMIN_ID', 0))
DATABASE_PATH = 'bot.db'
OPENAI_API_KEY = os.getenv('OPENAI_API_KEY', '') # Optional
WEATHER_API_KEY = os.getenv('WEATHER_API_KEY', '') # Optional
# Bot settings
MAX_MESSAGE_LENGTH = 4096
COMMAND_PREFIX = '/'
ENABLE_LOGGING = True
Database Configuration
The bot uses SQLite database for user data:
# database.py
import sqlite3
class Database:
def __init__(self, db_path='bot.db'):
self.conn = sqlite3.connect(db_path)
self.create_tables()
def create_tables(self):
cursor = self.conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
user_id INTEGER PRIMARY KEY,
username TEXT,
first_name TEXT,
xp INTEGER DEFAULT 0,
level INTEGER DEFAULT 1
)
''')
self.conn.commit()
Runtime Configuration
Configure bot settings through environment variables or config file:
- Bot Token: Required - Get from Slack API on Slack
- Admin ID: Optional - Your Slack user ID for admin features
- OpenAI API Key: Optional - For /ai command functionality
- Weather API Key: Optional - For /weather command functionality
- Database Path: SQLite database file path (default: bot.db)
- Logging: Enable/disable bot logging
All settings are configured through environment variables or config.py file.
📁 Project Structure
Note: Edit config.py and .env to configure bot token and settings.
📄 Detailed File Descriptions
📄 index.html
Purpose: Main HTML file with chatbot interface. Contains the complete UI structure and layout.
Key Features:
- Chat messages container with markdown support
- Input area with text, voice, and file upload
- Control buttons (Sessions, History, Export, Dark Mode, Settings)
- Settings panel for model configuration
- Statistics panel for API usage
- Code syntax highlighting
🎨 styles.css
Purpose: CSS styling with modern design. Contains all visual styles and animations.
Key Features:
- Modern gradient backgrounds
- Responsive design
- Dark mode support
- Smooth animations
- Mobile-friendly layout
🤖 bot.py
Purpose: Main bot file with Slack Bot Assistant API integration. Core bot logic and initialization.
Key Features:
- Slack Bot Assistant API integration
- Bot initialization and polling
- Command handler registration
- Error handling and logging
- Database initialization
⌨️ handlers.py
Purpose: Command and message handlers for bot functionality.
Key Features:
- Command handlers (/start, /help, /qr, /speak, etc.)
- Message handlers and callbacks
- Inline keyboard handlers
- File handling and processing
- User interaction management
💾 database.py
Purpose: SQLite database operations for user data and statistics.
Key Features:
- User data management
- XP and leveling system
- Statistics tracking
- Leaderboard queries
- Database initialization
⚙️ config.py
Purpose: Python configuration settings and constants.
Key Features:
- Bot token configuration
- Admin ID settings
- API key management
- Configuration management
- Environment variable handling
🛠️ utils.py
Purpose: Utility functions for bot operations.
Key Features:
- QR code generation
- Text-to-speech conversion
- PDF creation
- Language translation
- Weather data fetching
- Password generation
- URL shortening
📊 dashboard.php
Purpose: PHP-based admin dashboard for bot statistics.
Key Features:
- Bot statistics display
- User management
- Leaderboard visualization
- Feedback management
- Data export functionality
📖 README.md
Purpose: Project overview and quick start guide. Provides introduction, features, installation instructions, and usage examples.
Contents:
- Project description
- Features list
- Installation guide
- Usage instructions
- Browser compatibility
- Support information
📝 RELEASE_NOTES.md
Purpose: Release notes. Documents features, changes, and updates in the current version.
Contents:
- Release information
- Feature list
- Technical details
- Changelog
⚖️ LICENSE
Purpose: License file. Contains the license text and copyright information.
License Type: MIT License
Copyright: © 2026 RSK World
🚫 .gitignore
Purpose: Git ignore rules. Specifies files and directories that should not be tracked by version control.
Excluded Items:
- IDE configuration files
- OS-specific files
- Log files
- Build artifacts
📊 File Statistics
📌 File Organization
Frontend Files: index.html, dashboard.php, assets/css/style.css, assets/js/script.js
Backend Files: bot.py, handlers.py, database.py, utils.py, config.py, setup.py
Documentation: README.md, PROJECT_STATUS.md, CHANGELOG.md, SETUP.md, RELEASE_NOTES.md
Configuration: config.py, .env, .gitignore
Scripts: run.bat, run.sh, start.bat (if available)
Full-Stack: Python Slack Bot Assistant + PHP Admin Dashboard with SQLite database
🚀 Advanced Features Details
1. Slack Bot Assistant API Integration
Seamless integration with Slack Bot Assistant API for robust bot functionality. Supports command handling, inline keyboards, file sharing, and interactive features.
2. Command Handling
Easily parse and respond to user commands like /start, /help, /qr, /speak, /translate, /weather, /ai, /remind, /password, /shorten, /calc, /convert, /news, /summarize, and more.
3. Inline Keyboards
Interactive buttons and menus for enhanced user experience. Users can navigate through bot features using inline keyboards for seamless interactions.
4. Utility Commands
Multiple utility commands including QR code generation, text-to-speech, PDF creation, language translation, weather information, password generation, URL shortening, calculations, unit conversion, news fetching, and text summarization.
5. AI Assistant
Intelligent responses using OpenAI API or rule-based system with the /ai command for smart interactions and assistance.
6. User Management & XP System
Users earn XP and level up by using the bot, creating an engaging experience with progression tracking. View top users with /leaderboard and check your profile with /profile command.
7. Task Reminders
Set personal reminders using the /remind command for task management and productivity with scheduled notifications.
8. File Sharing
Capabilities to handle file uploads and downloads for document sharing and media management through Slack.
9. Group Chat Support
Functionality tailored for both private and group interactions with comprehensive bot features available in group chats.
10. Admin Dashboard
PHP-based dashboard to monitor bot statistics, user data, feedback, and comprehensive analytics with export functionality.
11. Database Management
SQLite database for user data, statistics, XP tracking, and leaderboard management with efficient data storage and retrieval.
12. Customization & Configuration
Easy configuration through environment variables and config files. Customize bot behavior, commands, and features according to your needs.
🔧 Troubleshooting
Bot Token Issues
- Ensure your
.envfile contains a validSLACK_BOT_TOKEN - Get your bot token from Slack API on Slack
- Check that the bot token is correctly formatted and not expired
- Make sure the
.envfile is in the project root directory - Restart the bot after updating the token
Bot Not Starting Issues
- Bot not starting: Check Python version (3.8+), verify dependencies installed with
pip install -r requirements.txt - Import errors: Ensure virtual environment is activated, reinstall dependencies
- Connection errors: Check internet connection, verify Slack API is accessible
- Token errors: Verify bot token is valid and bot is not blocked
- Database errors: Check SQLite database permissions and file path
Command Issues
- Commands not working: Ensure handlers are properly registered in bot.py
- Command not found: Check command spelling and ensure it's registered
- Permission errors: Verify admin commands are restricted to admin users
- API errors: Check optional API keys (OpenAI, Weather) if using /ai or /weather commands
Common Issues
- Bot token not found: Create
.envfile fromenv.exampleand add your bot token - Module not found: Install dependencies with
pip install -r requirements.txt - Database errors: Check SQLite database file permissions and path
- File handling errors: Check file size limits and supported formats
- Dashboard not loading: Verify PHP is installed and dashboard.php is accessible
📋 Requirements
Backend Requirements:
- Python 3.8 or higher
- Slack Bolt Framework library
- SQLite database
- python-dotenv for environment variables
Frontend Requirements (Admin Dashboard):
- PHP 7.4 or higher
- Modern Web Browser (Chrome, Edge, Safari, Firefox)
- JavaScript ES6+ support
API Requirements:
- Slack Bot Assistant Token (get from Slack API on Slack)
- Active internet connection for Slack API calls
- Optional: OpenAI API Key (for /ai command)
- Optional: OpenWeatherMap API Key (for /weather command)
Python Dependencies (see requirements.txt):
- Slack Bolt Framework
- python-dotenv
- qrcode (for QR code generation)
- gtts (for text-to-speech)
- reportlab (for PDF creation)
- googletrans (for translation)
- requests (for API calls)
Optional Dependencies:
- openai (for AI assistant features)
- pyowm (for weather features)
Browser Compatibility: Chrome, Edge, Safari, or Firefox for admin dashboard.
Python Version: Python 3.8 or higher required for bot server.
Internet Connection: Required for Slack Bot Assistant API calls and optional API integrations.
🎯 Use Cases
💻 Code Assistance
Get help with coding, debugging, and programming questions
📚 Education & Learning
Learn new concepts, get explanations, and study assistance
📊 Content Analysis
Analyze documents, summarize text, and extract key information
🧮 Problem Solving
Solve complex problems, math equations, and reasoning tasks
✍️ Content Creation
Writing assistance, creative content, and text generation
💬 Customer Support
Build intelligent customer support chatbots and assistants
📎 Document Analysis
Upload and analyze images, PDFs, and documents
🌐 Web Integration
Integrate Slack Bot Assistant API into web applications and services
💬 Support
For support, questions, or more projects:
- Website: https://rskworld.in
- Email: help@rskworld.in
- Phone: +91 93305 39277
📄 License
This project is provided as-is for educational and development purposes.
MIT License - See LICENSE file for details.
📂 Demo Folder Structure
The demo/ folder contains demonstration and documentation files for this project.
demo/
├── index.html # This comprehensive documentation page
├── demo.html # Interactive demo interface for testing Slack Bot Assistant
├── style.css # CSS styling for documentation and demo
└── script.js # JavaScript for scroll, navigation, and interactions
📄 Demo Files Description
📄 index.html
Purpose: Comprehensive project documentation and information page. This HTML file contains all details about the Slack Bot Assistant project.
Contents:
- Complete project overview
- All features documentation
- Installation instructions
- Usage examples
- Code examples
- Slack Bot Assistant API integration reference
- Configuration details
- Detailed file and folder descriptions
- Project structure
- Troubleshooting guide
- Support information
Features:
- Self-contained HTML with external CSS
- Responsive design
- Modern, beautiful UI
- Well-organized sections
- Easy navigation with smooth scrolling
🎨 style.css
Purpose: CSS stylesheet file with modern styling for the documentation page.
Features:
- Modern gradient backgrounds
- Responsive design
- Beautiful typography
- Smooth animations
- Sticky navigation
- Scroll progress bar
📜 script.js
Purpose: JavaScript file with interactive features for the documentation page.
Features:
- Scroll progress bar
- Back to top button
- Smooth scrolling navigation
- Active navigation highlighting
- Copy to clipboard functionality
🎮 demo.html
Purpose: Interactive demo interface showcasing Slack Bot Assistant features.
Features:
- Interactive chat interface
- Sample Slack Bot Assistant responses
- Quick action buttons
- Feature showcase panel
- Statistics tracking
- Beautiful, responsive UI
- Demo message types (code, explain, creative, math, etc.)
Usage: Open demo.html in your browser to try the interactive demo!
💡 About the Demo Folder
The demo/ folder contains demonstration and documentation files for the Slack Bot Assistant project:
- Documentation:
index.html- Comprehensive HTML documentation page explaining the entire project - Interactive Demo:
demo.html- Live interactive demo showcasing Slack Bot Assistant features - Styling:
style.css- CSS stylesheet with modern design - Scripts:
script.js- JavaScript for scroll, navigation, and interactive features
Note: To view the documentation, open demo/index.html in your browser. To try the interactive demo, open demo.html. Both pages are self-contained and work independently.