{"id":16343723,"url":"https://github.com/makefu/events-publisher","last_synced_at":"2025-07-02T10:32:19.202Z","repository":{"id":138158625,"uuid":"143300241","full_name":"makefu/events-publisher","owner":"makefu","description":"shackspace events publisher","archived":false,"fork":false,"pushed_at":"2018-12-12T17:40:31.000Z","size":46,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-18T03:38:51.920Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/makefu.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":"2018-08-02T13:42:41.000Z","updated_at":"2018-12-12T17:40:33.000Z","dependencies_parsed_at":"2024-07-22T16:47:31.670Z","dependency_job_id":null,"html_url":"https://github.com/makefu/events-publisher","commit_stats":{"total_commits":28,"total_committers":1,"mean_commits":28.0,"dds":0.0,"last_synced_commit":"419afdfe16ebf7f2360d2ba64b67ca88948832bd"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/makefu/events-publisher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makefu%2Fevents-publisher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makefu%2Fevents-publisher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makefu%2Fevents-publisher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makefu%2Fevents-publisher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/makefu","download_url":"https://codeload.github.com/makefu/events-publisher/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makefu%2Fevents-publisher/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263120830,"owners_count":23416890,"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":"2024-10-11T00:25:32.718Z","updated_at":"2025-07-02T10:32:19.141Z","avatar_url":"https://github.com/makefu.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"shack_announce\n==============\n\nannounce event-o-mat events\n\ncreds.json\n==========\n\nThe credentials for the different services is the center-piece of the\nannouncer. Without credentials not much will happen.\nCreds.json looks like this:\n\n```json\n{\n  \"mastodon\": ... ,\n  \"facebook\": ...\n  ...\n}\n```\n\nThe following subsections describe how you can get each token.\n\n# Mastodon\nsee `shack_announce/autenticate.py` , you need:\n```json\n{\n  \"mastodon\":{\n    \"chaos.social\": {\n      \"client_id\": \"\",\n      \"client_secret\": \"\",\n      \"access_token\": \"\",\n      \"url\": \"https://chaos.social\",\n      \"visibility\": \"unlisted\"\n    },\n    \"botsin.space\": {\n      \"client_id\": \"\",\n      \"client_secret\": \"\",\n      \"access_token\": \"\",\n      \"url\": \"https://botsin.space\",\n      \"visibility\": \"public\"\n    }\n  }\n}\n```\n```python\nfrom mastodon import Mastodon\nurl = \"https://botsin.space\"\nuser = \"your-email\"\npw = \"your-pass\"\napp = Mastodon.create_app( \"shack-publisher\", api_base_url=url )\nmastodon = Mastodon(client_id=app[0],client_secret=app[1],api_base_url=url)\nlog = mastodon.log_in(user,pw)\nprint(json.dumps({\n  \"client_id\": app[0],\n  \"client_secret\": app[1],\n  \"api_base_url\": url,\n  \"access_token\": log\n},indent=4))\n\n```\n\n\n# Facebook\n1. Create a new app (do not publish)\n2. Create short-lived access token for the page via the API explorer\n3. Create long-lived access token via the token debug page\n4. use the token in the api explorer to GET `/3.1/\u003cPAGE-ID\u003e?fields=access_token`\n   copy the never-expiring token (check via token debug page)\n```json\n{\n  \"facebook\": {\n    \"access_token\": \"\",\n    \"groups\": [ 122027937823921 ]\n  }\n}\n```\n# Twitter\n1. Become developer with application at https://developer.twitter.com\n2. create new app, go to keys and tokens\n3. create all 4 token and secrets\n\n```json\n\"twitter\": {\n  \"consumer_key\": \"A\",\n  \"consumer_secret\": \"B\",\n  \"token_key\": \"C\",\n  \"token_secret\": \"D\",\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmakefu%2Fevents-publisher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmakefu%2Fevents-publisher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmakefu%2Fevents-publisher/lists"}