Jin is a versatile Slackbot designed to enhance your Slack experience by integrating seamlessly with MongoDB. Jin helps you manage and interact with your data, automate tasks, and streamline your workflow.
- ✅ means features that have been implemented.
/message-count
: Lists number of messages sent by user on that specified channel. ✅/previous-messages
: Lists previous messages sent by user on that specified channel. ✅/help
: Lists available commands and their descriptions. ✅/ping
: Confirms Jin’s activity with a simple acknowledgment. ✅
/add [item]
: Adds a new item or record to the MongoDB database. ✅/list [collection]
: Lists all items or records from a specified MongoDB collection. ✅/find [item]
: Searches the MongoDB database based on a query and returns matching results. ✅/delete [item]
: Searches the MongoDB database based on a query and deletes matching results. ✅/update [item]
: Searches the MongoDB database based on a query and updates matching results. ✅/clear [item]
: Clears the MongoDB database. ✅
- Scheduled Reminders: Set reminders for important tasks or deadlines.
- Daily Summary: Receive daily or weekly summaries of activities or updates from the database.
- Greeting Message: Jin sends a personalized greeting upon interaction.
- FAQ Responses: Provides answers to frequently asked questions using predefined responses stored in MongoDB.
- Polls/Surveys: Create and participate in polls or surveys, with results stored and displayed from MongoDB.
- Form Submission: Submit forms through Slack, and have the data saved to MongoDB.
- Stats Overview: Get statistics or summaries based on data from MongoDB.
- Data Visualization: View basic charts or graphs based on your data.
- Profile Information: View or update your profile information stored in MongoDB.
- Access Control: Manage user permissions or roles with information stored in MongoDB.
- Node.js and npm installed
- Access to a Slack workspace
- MongoDB database
-
Clone the Repository
git clone https://github.com/your-username/jin-slackbot.git cd jin-slackbot
-
Install Dependeicies pip install requirements.txt
-
Set Up Environment Variables Create a .env file in the root directory and add your Slack API token and MongoDB connection string: SLACK_API_TOKEN=your-slack-api-token MONGODB_URI=your-mongodb-connection-string
-
Start the Bot
- If you want to start server on laptop: start slackbot.py. Then, use ngrok.exe to connect to your port of choice.
- If you want to start server remotely, I advise using Replit because it's free and has a clean UI 😊
- Add Jin to Your Slack Workspace: Follow Slack’s instructions to add a new app to your workspace and configure it with the API token.
- Interact with Jin: Use the commands described in the Features section to interact with Jin and utilize its functionalities.
Contributions are welcome! To contribute:
- Fork the repository
- Create a new branch (git checkout -b feature/your-feature)
- Make your changes
- Commit and push (git commit -am 'Add new feature' and git push origin feature/your-feature)
- Open a pull request
This project is licensed under the MIT License. See the LICENSE file for details.