{"id":23714971,"url":"https://github.com/dnutiu/hotalert","last_synced_at":"2026-02-10T01:30:18.329Z","repository":{"id":100181236,"uuid":"528573235","full_name":"dnutiu/hotalert","owner":"dnutiu","description":"hotalert is a command line tool for task execution and alerting","archived":false,"fork":false,"pushed_at":"2023-03-30T21:24:46.000Z","size":48,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-30T20:51:58.470Z","etag":null,"topics":["command-line-tool","unix","webhook","yaml-configuration"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dnutiu.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2022-08-24T19:51:29.000Z","updated_at":"2023-05-18T19:53:44.000Z","dependencies_parsed_at":"2023-05-12T18:00:14.029Z","dependency_job_id":null,"html_url":"https://github.com/dnutiu/hotalert","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/dnutiu%2Fhotalert","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnutiu%2Fhotalert/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnutiu%2Fhotalert/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnutiu%2Fhotalert/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dnutiu","download_url":"https://codeload.github.com/dnutiu/hotalert/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239803500,"owners_count":19699687,"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":["command-line-tool","unix","webhook","yaml-configuration"],"created_at":"2024-12-30T20:51:48.491Z","updated_at":"2026-02-10T01:30:18.281Z","avatar_url":"https://github.com/dnutiu.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hotalert\n\n## Introduction\nhotalert is a command line tool for task execution and alerting. Tasks and alerts are defined in yaml files.\n\nA sample use case is to run it on PC or a Raspberry PI and get alerts on your mobile device when certain keywords apear in an URL.\n\n--\n\nIt wants to be like [Windows Task Scheduler](https://en.wikipedia.org/wiki/Windows_Task_Scheduler) but it requires [Cron](https://en.wikipedia.org/wiki/Cron) for scheduling and at the moment it is stateless and does not have much functionality.\n\n\n## Installation\n\n### Example\nIf you want to send a notification to your mobile phone when a keyword is found on a website you can use the\n`webhook_discord` alerter and the `web_scrape` task function.\n\nExample:\n\n```yaml\ntasks:\n  - options:\n      url: [...]\n      keywords: [\"Episode 10\", \"Episode 11\"]\n    timeout: 10\n    alerter: \"webhook_discord\"\n    function: \"web_scrape\"\nalerts:\n  webhook_discord:\n    webhook: https://discord.com/api/webhooks/[...]\n    # $keywords can be used as a placeholder in the message, and it will be replaced with the actual keywords.\n    message: \"Hi, the keyword(s) `$keywords` was found on [...]\"\n```\n\nViewing the help:\n\n```bash\nHotalert is a command line tool that for task execution and configuration. Tasks and alerts are defined \nin yaml files and the program parses the files, executes the tasks and emits alerts when the tasks conditions are met.\n\nUsage:\n  hotalert [command]\n\nAvailable Commands:\n  completion  Generate the autocompletion script for the specified shell\n  directory   execute each yaml file from a directory\n  file        execute tasks from a single file\n  help        Help about any command\n\nFlags:\n  -h, --help   help for hotalert\n\nUse \"hotalert [command] --help\" for more information about a command.\n```\n\nRunning the program\n```bash\n./hotalert file test_file.yaml\n2022-12-19T22:12:22.435+0200\tINFO\talert/discord.go:82\tAlert posted:\nBEGIN\nHi, the keyword(s) `Episode 10,Episode 11` was found on [...]\nEND\n2022-12-19T22:12:22.435+0200\tINFO\tcmd/file.go:60\tDone\n```\n\nOutput: \n\n![Discord preview](/docs/discord_alert.png)\n\n### Available task functions\n\n#### web_scrape\n\nThe web_scrape task scrapes a web page by issuing a GET request and parses the response to look for keywords.\n\n**Options**:\n- url (string) - The url to scrape.\n- keywords (array[string]) - A list of keyword strings to look for.\n\n### Development\n\nTo build the program for Linux under Linux use the following command:\n\n```bash\nGOOS=linux GOARCH=arm64 go build\n```\n\nIf you're using Windows use:\n```bash\n$env:GOOS = \"linux\"\n$env:GOARCH = \"arm\"\n$env:GOARM = 5 \n\ngo build -o hotalert .\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdnutiu%2Fhotalert","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdnutiu%2Fhotalert","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdnutiu%2Fhotalert/lists"}