help@rskworld.in +91 93305 39277
RSK World
  • Home
  • Development
    • Web Development
    • Mobile Apps
    • Software
    • Games
    • Project
  • Technologies
    • Data Science
    • AI Development
    • Cloud Development
    • Blockchain
    • Cyber Security
    • Dev Tools
    • Testing Tools
  • About
  • Contact

Theme Settings

Color Scheme
Display Options
Font Size
100%
Back to Project
RSK World
slack-bot-assistant
RSK World
slack-bot-assistant
Slack Bot Assistant - Python + Slack API + SQLite + PHP Dashboard + Bot Commands + Automation
slack-bot-assistant
  • .github
  • __pycache__
  • bot
  • .gitignore336 B
  • CHANGELOG.md2.4 KB
  • FEATURES.md5 KB
  • GITHUB_PUSH_SUMMARY.md2.9 KB
  • ISSUES_FIXED.md3.6 KB
  • LICENSE1.3 KB
  • README.md9.8 KB
  • RELEASE_NOTES.md5.7 KB
  • SETUP.md5.1 KB
  • demo.html28.2 KB
  • index.html14.5 KB
  • requirements.txt196 B
  • run.py2.8 KB
README.mdconfig.cpython-313.pycchatbot.pypytest.iniindex.html
README.md
Raw Download

README.md

# Slack Bot Assistant 🚀

A powerful, enterprise-grade Slack bot designed for team collaboration, productivity automation, and AI assistance with advanced features.

## 🌟 Key Features

### Core Features
- **AI Assistance**: Get instant answers and task management help with adaptive personalities
- **Advanced Sentiment Analysis**: VADER-powered sentiment detection (URGENT/POSITIVE/NEGATIVE/NEUTRAL)
- **Adaptive Personalities**: Switch between Professional, Casual, Technical, Friendly, and Formal AI modes
- **Multi-language Support**: English, Hindi, Spanish, French, German (expandable)
- **Workflow Automation**: Custom shortcuts and slash commands for daily tasks

### Advanced Task Management
- **Task Creation & Tracking**: Full CRUD operations for tasks with priorities and due dates
- **Task Lists**: View and filter tasks by status (pending, in_progress, completed)
- **Priority System**: Low, Medium, High, and Urgent priority levels
- **Due Date Management**: Flexible date parsing (relative and absolute dates)

### Productivity Tools
- **Smart Reminders**: Scheduled reminders with natural language time parsing
- **Meeting Summaries**: AI-powered summaries from channel conversations
- **Standup Templates**: Quick standup format generation
- **Poll Creation**: Interactive polls for team decisions

### Analytics & Insights
- **Channel Analytics**: Comprehensive channel health reports
- **Sentiment Tracking**: Historical sentiment analysis data
- **Command Analytics**: Usage statistics and patterns
- **Real-time Dashboard**: Live metrics and visualizations

### Database Integration
- **SQLite/PostgreSQL Support**: Flexible database backend
- **User Preferences**: Persistent user settings and configurations
- **Data Persistence**: All reminders, tasks, and summaries saved
- **Analytics Storage**: Command history and sentiment data

### External Integrations
- **Weather API**: Get weather information (OpenWeatherMap)
- **Translation APIs**: Multi-language support (expandable)

## 🛠️ Technologies

### Backend
- **Python 3.8+**
- **Slack Bolt Framework** - Official Slack SDK
- **SQLAlchemy** - Database ORM
- **VADER Sentiment** - Advanced sentiment analysis
- **Requests** - HTTP client for API integrations

### Frontend (Dashboard)
- **HTML5/CSS3** - Modern, responsive design
- **Chart.js** - Interactive data visualization
- **Font Awesome** - Icon library

## 🚀 Quick Start

