{"id":16973153,"url":"https://github.com/loke-dev/quebot","last_synced_at":"2026-04-17T00:35:44.096Z","repository":{"id":84650102,"uuid":"83281450","full_name":"loke-dev/Quebot","owner":"loke-dev","description":":large_blue_diamond: Probably the best bot in the world!","archived":false,"fork":false,"pushed_at":"2017-09-25T10:19:58.000Z","size":49,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-21T20:32:53.260Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/loke-dev.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":"2017-02-27T07:31:03.000Z","updated_at":"2018-02-18T12:03:16.000Z","dependencies_parsed_at":"2023-03-12T23:58:31.669Z","dependency_job_id":null,"html_url":"https://github.com/loke-dev/Quebot","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/loke-dev/Quebot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loke-dev%2FQuebot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loke-dev%2FQuebot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loke-dev%2FQuebot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loke-dev%2FQuebot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/loke-dev","download_url":"https://codeload.github.com/loke-dev/Quebot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loke-dev%2FQuebot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31910169,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"ssl_error","status_checked_at":"2026-04-16T18:21:47.142Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2024-10-14T01:00:56.487Z","updated_at":"2026-04-17T00:35:44.077Z","avatar_url":"https://github.com/loke-dev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg alt='magoon-face' src='https://user-images.githubusercontent.com/14088342/30803493-14302666-a1ea-11e7-9eb4-5200db146cbe.png' width='250'/\u003e\n  \u003ch1 align=\"center\"\u003eQuebot\u003c/h1\u003e\n  \u003cp align=\"center\"\u003eThe best misspelled queuebot in the world.\u003c/p\u003e\n  \u003cp align=\"center\"\u003e\n    \u003cimg alt='popping badge' src='https://img.shields.io/badge/mode-skynet-green.svg?style=flat-square' /\u003e\n    \u003cimg alt='build badge' src='https://img.shields.io/badge/build-passing-green.svg?style=flat-square' /\u003e\n    \u003cimg alt='version badge' src='https://img.shields.io/badge/version-1.0.0-blue.svg?style=flat-square' /\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\u003chr\u003e  \n\n## What is this thing?\nThis *thing* is used in order to get messages to a LCD screen, whereas when information has been written to the LCD - the information is stored in a virtual queue that eventually will display the message created. When the information on the LCD changes, an LED lights up for a short time in order to notify that there is information on the screen to read.\n\n## Security\nThe API has been built in such a way that it cannot be reached outside of the Raspberry PI, and only be reached from the localhost, which basically implies that one would have to have some sort of middle hand in order to interact with it. For example, as we have created, a bot. This setting can easily be changed to open up the API publically. \n\nSince the API only can act over the localhost, we have chosen not to activate TLS since the traffic cannot be targeted by a man-in-the-middle attack. If one chooses to open up the API to the public instead, TLS must be enabled in order to protect against attacks due to not encrypting the traffic.\n\n## Tech\nThis WoT makes use of the direct integration pattern since it is directly connected to the wifi. The resource.json design is founded on the principles mentioned in the book *Building the web of things*, regarding the information of properties, actions, but not things, since we do not have a thing that is connected to another thing acting as a proxy.\n\nAccording to the [Web Thing Model](https://www.w3.org/Submission/wot-model/) we’ve implemented all the must have requirements and most of the should have requirements that was applicable or relevant to our application. For example it supports the appropriate status codes and also uses JSON as its primary format of representation.\n\n## How do I get the show on the road?\n* Start with cloning the repo from github: 'git clone https://github.com/LokeCarlsson/Quebot'\n* Continue with one of the steps below.\n\n## How do I get the WoT API show on the road?\n* Go to the server folder and run 'npm run build'\n* Put the newly created dist folder on the RPi together with the package.json, and the resource.json.\n* On the RPi run 'npm install' in order to install all the required dependencies. \n* Setup your RPi and your LED according to the model in the resource.json, in order to let the API connect to the two components.\n* Start the server with your prefered production process manager, such as *PM2* in order to keep the API up and running.\n* The API should now be up and running.\n\n## How do I get the BOT show on the road? (optional)\n![Quebot-avatar](http://i.imgur.com/Xe4Pc5P.png)\n* This specific bot is created for Slack, so in order to use it you will need a 'Slack Token'. Information regarding the creation of a slack bot can be found here: [Slack Bot Information](https://api.slack.com/bot-users)\n* Create a .env file and add the your slack token like this: SLACK_TOKEN=xxx-xx-xxxxxx-xxxx, in the root of the bot folder, where xxx is the slack token you just obtained.\n* Run the following command 'npm run build', which should create a dist folder. \n* Put the dist, package.json and the .env file on your RPi and run 'npm install'.\n* Start the bot with your prefered production process manager, such as *PM2* in order to keep the BOT up and running.\n* The BOT should now be up and running.\n\n## API Documentation\n\n    GET - /\n    Returns 200\n    Returns URL’s of actions properties and self\n\n    GET - /actions\n    Returns 200\n\n    POST - /actions/lcdState\n    Returns 204\n    Error 500\n    Adds a message to the message queue\n\n    DELETE - /actions/lcdState\n    Returns 204\n    Error 500\n    Deletes a message from the message queue\n\n    GET - /model\n    Returns 200\n    Returns all the actions\n\n    GET - /properties\n    Returns 200\n    Returns all properties with ID, name and value\n\n    GET - /properties/lcdState\n    Returns 200\n    Returns all the messages in the queue\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floke-dev%2Fquebot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Floke-dev%2Fquebot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floke-dev%2Fquebot/lists"}