{"id":23395618,"url":"https://github.com/matchaism/adventar_bell","last_synced_at":"2026-05-04T01:35:18.269Z","repository":{"id":266309862,"uuid":"897720440","full_name":"matchaism/adventar_bell","owner":"matchaism","description":"Adventarの記事投稿をSlack,Discordに通知","archived":false,"fork":false,"pushed_at":"2024-12-16T08:42:55.000Z","size":53,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-08T17:19:09.323Z","etag":null,"topics":["discord","google-apps-script","google-sheets","javascript","slack"],"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/matchaism.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":"2024-12-03T05:49:25.000Z","updated_at":"2025-01-11T22:51:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"079c7dcf-cd53-4dd1-99f2-e01fdb7044c5","html_url":"https://github.com/matchaism/adventar_bell","commit_stats":null,"previous_names":["matchaism/adventar_bell"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/matchaism/adventar_bell","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matchaism%2Fadventar_bell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matchaism%2Fadventar_bell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matchaism%2Fadventar_bell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matchaism%2Fadventar_bell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matchaism","download_url":"https://codeload.github.com/matchaism/adventar_bell/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matchaism%2Fadventar_bell/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32591603,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"ssl_error","status_checked_at":"2026-05-03T22:09:10.534Z","response_time":103,"last_error":"SSL_read: 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":["discord","google-apps-script","google-sheets","javascript","slack"],"created_at":"2024-12-22T07:16:32.525Z","updated_at":"2026-05-04T01:35:18.254Z","avatar_url":"https://github.com/matchaism.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Adventar Bell\n\n[![adventar](https://img.shields.io/badge/adventar-D35F4A.svg)](https://adventar.org/) [![Google Sheets](https://img.shields.io/badge/Google%20Sheets-gray.svg?logo=googlesheets)](https://www.google.com/intl/ja_jp/sheets/about/) [![Google Apps Script](https://img.shields.io/badge/Google%20Apps%20Script-gray.svg?logo=googleappsscript)](https://script.google.com/) [![slack](https://img.shields.io/badge/slack-gray.svg?logo=slack)](https://slack.com/) [![discord](https://img.shields.io/badge/discord-gray.svg?logo=discord)](https://discord.com/) [![clasp](https://img.shields.io/badge/deploy%20with-clasp-4285f4.svg)](https://github.com/google/clasp) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n[![deploy](https://github.com/matchaism/adventar_bell/actions/workflows/deploy.yml/badge.svg?branch=deploy)](https://github.com/matchaism/adventar_bell/actions/workflows/deploy.yml)\n\n## Usage\n\n本体は`src/`で，それ以外は雑多な用途のためのファイル．\n\n 1. [advent_calendar.xlsx](./template/advent_calendar.xlsx)を参考に，Googleスプレッドシートを作成\n    - CSV版: [advent_calendar.csv](./template/advent_calendar.csv)\n    - スプレッドシートにコピー\u0026ペーストか，インポート\n 2. 登録したいAdventarのtitle, urlを入力 (1行に1つのAdventar)\n 3. スプレッドシートの拡張機能Apps Scriptの画面へ\n 4. `src/`以下のスクリプト(JavaScript)を全てアップロード: エディタ \u003e ファイル \u003e + (ファイルを追加) \u003e スクリプト\n 5. ライブラリの登録: エディタ \u003e ライブラリ \u003e + (ライブラリを追加) \u003e Cheerioを追加\n 6. スクリプトプロパティの編集: プロジェクトの設定 \u003e スクリプトプロパティ\n    - `sheet_name`: `\u003cスプレッドシートのシート名\u003e`\n    - Slack\n      1. 事前にカスタムインテグレーションから，Incoming Webhookの設定\n      2. `slack_webhook_url`: `https://hooks.slack.com/services/~` \u003e WebhookのURLをコピー\n    - Discord\n      1. 事前にサーバ設定 \u003e 連携サービス \u003e ウェブフック \u003e 新しいウェブフックの作成 \u003e ウェブフックURLをコピー\n      2. `discord_webhook_url`: `https://discord.com/api/webhooks/~`\n 7. これで実行できる\n 8. 定期実行のため，トリガーを追加\n\n## GitHub Actionsによるclaspを利用した自動デプロイ\n\nワークフロー: [deploy.yml](.github/workflows/deploy.yml)\n\n 1. clasp，Apps Scriptの認証情報を，[Actions secrets and variables](./settings/secrets/actions) (Settings \u003e Secrets and variables \u003e Actions)に登録\n 2. deployブランチにpush，または手動で実行([Actions](./actions/))\n 3. GitHub Actionsによるデプロイが自動で進行\n    - 内部では，`clasp push --force`と`clasp deploy --deploymentId $DEPLOYMENT_ID`を実行\n    - TypeScriptは`.gs`にコンパイル・変換される\n 4. GAS側の定期実行が必要なら，別途設定\n\n### 認証情報\n\n|認証|Secrets|\n|---|---|\n|clasp|`ACCESS_TOKEN`, `REFRESH_TOKEN`, `SCOPE`, `TOKEN_TYPE`, `ID_TOKEN`, `EXPIRY_DATE`, `CLIENT_ID`, `CLIENT_SECRET`, `REDIRECT_URI`, `IS_LOCAL_CREDS`|\n|Apps Script|`DEPLOYMENT_ID`, `SCRIPT_ID`|\n\n## 開発\n\n- ローカルでコーディング\n  - 手元でコンパイルしたいなら`npm run build`\n- developブランチでcommit\u0026push\n  - 上記自動化により自動デプロイ (ワークフロー: [deploy_dev.yml](.github/workflows/deploy_dev.yml)，developブランチへのpushがトリガー)\n  - 開発専用スプレッドシート\u0026GASに`clasp push`\u0026`clasp deploy`\n  - TypeScriptは`.gs`にコンパイル・変換される\n- 必要に応じて実験したいときはブランチを切り，専用ブランチでcommit\u0026push，および手動で[deploy_dev.yml](.github/workflows/deploy_dev.yml)によるデプロイを実行\n- 開発が終わったら，develop(とか)-\u003emainのmerge，main-\u003edeployのmergeでデプロイへ\n\n## License\n\nThis package is open-sourced software licensed under the [MIT license](https://choosealicense.com/licenses/mit/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatchaism%2Fadventar_bell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatchaism%2Fadventar_bell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatchaism%2Fadventar_bell/lists"}