{"id":13412384,"url":"https://github.com/hackupc/slackbot-bienebot","last_synced_at":"2025-03-14T18:31:18.791Z","repository":{"id":41987920,"uuid":"142048102","full_name":"hackupc/slackbot-bienebot","owner":"hackupc","description":":robot: Helper bot for event purpose, using AI to answer hacker questions on slack","archived":false,"fork":false,"pushed_at":"2023-10-11T22:09:52.000Z","size":397,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":16,"default_branch":"master","last_synced_at":"2024-07-31T20:50:50.903Z","etag":null,"topics":["luis","python","slack"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hackupc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-07-23T17:40:14.000Z","updated_at":"2023-10-12T15:11:30.000Z","dependencies_parsed_at":"2024-10-26T08:36:03.576Z","dependency_job_id":"4aa71122-acc8-40dc-abdf-8c682db04bf1","html_url":"https://github.com/hackupc/slackbot-bienebot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackupc%2Fslackbot-bienebot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackupc%2Fslackbot-bienebot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackupc%2Fslackbot-bienebot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackupc%2Fslackbot-bienebot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hackupc","download_url":"https://codeload.github.com/hackupc/slackbot-bienebot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243625107,"owners_count":20321232,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["luis","python","slack"],"created_at":"2024-07-30T20:01:24.068Z","updated_at":"2025-03-14T18:31:18.427Z","avatar_url":"https://github.com/hackupc.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"\u003cbr\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"HackUPC\" src=\"https://hackupc.com/ogimage.png\" width=\"100%\"/\u003e\n\u003c/p\u003e\n\u003cbr\u003e\n\n# Biene bot\n\n## Overview\n🤖 HackUPC Slack helper bot implemented in Python and using LUIS by Microsoft for making IA interaction easier.\n\n## Requirements\n1. Python 3.7+\n2. docker-ce (as provided by docker package repos)\n3. docker-compose (as provided by PyPI)\n\n## Recommendations\nUsage of [virtualenv](https://realpython.com/blog/python/python-virtual-environments-a-primer/) is recommended for package library / runtime isolation.\n\n## Usage\nTo run the server locally, please execute the following from the root directory:\n\n1. Setup virtual environment\n\n```bash\nvirtualenv -p /usr/local/bin/python3.7 env\n```\n\n2. Install dependencies\n\n```bash\npip3 install -r requirements.lock\n```\n\n3. Copy `__init__.template.py` to `__init__.py` with correct values\n\n4. Run Startup server as python module\n\n```bash\npython3 -m hackupc.bienebot\n```\n\n## Deploy locally\n\nvia docker-compose\n```bash\ndocker-compose up -d --build\n```\n\n## Restart locally\n\n```bash\nsh restart.sh\n```\n\n## Log\n\nRun logs from docker-compose once it's up and running\n```bash\ndocker-compose logs -f --timestamps bienebot\n```\n\n## Production\n\nInspired on this [tutorial](https://www.raspberrypi-spy.co.uk/2015/10/how-to-autorun-a-python-script-on-boot-using-systemd/) to understand and set it up as in our server.\n\nNeeds: Systemd.\n\n- Edit this file `/lib/systemd/system/biene-bot.service`\n- Add this content\n\n    ```\n    [Unit]\n    Description=Biene bot\n    After=multi-user.target\n    \n    [Service]\n    Type=idle\n    WorkingDirectory=/home/user/project_folder\n    ExecStart=/home/user/project_folder/env/bin/python -m hackupc.bienebot\n    \n    [Install]\n    WantedBy=multi-user.target\n    ```\n\n- Replace `project_folder` by the name of the folder where the project is located\n- Create and enable service:\n\n    ```bash\n    sudo systemctl start biene-bot \u0026\u0026 sudo systemctl enable biene-bot\n    ```\n\n## Documentation\n\nThis bot is implemented in `Python` for all the backend stuff. `LUIS` from Microsoft is being used as a library for making the AI easier. This library allows you to classify the topics, called `Intents` by LUIS, that bot can answer. These are the available topics in Biene Bot:\n\n### Activities\n\n\u003e Intent: `Indication.Activity`\n\nTopic related to the activities during the weekend.\n\n#### Sub-intents\n- Help: Tell what can you ask to the bot.\n- What: Explanation of a given activity.\n- When: Time schedule of a given activity.\n- Where: Location of a given activity.\n- Which: List all activities.\n\n### Error\n\n\u003e Intent: `None`\n\nTopic used when the bot does not understand the question.\n\n### HackUPC\n\n\u003e Intent: `HackUPC`\n\nTopic related to general questions about the event.\n\n#### Sub-intents\n- When: Dates of the hackathon.\n- Where: Hackathon location.\n- Schedule: Full agenda of the event.\n- Next: Get the following event in HackUPC.\n\n### Hardware Lab\n\n\u003e Intent: `HardwareLab`\n\nTopic related to Hardware Lab stuff.\n\n#### Sub-intents\n- Exist: Existence of the HW Lab.\n- Help: Tell what can you ask to the bot.\n- How: Functioning explanation.\n- List: All available HW Lab.\n\n### Logistics\n\n\u003e Intent: `Logistics`\n\nTopic related to all Logistics matters.\n\n#### Sub-intents\n- How: Explanation about the functioning of a given logistics item.\n- When: Time schedule of a given logistics item.\n- Where: Location of a given logistics item.\n\n### Meals\n\n\u003e Intent: `Meals`\n\nTopic related to all meals.\n\n#### Sub-intents\n- Coffee: Coffee information.\n- Help: Tell what can you ask to the bot.\n- Schedule: Full meals schedule.\n- Snacks: Snacks information.\n- Special: Special meals for vegan/vegetarian, intolerant...\n- Where: Meals location.\n- Which: Detail information about meals.\n\n### Mentor\n\n\u003e Intent: `Mentor`\n\nTopic related to HackUPC Mentors.\n\n#### Sub-intents\n- Help: Explanation about mentors functioning.\n\n### Places\n\n\u003e Intent: `Indication.Place`\n\nTopic related to venue information.\n\n#### Sub-intents\n- Help: Tell what can you ask to the bot.\n- When: Time schedule of a given venue item.\n- Where: Location of a given venue item.\n\n### Projects\n\n\u003e Intent: `Project`\n\nTopic related to project information.\n\n#### Sub-intents\n- Build: Tell what can you build in HackUPC.\n- Demo: Tell how the project demonstration works.\n- Deploy: Tell how to deploy your hack.\n- Five: Sub-topic about overflow on team size.\n- Help: Tell what can you ask to the bot.\n- NoTeam: Tell what to do without team.\n- Prizes: Prizes information.\n- Requisites: Project requirements.\n- Team: Sub-topic about team size.\n\n### Random\n\n\u003e Intent: `Smalltalk`\n\nTopic related to random stuff.\n\n#### Sub-intents\n- DifLanguage: Tell to talk in English.\n- Goodbye: Just say bye.\n- Hello: Just say hi.\n- Help: Tell what can you ask to the bot.\n- HowAreYou: Just asking how are you.\n- Joke: Jokes for fun.\n- Nice: Cool, awesome, great...\n- ProjectIdea: Random and maybe useful project ideas.\n- Thanks: Biene bot is a gentle woman\n- Tip: Tips are always useful.\n- NotJoke: Not joking answers.\n- WhoAreYou: Just asking who are you.\n- Father: Who knows he is her father.\n- BeClever: Clever answers.\n- IsClever: For sure she's clever.\n- Age: Good question, her age.\n- IsFunny: Because she's funny.\n- AnswerGood: When she hits the correct answer.\n- Single: Do want to date with her?\n\n### Sponsors\n\n\u003e Intent: `Sponsors`\n\nTopic related to sponsor information.\n\n#### Sub-intents\n- AllChallenges: List all challenges from sponsors.\n- Challenge: Information about challenge of a given sponsor.\n- Contact: Information about how to contact to a given sponsor.\n- Help: Tell what can you ask to the bot.\n- Where: Information about location of a given sponsor.\n- Which: List all sponsors.\n\n### Support\n\n\u003e Intent: `Support`\n\nTopic related to organization support.\n\n#### Sub-intents\n- Contact: How to find an organizer.\n- Problem: What to do in an urgent and/or serious issue.\n\n## License\n\nMIT © Hackers@UPC\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackupc%2Fslackbot-bienebot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhackupc%2Fslackbot-bienebot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackupc%2Fslackbot-bienebot/lists"}