### Prerequisites
- Python 3.8 or higher
- Slack Workspace with Admin permissions
- Slack App created at [api.slack.com/apps](https://api.slack.com/apps)

### Installation

1. **Clone the repository**
```bash
git clone <repository-url>
cd slack-bot-assistant
```

2. **Create virtual environment**
```bash
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```

3. **Install dependencies**
```bash
pip install -r requirements.txt
```

4. **Configure environment variables**
```bash
cp .env.example .env
# Edit .env with your Slack credentials
```

5. **Set up Slack App**
- Go to [api.slack.com/apps](https://api.slack.com/apps)
- Create a new app or use existing one
- Enable Socket Mode
- Add required OAuth scopes (see SETUP.md for details)
- Install app to your workspace
- Copy tokens to `.env` file

6. **Run the bot**
```bash
python bot/app.py
```

For detailed setup instructions, see [SETUP.md](SETUP.md).

## 📋 Available Commands

### Basic Commands
- `/help` - Show all available commands
- `/bot-settings` - Configure bot personality and language preferences

### Task Management
- `/task-create <title> | <description> | <priority> | <due_date>` - Create a new task
- Example: `/task-create Fix login bug | Update authentication logic | high | tomorrow 5pm`
- `/task-list` - List your active tasks with filters

### Productivity
- `/set-reminder <message> | <time>` - Set a smart reminder
- Example: `/set-reminder Team meeting | in 2 hours`
- Supports: "in X hours/days", "tomorrow 10am", ISO dates
- `/summarize-meeting` - Generate meeting summary from recent channel messages
- `/standup` - Get daily standup template

### Team Collaboration
- `/manage-channel` - Get comprehensive channel analytics and management report
- `/poll <question> | <option1> | <option2> | ...` - Create interactive polls
- Example: `/poll Best meeting time? | 9am | 2pm | 5pm`

### Utilities
- `/weather <location>` - Get weather information (requires OpenWeather API key)
- Example: `/weather New York`
- `/quote` - Get a random motivational quote
- `/random` - Generate random number or choose from options
- Example: `/random` (1-100) or `/random 1-50` or `/random option1, option2, option3`
- `/translate <text> | <language>` - Translate text (basic, expandable with API)
- Example: `/translate Hello | Hindi`
- `/note <text>` - Create and save a quick note
- Example: `/note Remember to update docs tomorrow`

### Mentions
Mention `@BotAssistant` in any channel for AI-powered assistance with contextual responses!

## 🏗️ Project Structure

```
slack-bot-assistant/
├── bot/
│ ├── app.py # Main bot application with all handlers
│ ├── config.py # Centralized configuration management
│ ├── models.py # Database models and schema
│ ├── utils.py # Utility functions (sentiment, formatting, etc.)
│ ├── helpers.py # Additional helper functions
│ └── scheduler.py # Advanced task scheduling system
├── demo.html # Advanced analytics dashboard
├── index.html # Landing page
├── run.py # Main entry point script
├── requirements.txt # Python dependencies
├── SETUP.md # Detailed setup guide
├── FEATURES.md # Comprehensive feature list
├── CHANGELOG.md # Version history and changes
├── .env.example # Environment variables template
├── .gitignore # Git ignore file
└── README.md # This file
```

## ⚙️ Configuration

### Environment Variables

| Variable | Required | Description |
|----------|----------|-------------|
| `SLACK_BOT_TOKEN` | Yes | Bot User OAuth Token from Slack |
| `SLACK_SIGNING_SECRET` | Yes | Signing Secret from Slack |
| `SLACK_APP_TOKEN` | Yes | App-Level Token for Socket Mode |
| `OPENWEATHER_API_KEY` | No | For weather command (get from openweathermap.org) |
| `DATABASE_URL` | No | Database connection string (default: SQLite) |
| `LOG_LEVEL` | No | Logging level (DEBUG, INFO, WARNING, ERROR) |

### Feature Configuration

Edit `bot/config.py` to customize:
- Default personality and language
- Supported languages and personalities
- Feature flags (database, scheduling, etc.)
- Reminder settings and limits
- Meeting summary parameters

## 📊 Database Schema

The bot uses SQLite by default (configurable for PostgreSQL, MySQL, etc.):

- **user_configs** - User preferences (personality, language, timezone)
- **reminders** - Scheduled reminders with timestamps
- **tasks** - Task management with priorities and due dates
- **meeting_summaries** - Generated meeting summaries
- **message_sentiments** - Sentiment analysis data for analytics
- **command_history** - Command usage analytics
- **polls** - Poll data and votes

## 🔧 Advanced Features

### Scheduled Reminders
- Background thread checks reminders every 60 seconds (configurable)
- Automatic delivery when reminder time is reached
- Supports up to 50 active reminders per user (configurable)
- Natural language time parsing

### Sentiment Analysis
- VADER sentiment analyzer for accurate sentiment detection
- Falls back to keyword-based analysis if VADER unavailable
- Tracks sentiment scores and confidence levels
- Stores historical sentiment data for analytics

### Task Management
- Full CRUD operations
- Priority levels: Low, Medium, High, Urgent
- Status tracking: Pending, In Progress, Completed, Cancelled
- Flexible due date parsing
- Task filtering and listing

### Meeting Summaries
- Analyzes recent channel messages (configurable count)
- Extracts key topics and action items
- Identifies participants and message volume
- Stores summaries in database for reference

## 📈 Dashboard Features

The demo dashboard (`demo.html`) includes:
- Real-time statistics and metrics
- Interactive charts (trends, sentiment, command usage)
- Channel activity heatmap
- Task management interface
- Live bot logs simulation
- Responsive design

## 🐛 Troubleshooting

### Common Issues

**Bot not responding**
- Verify tokens in `.env` file
- Check Socket Mode is enabled in Slack app settings
- Review bot logs for errors

**Database errors**
- Ensure database file permissions
- Check database URL format
- Delete `bot_data.db` to reset (development only)

**Commands not working**
- Verify commands are registered in Slack app
- Check OAuth scopes/permissions
- Review bot logs for error messages

For more troubleshooting tips, see [SETUP.md](SETUP.md).

## 🤝 Contributing

This is a proprietary project by RSK World. For inquiries about contributions or licensing, please contact us.

## 👨‍💻 Developer Details

- **Founder & Lead Developer**: Molla Samser (RSK World)
- **Design & Testing**: Rima Khatun
- **Website**: [rskworld.in](https://rskworld.in)
- **Contact**: hello@rskworld.in | +91 93305 39277
- **Year**: 2026

## 📄 License

© 2026 RSK World. All rights reserved.

## 🔗 Resources

- [Slack API Documentation](https://api.slack.com/)
- [Slack Bolt Framework](https://slack.dev/bolt-python/)
- [SQLAlchemy Documentation](https://docs.sqlalchemy.org/)
- [VADER Sentiment](https://github.com/cjhutto/vaderSentiment)

---

**Made with ❤️ by RSK World**
index.html
Raw Download
Find: Go to:
<!DOCTYPE html>
<html lang="en">

<head>
    <!-- 
    Slack Bot Assistant - Landing Page
    Developer: Molla Samser (Founder, RSK World)
    Design & Testing: Rima Khatun
    Website: https://rskworld.in
    Contact: hello@rskworld.in | +91 93305 39277
    Year: 2026
    -->
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Slack Bot Assistant | Productivity Powered by AI</title>
    <meta name="description"
        content="Automate workflows, manage channels, and enhance team collaboration with our AI-powered Slack Bot.">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    <link href="https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;800&display=swap" rel="stylesheet">
    <style>
        :root {
            --slack-purple: #4A154B;
            --slack-blue: #36C5F0;
            --slack-green: #2EB67D;
            --slack-yellow: #ECB22E;
            --bg-dark: #0f172a;
            --glass-bg: rgba(255, 255, 255, 0.05);
            --text-primary: #f8fafc;
            --text-secondary: #94a3b8;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Outfit', sans-serif;
        }

        body {
            background-color: var(--bg-dark);
            color: var(--text-primary);
            overflow-x: hidden;
            line-height: 1.6;
        }

        .gradient-bg {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: radial-gradient(circle at 20% 30%, rgba(74, 21, 75, 0.15), transparent),
                radial-gradient(circle at 80% 70%, rgba(54, 197, 240, 0.1), transparent);
            z-index: -1;
        }

        nav {
            padding: 2rem 10%;
            display: flex;
            justify-content: space-between;
            align-items: center;
            backdrop-filter: blur(10px);
            position: sticky;
            top: 0;
            z-index: 100;
        }

        .logo {
            font-size: 1.5rem;
            font-weight: 800;
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .logo i {
            color: var(--slack-yellow);
        }

        .nav-links {
            display: flex;
            gap: 2rem;
        }

        .nav-links a {
            color: var(--text-secondary);
            text-decoration: none;
            transition: color 0.3s;
            font-weight: 500;
        }

        .nav-links a:hover {
            color: var(--slack-blue);
        }

        .hero {
            padding: 8rem 10% 4rem;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 4rem;
        }

        .hero-content {
            flex: 1;
        }

        .hero-content h1 {
            font-size: 4rem;
            line-height: 1.1;
            margin-bottom: 2rem;
            background: linear-gradient(to right, #fff, var(--slack-blue));
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .hero-content p {
            font-size: 1.2rem;
            color: var(--text-secondary);
            margin-bottom: 3rem;
            max-width: 600px;
        }

        .btn-group {
            display: flex;
            gap: 1.5rem;
        }

        .btn {
            padding: 1rem 2.5rem;
            border-radius: 12px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 10px;
        }

        .btn-primary {
            background-color: var(--slack-purple);
            color: white;
            border: none;
            box-shadow: 0 10px 20px rgba(74, 21, 75, 0.3);
        }

        .btn-primary:hover {
            transform: translateY(-3px);
            box-shadow: 0 15px 30px rgba(74, 21, 75, 0.4);
        }

        .btn-secondary {
            background-color: transparent;
            color: white;
            border: 2px solid rgba(255, 255, 255, 0.1);
        }

        .btn-secondary:hover {
            background-color: rgba(255, 255, 255, 0.05);
            border-color: rgba(255, 255, 255, 0.2);
        }

        .hero-image {
            flex: 1;
            position: relative;
        }

        .hero-image img {
            width: 100%;
            border-radius: 24px;
            box-shadow: 0 30px 60px rgba(0, 0, 0, 0.5);
            border: 1px solid rgba(255, 255, 255, 0.1);
            animation: float 6s ease-in-out infinite;
        }

        @keyframes float {

            0%,
            100% {
                transform: translateY(0);
            }

            50% {
                transform: translateY(-20px);
            }
        }

        .features {
            padding: 8rem 10%;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 2rem;
        }

        .feature-card {
            background: var(--glass-bg);
            padding: 3rem;
            border-radius: 24px;
            border: 1px solid rgba(255, 255, 255, 0.05);
            transition: all 0.3s;
        }

        .feature-card:hover {
            background: rgba(255, 255, 255, 0.08);
            transform: translateY(-10px);
            border-color: var(--slack-blue);
        }

        .feature-card i {
            font-size: 2.5rem;
            margin-bottom: 2rem;
            display: block;
        }

        .feature-card h3 {
            font-size: 1.5rem;
            margin-bottom: 1rem;
        }

        .feature-card p {
            color: var(--text-secondary);
        }

        footer {
            padding: 4rem 10%;
            border-top: 1px solid rgba(255, 255, 255, 0.05);
            text-align: center;
        }

        .footer-details {
            margin-top: 2rem;
            color: var(--text-secondary);
            font-size: 0.9rem;
        }

        @media (max-width: 1024px) {
            .hero {
                flex-direction: column;
                text-align: center;
                padding-top: 4rem;
            }

            .hero-content h1 {
                font-size: 3rem;
            }

            .btn-group {
                justify-content: center;
            }

            .hero-content p {
                margin-left: auto;
                margin-right: auto;
            }
        }
    </style>
</head>

<body>
    <div class="gradient-bg"></div>

    <nav>
        <div class="logo">
            <i class="fab fa-slack"></i>
            <span>BotAssistant</span>
        </div>
        <div class="nav-links">
            <a href="#features">Features</a>
            <a href="demo.html">Live Demo</a>
            <a href="https://rskworld.in" target="_blank">RSK World</a>
        </div>
    </nav>

    <section class="hero">
        <div class="hero-content">
            <h1>Automate Your Team's Success</h1>
            <p>The Slack Bot Assistant provides AI-powered workflow automation, intelligent channel management, and deep
                app integrations to keep your team productive.</p>
            <div class="btn-group">
                <a href="demo.html" class="btn btn-primary">
                    <i class="fab fa-slack"></i> Add to Slack
                </a>
                <a href="#features" class="btn btn-secondary">Explore Features</a>
            </div>
        </div>
        <div class="hero-image">
            <img src="slack-bot-assistant.png" alt="Slack Bot Assistant Preview">
        </div>
    </section>

    <section id="features" class="features">
        <div class="feature-card">
            <i class="fas fa-robot" style="color: var(--slack-blue);"></i>
            <h3>AI Assistance</h3>
            <p>Get instant answers and task management help using our advanced productivity engine.</p>
        </div>
        <div class="feature-card">
            <i class="fas fa-bolt" style="color: var(--slack-yellow);"></i>
            <h3>Workflow Automation</h3>
            <p>Trigger complex workflows directly from Slack with custom shortcuts and slash commands.</p>
        </div>
        <div class="feature-card">
            <i class="fas fa-tasks" style="color: var(--slack-green);"></i>
            <h3>Channel Management</h3>
            <p>Automate archiving, reporting, and member governance across your workspace.</p>
        </div>
    </section>

    <section id="pricing" style="padding: 8rem 10%; text-align: center;">
        <h2 style="font-size: 3rem; margin-bottom: 4rem;">Choose Your Plan</h2>
        <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem;">
            <div class="feature-card" style="border: 1px solid rgba(255,255,255,0.05);">
                <h3 style="color: var(--slack-blue);">Free</h3>
                <div style="font-size: 3rem; font-weight: 800; margin: 1rem 0;">$0</div>
                <p style="margin-bottom: 2rem;">Essential bot features for small teams.</p>
                <ul style="list-style: none; text-align: left; margin-bottom: 2rem; color: var(--text-secondary);">
                    <li><i class="fas fa-check" style="color: var(--slack-green);"></i> Basic Bot Logic</li>
                    <li><i class="fas fa-check" style="color: var(--slack-green);"></i> 5 Workflows/mo</li>
                    <li><i class="fas fa-check" style="color: var(--slack-green);"></i> Community Support</li>
                </ul>
                <a href="#" class="btn btn-secondary" style="width: 100%;">Get Started</a>
            </div>
            <div class="feature-card"
                style="border: 2px solid var(--slack-purple); transform: scale(1.05); background: rgba(74, 21, 75, 0.05);">
                <div
                    style="background: var(--slack-purple); color: white; padding: 0.5rem; position: absolute; top: 0; left: 50%; transform: translateX(-50%); border-radius: 0 0 12px 12px; font-size: 0.8rem; font-weight: 600;">
                    MOST POPULAR</div>
                <h3 style="color: var(--slack-purple);">Pro</h3>
                <div style="font-size: 3rem; font-weight: 800; margin: 1rem 0;">$19</div>
                <p style="margin-bottom: 2rem;">Advanced AI for growing businesses.</p>
                <ul style="list-style: none; text-align: left; margin-bottom: 2rem; color: var(--text-secondary);">
                    <li><i class="fas fa-check" style="color: var(--slack-green);"></i> Sentiment AI</li>
                    <li><i class="fas fa-check" style="color: var(--slack-green);"></i> Unlimited Workflows</li>
                    <li><i class="fas fa-check" style="color: var(--slack-green);"></i> Priority Support</li>
                </ul>
                <a href="#" class="btn btn-primary" style="width: 100%;">Go Pro</a>
            </div>
            <div class="feature-card" style="border: 1px solid rgba(255,255,255,0.05);">
                <h3 style="color: var(--slack-yellow);">Enterprise</h3>
                <div style="font-size: 3rem; font-weight: 800; margin: 1rem 0;">Custom</div>
                <p style="margin-bottom: 2rem;">Full customization for enterprises.</p>
                <ul style="list-style: none; text-align: left; margin-bottom: 2rem; color: var(--text-secondary);">
                    <li><i class="fas fa-check" style="color: var(--slack-green);"></i> Tailored AI Models</li>
                    <li><i class="fas fa-check" style="color: var(--slack-green);"></i> Dedicated Manager</li>
                    <li><i class="fas fa-check" style="color: var(--slack-green);"></i> 99.9% SLM</li>
                </ul>
                <a href="#" class="btn btn-secondary" style="width: 100%;">Contact Sales</a>
            </div>
        </div>
    </section>

    <section id="faq" style="padding: 8rem 10%; background: rgba(255,255,255,0.02);">
        <h2 style="font-size: 3rem; text-align: center; margin-bottom: 4rem;">Frequently Asked Questions</h2>
        <div style="max-width: 800px; margin: 0 auto; display: flex; flex-direction: column; gap: 1.5rem;">
            <div style="background: var(--glass-bg); padding: 1.5rem; border-radius: 12px; cursor: pointer;">
                <h4 style="display: flex; justify-content: space-between; align-items: center;">
                    How secure is our data? <i class="fas fa-chevron-down"></i>
                </h4>
                <p style="color: var(--text-secondary); margin-top: 1rem;">We use enterprise-grade encryption and comply
                    with global safety standards. Your conversations are private.</p>
            </div>
            <div style="background: var(--glass-bg); padding: 1.5rem; border-radius: 12px; cursor: pointer;">
                <h4 style="display: flex; justify-content: space-between; align-items: center;">
                    Can I customize the bot's features? <i class="fas fa-chevron-down"></i>
                </h4>
                <p style="color: var(--text-secondary); margin-top: 1rem;">Yes! The bot is highly modular. You can add
                    or remove integrations via the admin dashboard.</p>
            </div>
            <div style="background: var(--glass-bg); padding: 1.5rem; border-radius: 12px; cursor: pointer;">
                <h4 style="display: flex; justify-content: space-between; align-items: center;">
                    Is there a mobile app? <i class="fas fa-chevron-down"></i>
                </h4>
                <p style="color: var(--text-secondary); margin-top: 1rem;">Our bot works natively within the Slack
                    mobile app, so you can stay productive anywhere.</p>
            </div>
        </div>
    </section>

    <footer>
        <p>&copy; 2026 Slack Bot Assistant. Part of the RSK World Network.</p>
        <div class="footer-details">
            Developed by <strong>Molla Samser</strong> | Tested by <strong>Rima Khatun</strong><br>
            Contact: hello@rskworld.in | <a href="https://rskworld.in" style="color: inherit;">rskworld.in</a>
        </div>
    </footer>
</body>

</html>
390 lines•14.5 KB
markup

About RSK World

Founded by Molla Samser, with Designer & Tester Rima Khatun, RSK World is your one-stop destination for free programming resources, source code, and development tools.

Founder: Molla Samser
Designer & Tester: Rima Khatun

Development

  • Game Development
  • Web Development
  • Mobile Development
  • AI Development
  • Development Tools

Legal

  • Terms & Conditions
  • Privacy Policy
  • Disclaimer

Contact Info

Nutanhat, Mongolkote
Purba Burdwan, West Bengal
India, 713147

+91 93305 39277

hello@rskworld.in
support@rskworld.in

© 2026 RSK World. All rights reserved.

Content used for educational purposes only. View Disclaimer