Haly is here to revolutionize the way you communicate and seek information. With its friendly and helpful nature, Haly is more than just a chatbot - it's your ultimate companion in the digital world.
Haly is an expert in everything - from providing answers and explanations, to generating ideas and assisting with various tasks. Here are just a few things Haly can help you with:
Haly is not just another chatbot - it's a personal assistant that truly cares about your needs. Here's why you should give Haly a try:
Ready to experience the power of Haly? Join the growing community of Haly users and see how this friendly chatbot can enhance your digital life. Simply visit our website https://haly.ai or integrate Haly into Slack following the instructions in this README, and let the conversation begin! Note: Haly is constantly learning and improving, so don't hesitate to provide feedback and suggestions. Together, we can make Haly even better!
{
"display_information": {
"name": "Haly",
"description": "AI Assistant",
"background_color": "#2f3133",
"long_description": "I'm Haly, your friendly Slack chatbot. I'm here to help you with any questions or problems you might have. I'm an expert in everything, so feel free to ask me anything. I'm a good listener and always ready to assist you. Just type your question or request, and I'll do my best to provide you with the information you need. You can direct message me or add me to a public channel. Just tag me to talk with me with @Haly."
},
"features": {
"app_home": {
"home_tab_enabled": true,
"messages_tab_enabled": true,
"messages_tab_read_only_enabled": false
},
"bot_user": {
"display_name": "Haly",
"always_online": true
}
},
"oauth_config": {
"redirect_urls": [
"https://localhost:5173/slack-auth"
],
"scopes": {
"bot": [
"app_mentions:read",
"channels:history",
"channels:join",
"channels:read",
"chat:write",
"groups:history",
"groups:write",
"im:history",
"im:read",
"im:write",
"mpim:history",
"mpim:read",
"mpim:write",
"users:read"
]
}
},
"settings": {
"org_deploy_enabled": false,
"socket_mode_enabled": false,
"token_rotation_enabled": false
}
}
Basic information
tab from the left nav bar, scroll down and make sure to save the "Signing Secret" for later.
Scroll down further and use Haly Profile Image for her App icon or select your own if you wish.
OAuth & Permissions
tab from the left nav bar, under OAuth Tokens for Your Workspace
section, hit Install to Workspace
and follow the instructions there.
# SLACK BOT
SLACK_BOT_TOKEN=xoxb-your-oauth-token
SLACK_SIGNING_SECRET=your-slack-signing-secret
# OPENAI
OPENAI_API_KEY=your-openai-api-key
# SERVER
FLASK_APP=src/index.py
FLASK_RUN_HOST=localhost
FLASK_RUN_PORT=8080
# API
API_SHARED_SECRET=not-needed-for-standalone
API_BASE_URL=not-needed-for-standalone
LOG_LEVEL=DEBUG STANDALONE=true SLACK_USER_ID=U01JZQZQZQZ # Put a your workspace admin user ID if you know it
- Update SLACK_BOT_TOKEN (OAuth token), SLACK_SIGNING_SECRET, OPENAI_API_KEY ([Click here to learn how to get an API key from OpenAI](https://www.maisieai.com/help/how-to-get-an-openai-api-key-for-chatgpt)), and SLACK_USER_ID ([Click here how to get your Slack user ID](https://www.workast.com/help/article/how-to-find-a-slack-user-id/))
- Have venv installed `python3 -m pip install virtualenv`
- Create a venv at the root of the slack-bot project using `python3 -m virtualenv -p python3 myvenv`
- To enable the virtual environment run `source myvenv/bin/activate` on Linux/MacOS and `myvenv\Scripts\activate` on Windows - this opens up a terminal into the virtual environment.
- verify your python is isolated by typing `where python` in the above terminal. It should show a python path within the project.
- Run `pip install -r "requirements.txt" -r "src/semantic_search/requirements.txt"` to install dependencies in the same terminal
- Run `flask --debug run` to start the dev server in the same terminal
If you use the --debug flag when running flask, the application will rebuild whenever the source code changes.
## Ngrok setup
You will need ngrok to test the Bot locally
- Go to https://ngrok.com/download and follow the instructions to install ngrok
- Open a terminal an run `ngrok http localhost:8080`
- Copy the forwarding url that starts with *https* and go to you app setting in api.slack.com . Go to 'Event subscriptions'. Put your forwarding url + /slack/events in the Request URL input.
- e.g: if your forwarindg url is https://3121-161-29-169-94.ngrok-free.app you put https://3121-161-29-169-94.ngrok-free.app/slack/events
- Subscribe to the neccesary bot events
![image](https://github.com/UpMortem/slack-bot/assets/5354324/f46f93f3-8713-432f-812f-1ba6218fc07f)
## Credits
This project is built on top of the following open source libraries:
- [Flask](https://flask.palletsprojects.com/) (version 2.3.3)
- [python-dotenv](https://pypi.org/project/python-dotenv/) (version 1.0.0)
- [slack-bolt](https://slack.dev/bolt-python/) (version 1.18.0)
- [openai](https://pypi.org/project/openai/) (version 0.28)
- [gunicorn](https://gunicorn.org/) (version 20.1.0)
- [gevent](https://www.gevent.org/) (version 23.9.1)
We are grateful to the developers and contributors of these libraries for their valuable work.
## Releases
- Cloud build trigger will run every time you push a git tag that matches `^v.*$`