{"id":23591555,"url":"https://github.com/williamlsh/pigeon","last_synced_at":"2025-05-07T17:13:58.577Z","repository":{"id":37884155,"uuid":"463807849","full_name":"williamlsh/pigeon","owner":"williamlsh","description":"A tool for syncing Tweets to Telegram channel(s).","archived":false,"fork":false,"pushed_at":"2025-04-29T00:32:28.000Z","size":375,"stargazers_count":34,"open_issues_count":8,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-07T17:13:53.623Z","etag":null,"topics":["rust","sync","telegram","twitter"],"latest_commit_sha":null,"homepage":"","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/williamlsh.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":"2022-02-26T09:21:37.000Z","updated_at":"2025-02-02T08:07:07.000Z","dependencies_parsed_at":"2024-02-27T00:42:08.853Z","dependency_job_id":"c534a92f-0bcd-4d52-9622-58c198bea13d","html_url":"https://github.com/williamlsh/pigeon","commit_stats":null,"previous_names":[],"tags_count":36,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williamlsh%2Fpigeon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williamlsh%2Fpigeon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williamlsh%2Fpigeon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williamlsh%2Fpigeon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/williamlsh","download_url":"https://codeload.github.com/williamlsh/pigeon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252922335,"owners_count":21825639,"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":["rust","sync","telegram","twitter"],"created_at":"2024-12-27T07:39:33.318Z","updated_at":"2025-05-07T17:13:58.504Z","avatar_url":"https://github.com/williamlsh.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pigeon\n\nA Convenient Tool for Syncing Tweets to Telegram Channels.\n\nPigeon is a powerful tool written in pure Rust that allows you to seamlessly sync Tweets to Telegram channel(s). With its user-friendly features and efficient functionality, Pigeon simplifies the process of keeping your Telegram channels up-to-date with the latest Twitter content.\n\n## Key Features\n\n- Poll Twitter timelines\n- Store and display data using RocksDB\n- Push Tweets to Telegram channels\n- Interruptible and resumable pushing\n- No limits on the number of Twitter users and Telegram channels\n\n## Configuration?\n\nTo configure Pigeon, refer to the provided [config.toml](config.toml) file for an example setup. Additionally, you'll need to obtain the following API tokens:\n\n- Twitter API token: Visit \"[How to get access to the Twitter API](https://developer.twitter.com/en/docs/twitter-api/getting-started/getting-access-to-the-twitter-api)\" for instructions on obtaining this token.\n- Telegram Bot API token: Follow the guide on \"[Creating a new bot](https://core.telegram.org/bots/features#creating-a-new-bot.)\" to acquire the necessary token.\n\n## Usage\n\nTo build the Pigeon binary, use the following command:\n\n```\ncargo build --release\n```\n\nGeneral commands:\n\n```\n$ target/release/pigeon --help\nUsage: pigeon [OPTIONS] \u003cCOMMAND\u003e\n\nCommands:\n  poll  Poll Twitter users' timeline\n  push  Push timeline to Telegram channel(s)\n  info  Display overview information from Database\n  help  Print this message or the help of the given subcommand(s)\n\nOptions:\n  -d, --debug                      Activate debug mode\n  -c, --config-path \u003cconfig.toml\u003e  Config file path [default: config.toml]\n  -h, --help                       Print help                       Print help information\n```\n\nAlternatively, you can download the pre-built binary from the latest [release](https://github.com/williamlsh/pigeon/releases) or utilize the [Pigeon](https://github.com/users/williamlsh/packages/container/package/pigeon) Docker image.\n\n## Proxy Support\n\nIf you require network proxy usage, build Pigeon with `socks` feature enabled:\n\n```\ncargo build --release --features socks\n```\n\nYou can set up an HTTP/HTTPS or Socks5 proxy for all network connections through environment variables. For example:\n\nTo use an HTTP proxy:\n\n```\nexport HTTP_PROXY=http://secure.example\n```\n\nTo use a Socks5 proxy:\n\n```\nexport https_proxy=socks5://127.0.0.1:1086\n```\n\n## Local Data\n\nPigeon stores all tweet data locally in RocksDB, which resides in the specified path during runtime. Tweets pushed to Telegram channel(s) are automatically deleted, ensuring no unnecessary data clutters your disk storage.\n\n## Author\n\nPigeon was developed by [William](https://github.com/williamlsh), offering a robust solution for syncing Tweets to Telegram channels efficiently and effortlessly.\n\n## License\n\nMIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilliamlsh%2Fpigeon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwilliamlsh%2Fpigeon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilliamlsh%2Fpigeon/lists"}