{"id":23010445,"url":"https://github.com/jlandowner/notify-discord","last_synced_at":"2026-04-20T10:33:35.464Z","repository":{"id":216815398,"uuid":"742501957","full_name":"jlandowner/notify-discord","owner":"jlandowner","description":"A CLI tool to post messages to Discord channels made by Deno 🦕","archived":false,"fork":false,"pushed_at":"2024-01-13T00:17:03.000Z","size":64,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-26T09:37:48.972Z","etag":null,"topics":["cli","command-line-tool","deno","discord"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jlandowner.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}},"created_at":"2024-01-12T16:12:02.000Z","updated_at":"2025-02-10T05:20:40.000Z","dependencies_parsed_at":"2024-01-13T02:40:37.444Z","dependency_job_id":null,"html_url":"https://github.com/jlandowner/notify-discord","commit_stats":null,"previous_names":["jlandowner/notify-discord"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/jlandowner/notify-discord","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlandowner%2Fnotify-discord","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlandowner%2Fnotify-discord/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlandowner%2Fnotify-discord/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlandowner%2Fnotify-discord/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jlandowner","download_url":"https://codeload.github.com/jlandowner/notify-discord/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlandowner%2Fnotify-discord/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32043089,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T10:33:29.490Z","status":"ssl_error","status_checked_at":"2026-04-20T10:32:30.107Z","response_time":94,"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":["cli","command-line-tool","deno","discord"],"created_at":"2024-12-15T09:24:31.549Z","updated_at":"2026-04-20T10:33:35.436Z","avatar_url":"https://github.com/jlandowner.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# notify-discord \u003cimg src=\"https://assets-global.website-files.com/6257adef93867e50d84d30e2/653714c174fc6c8bbea73caf_636e0a69f118df70ad7828d4_icon_clyde_blurple_RGB.svg\" alt=\"image\" height=\"30\"\u003e\n\nA CLI command to post messages to Discord channels made by Deno.\n\n# Quickstart\n\n1. Generate your webhook URL in Discord channel settings page. Only support text\n   channel.\n   https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks\n\n2. Install with\n   [`deno` CLI](https://docs.deno.com/runtime/manual/getting_started/installation)\n\n```sh\ndeno compile --output notify-discord --allow-env --allow-read --allow-write --allow-net https://raw.githubusercontent.com/jlandowner/notify-discord/main/mod.ts \\\n  --webhook-url https://discord.com/api/webhooks/YOUR_WEBHOOK_URL/SET_HERE\n```\n\n\u003e You can see\n\u003e [installation option for non-deno environment](#for-non-deno-environment)\n\n3. Post!\n\n```sh\necho hello world | ./notify-discord\n```\n\n\u003cimg width=\"223\" alt=\"s1\" src=\"https://github.com/jlandowner/notify-discord/assets/48989258/f4d0e0a1-6346-4547-95c7-ba38d66b4aa8\"\u003e\n\n# Usage\n\n```sh\n$ ./notidy-discord --help\n\nnotify-discord - post messages to Discord channel by webhook\n\nUsage:\n  notify-discord \u003cmessage\u003e\n  echo \u003cmessage\u003e | notify-discord\n\nOptions:\n  --file \u003cUPLOAD_FILE_PATH\u003e    : Upload file\n  --as-file                    : Input as file. default file name is \"notify-discord.txt\" and you can change it by --file flag (default: false)\n  --code-block \u003cLANGUAGE\u003e      : Enclose markdown code block with language (default: disabled)\n  --save-config                : Save config options in a config file\n  --webhook-url \u003cWEBHOOK_URL\u003e  : Discord's webhook URL\n  --username    \u003cUSERNAME\u003e     : Override Discord's webhook username (default: configured in Discord webhook setting page)\n  --avatar-url  \u003cAVATER_URL\u003e   : Override Discord's webhook avator icon URL (default: configured in Discord webhook setting page)\n  --config \u003cCONFIG_FILE_PATH\u003e  : Config file path (defualt: $HOME/.notify-discord.json)\n  --debug                      : Debug mode (default: false)\n  --help                       : Show help\n  --version                    : Show version\n\nConfiguration file:\n  You can save some options in a config file to change the default behavior.\n    notify-discord --save-config --username GitHub --avatar-url https://github.com/github.png\n\n  Config file schema:\n  {\n    \"webhook-url\": \"Discord's webhook URL (Attention: see NOTES)\",\n    \"username\":    \"Override Discord's webhook username (default: configured in Discord webhook setting page)\",\n    \"avatar-url\":  \"Override Discord's webhook avator icon URL (default: configured in Discord webhook setting page)\",\n  }\n  \n  When the options are found in both args and file, args values are always used.\n\n  NOTES:\n    When you installed this command by \"deno install\" or \"deno compile\" with args of config options,\n    the options specified at install or compile time by args are ALWAYS used even if you pass no options at execution time.\n    If so, you can override the option by args at execution time but config file values are never used.\n\nExample:\n  1. post plain text message\n      echo \"Finished something\" | notify-discord\n\n  2. post text message and upload some file\n      date \u003e /tmp/date.log \u0026\u0026 echo \"finished\" | notify-discord --file /tmp/date.log\n\n  3. post a command output as file\n      (for i in $(seq 1 5); do echo $i; sleep 1; done) | notify-discord --as-file\n\n  4. post json data as a json code block\n      cat deno.json | notify-discord --code-block json\n\n  5. post log as a plain code block\n      tail /var/log/messages 2\u003e\u00261 | notify-discord --code-block \"\"\n```\n\n# Example\n\n### post plain text message\n\n```sh\necho \"Finished something\" | notify-discord\n```\n\n\u003cimg width=\"271\" alt=\"s2\" src=\"https://github.com/jlandowner/notify-discord/assets/48989258/84cf20c3-2c9d-4615-a32c-218c96871681\"\u003e\n\n### post text message and upload some file\n\n```sh\ndate \u003e /tmp/date.log \u0026\u0026 echo \"finished\" | notify-discord --file /tmp/date.log\n```\n\n\u003cimg width=\"370\" alt=\"s3\" src=\"https://github.com/jlandowner/notify-discord/assets/48989258/0be47abb-dfd0-446c-b424-97e51e69b0e8\"\u003e\n\n### post a command output as file\n\n```sh\n(for i in $(seq 1 5); do echo $i; sleep 1; done) | notify-discord --as-file\n```\n\n\u003cimg width=\"315\" alt=\"s4\" src=\"https://github.com/jlandowner/notify-discord/assets/48989258/4287f8af-24d9-4dc8-813a-4ec6f9c3c2fd\"\u003e\n\n### override username and avatar url\n\n```sh\necho This is Macbook 💻 | notify-discord --username Macbook --avatar-url https://github.com/apple.png\n```\n\n\u003cimg width=\"269\" alt=\"s5\" src=\"https://github.com/jlandowner/notify-discord/assets/48989258/6aab7e17-f041-435c-85dd-e6fff7866d9f\"\u003e\n\n\u003e You can store the options as the default behabior.\n\u003e \n\u003e ```sh\n\u003e notify-discord --save-config --username Macbook --avatar-url https://github.com/apple.png\n\u003e echo This is Macbook 💻 | notify-discord\n\u003e ```\n\n# Installation options\n\n## For non-deno environment\n\nDownload pre-built binary and initialize.\n\n```sh\n# Choose and set variable of your environment target\nTARGET=x86_64-unknown-linux-gnu # You can choose \"x86_64-unknown-linux-gnu\", \"x86_64-pc-windows-msvc\", \"x86_64-apple-darwin\", \"aarch64-apple-darwin\"\n\n# Download pre-built binary\ncurl -sLO https://github.com/jlandowner/notify-discord/releases/latest/download/notify-discord-$TARGET.tgz \u0026\u0026 tar -xf notify-discord-$TARGET.tgz \u0026\u0026 rm notify-discord-$TARGET.tgz\n\n# Move binary file to executable PATH (e.g. $HOME/bin)\nmv notify-discord $HOME/bin/\n\n# Initialize the command\nnotify-discord --save-config --webhook-url https://discord.com/api/webhooks/YOUR_WEBHOOK_URL/SET_HERE\n```\n\n## For deno-installed environment\n\nFor deno-install environment, you can configure the command at compile or\ninstall time. Therefore initialization and config file are not required.\n\n### 1. Build with `deno compile`\n\n```sh\n# Build with your webhook URL\ndeno compile --output notify-discord --allow-env --allow-read --allow-write --allow-net https://raw.githubusercontent.com/jlandowner/notify-discord/main/mod.ts \\\n  --webhook-url https://discord.com/api/webhooks/YOUR_WEBHOOK_URL/SET_HERE\n\n# Move binary file to executable PATH (e.g. $HOME/bin)\nmv notify-discord $HOME/bin/\n```\n\nYou can pass the options at the end of `deno compile` args to change default\nbehavior. Once you pass them at compile time, these options are embeded in the\ncommand and initialization is not required.\n\n\u003e e.g.\n\u003e\n\u003e - --webhook-url \u003cYOUR_WEBHOOK_URL\u003e : configure webhook url embeded\n\u003e - --config \u003cYOUR_CONFIG_PATH\u003e : change default config file path (default:\n  \u003e $HOME/.notify-discord.json)\n\n### 2. Install with `deno install`\n\n```sh\n# Install with your webhook URL\ndeno install --name notify-discord --allow-env --allow-read --allow-write --allow-net --force https://raw.githubusercontent.com/jlandowner/notify-discord/main/mod.ts \\\n  -- --webhook-url https://discord.com/api/webhooks/YOUR_WEBHOOK_URL/SET_HERE\n```\n\nIf this is the first time of `deno install`, you have to set installed direcotry\nin `PATH`. You can see the details about it in the output of `deno install`.\n\nLike `deno compile`, you can pass the options to `deno install` positional args\n(next to `--`) to change default behavior.\n\n# Support status of Discord Webhook API parameters\n\nhttps://discord.com/developers/docs/resources/webhook#execute-webhook\n\n- `content`\n- `file[n]` and `attachments` for uploading a file\n- `username` and `avatar_url` overrides\n\nNot supported, currently:\n\n- `embed`\n\n# LICENSE\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjlandowner%2Fnotify-discord","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjlandowner%2Fnotify-discord","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjlandowner%2Fnotify-discord/lists"}