{"id":41906052,"url":"https://github.com/pajbot/tweet-provider","last_synced_at":"2026-01-25T15:30:55.955Z","repository":{"id":36960658,"uuid":"227354130","full_name":"pajbot/tweet-provider","owner":"pajbot","description":null,"archived":false,"fork":false,"pushed_at":"2024-07-24T11:35:05.000Z","size":905,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-07-24T13:16:01.461Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":null,"language":"Rust","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/pajbot.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2019-12-11T11:51:59.000Z","updated_at":"2024-07-24T11:35:08.000Z","dependencies_parsed_at":"2023-02-19T07:31:26.828Z","dependency_job_id":"37359904-bafe-461b-9e1c-c2b73a71353a","html_url":"https://github.com/pajbot/tweet-provider","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/pajbot/tweet-provider","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pajbot%2Ftweet-provider","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pajbot%2Ftweet-provider/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pajbot%2Ftweet-provider/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pajbot%2Ftweet-provider/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pajbot","download_url":"https://codeload.github.com/pajbot/tweet-provider/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pajbot%2Ftweet-provider/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28754823,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T13:59:49.818Z","status":"ssl_error","status_checked_at":"2026-01-25T13:59:33.728Z","response_time":113,"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":["hacktoberfest"],"created_at":"2026-01-25T15:30:55.870Z","updated_at":"2026-01-25T15:30:55.930Z","avatar_url":"https://github.com/pajbot.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# tweet-provider\n\n![Build](https://github.com/pajbot/tweet-provider/workflows/Build/badge.svg)\n\nProvides a WebSocket interface for [pajbot1](https://github.com/pajbot/pajbot) to reduce Twitter API usage.\n\n## Websocket\n\n- Pings every 30 seconds\n- Drops connection if no client message for 90 seconds\n\n### API\n\n#### From Client\n\n```json\n{ \"type\": \"set_subscriptions\", \"data\": [123456, 234567] }\n{ \"type\": \"insert_subscriptions\", \"data\": [123456, 234567] }\n{ \"type\": \"remove_subscriptions\", \"data\": [123456, 234567] }\n{ \"type\": \"exit\" }\n```\n\n#### From Server\n\n```json5\n{ \"type\": \"ack_subscriptions\", \"data\": [123456, 234567] }\n{ \"type\": \"protocol_error\", \"data\": \"missing field `type` at line 1 column 2\" }\n{ \"type\": \"tweet\", \"data\": {\n    \"text\": \"Adjfkdkoo\",\n    \"id\": 1218503583311769600,\n    \"created_at\": 1579348867,\n    \"user\": {\n        \"id\": 81085011,\n        \"screen_name\": \"pajtest\",\n        \"name\": \"paj pajsson\"\n    },\n    \"truncated\": false, // if tweet was truncated to 140 characters for compatibility\n    \"in_reply_to_user_id\": null, // or number\n    \"in_reply_to_screen_name\": null, // or string\n    \"in_reply_to_status_id\": null, // or number\n    \"urls\": [{\n        \"url\": \"t.co/dank\",\n        \"display_url\": \"https://google.com\",\n        \"expanded_url\": null, // or string\n        \"range_start\": 0,\n        \"range_end\": 9,\n    }]\n}}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpajbot%2Ftweet-provider","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpajbot%2Ftweet-provider","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpajbot%2Ftweet-provider/lists"}