{"id":26718905,"url":"https://github.com/bwsix/annoyncement-line-bot","last_synced_at":"2025-03-27T17:50:43.411Z","repository":{"id":216173426,"uuid":"739284995","full_name":"BWsix/annoyncement-line-bot","owner":"BWsix","description":"A Line bot on AWS, fully managed by terraform. What it does doesn't really matter.","archived":false,"fork":false,"pushed_at":"2024-01-08T17:53:19.000Z","size":6527,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-04-24T03:22:50.692Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BWsix.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-05T07:44:39.000Z","updated_at":"2024-01-08T18:40:24.000Z","dependencies_parsed_at":"2024-01-08T20:40:20.878Z","dependency_job_id":null,"html_url":"https://github.com/BWsix/annoyncement-line-bot","commit_stats":null,"previous_names":["bwsix/annoyncement-line-bot"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BWsix%2Fannoyncement-line-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BWsix%2Fannoyncement-line-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BWsix%2Fannoyncement-line-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BWsix%2Fannoyncement-line-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BWsix","download_url":"https://codeload.github.com/BWsix/annoyncement-line-bot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245898341,"owners_count":20690460,"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":[],"created_at":"2025-03-27T17:50:42.777Z","updated_at":"2025-03-27T17:50:43.389Z","avatar_url":"https://github.com/BWsix.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Annoyncement Line Bot\n\nA Line bot for making announcements from one Line group to multiple Line groups.\n\n###\n\n| Make annoyncement                               | Activate bot with invite code          |\n| :---------------------------------------------- | :------------------------------------- |\n| ![annoyncement](./assets/make_annoyncement.gif) | ![invite bot](./assets/invite_bot.gif) |\n\n### How to run the bot\n\n#### Requirements\n\n- python \u003e= 3.8\n- terraform \u003e= 5\n- aws account (each service used in this project is eligible for the AWS Free Tier)\n\n#### Installation\n\n1. Star this repo (thanks 😉)\n2. **Fork** and clone **your repo** (could be a private one)\n3. cd into `annoyncement-line-bot/terraform`\n4. Copy `example.tfvars` to `prod.tfvars`\n5. Configure `prod.tfvars`\n\n   1. In `prod.tfvars`, change `repository` to your fork\n   2. Generate a `Github personal access token (classic)`\n      1. Go to \u003chttps://github.com/settings/tokens/new\u003e\n      2. Select `repo` and `admin:repo_hook`\n      3. In `prod.tfvars`, change `github_access_token` to your token\n   3. Create a line bot\n      1. Go to \u003chttps://developers.line.biz/console/\u003e\n      2. Create a provider if you don't have one\n      3. Create a new channel and select `Messaging API`\n      4. In `Basic settings`, scroll to bottom and copy `Channel secret`\n         1. In `prod.tfvars`, replace `linebot_secret` with your secret\n      5. In `Messaging API`\u003e`Webhook settings`, type `https://example.com` into `Webhook URL` and toggle `Use webhook`.\n      6. In `Messaging API`, scroll to bottom and issue a `Channel access token (long-lived)`\n         1. In `prod.tfvars`, replace `linebot_token` with your token\n      7. In `Messaging API`, scan the QRcode to add the bot as a friend\n   4. Configure the line bot\n      1. Go to \u003chttps://manager.line.biz/\u003e and go the settings page by click on your bot\n      2. Click `設定` on the top right corner of the page\n      3. In `設定`\u003e`帳號設定`\u003e`功能切換`\u003e`加入群組或多人聊天室`, choose `接受邀請加入群組或多人聊天室`\n      4. In `設定`\u003e`回應設定`\u003e`回應設定`, enable `Webhook` and disable both `加入好友的歡迎訊息` and `自動回應訊息`\n\n6. Apply the infrastructure\n\n   1. Run `terraform init`\n   2. Run `terraform apply -var-file prod.tfvars`\n   3. Wait until `Apply complete!` shows up\n\n7. Profit\n\n   1. Invite the bot to the announcing group.\\\n      You will be prompted to set an `invite code`.\n   2. Invite the bot to receiving groups.\\\n      The bot will send a link in the group, enter the invite code to activate the bot\n   3. Make annoyncements\n      1. In announcing group, type `annoy` or `Annoy`.\n      2. Wait until the bot replies.\n      3. Enter a text message or image message as your announcement\n      4. It will show up on the receiving groups shortly\n\n8. Clean up\n   - Delete AWS resouces\n     1. In `terraform` run `terraform destroy -var-file prod.tfvars`\n   - Remove line bot\n   - Remove Github personal access token\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbwsix%2Fannoyncement-line-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbwsix%2Fannoyncement-line-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbwsix%2Fannoyncement-line-bot/lists"}