{"id":15662513,"url":"https://github.com/pradumnasaraf/botchain","last_synced_at":"2025-05-05T23:52:43.055Z","repository":{"id":40658596,"uuid":"403648957","full_name":"Pradumnasaraf/Botchain","owner":"Pradumnasaraf","description":"Botchain is a financial Twitter bot, tweets out latest ticker price after a fixed interval of time. Build using Python and Tweepy ","archived":false,"fork":false,"pushed_at":"2023-07-27T12:23:24.000Z","size":55,"stargazers_count":18,"open_issues_count":0,"forks_count":9,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-19T12:14:10.662Z","etag":null,"topics":["bot","python","tweets","twitter","twitter-api","twitter-bot"],"latest_commit_sha":null,"homepage":"https://twitter.com/IAmDogeBot","language":"Python","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/Pradumnasaraf.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["eddiejaoude"]}},"created_at":"2021-09-06T14:16:57.000Z","updated_at":"2025-03-17T19:47:13.000Z","dependencies_parsed_at":"2024-10-23T08:25:05.236Z","dependency_job_id":"48bed951-87de-4145-95e2-7bd9d329840c","html_url":"https://github.com/Pradumnasaraf/Botchain","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pradumnasaraf%2FBotchain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pradumnasaraf%2FBotchain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pradumnasaraf%2FBotchain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pradumnasaraf%2FBotchain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Pradumnasaraf","download_url":"https://codeload.github.com/Pradumnasaraf/Botchain/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252596390,"owners_count":21773844,"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":["bot","python","tweets","twitter","twitter-api","twitter-bot"],"created_at":"2024-10-03T13:33:04.335Z","updated_at":"2025-05-05T23:52:43.036Z","avatar_url":"https://github.com/Pradumnasaraf.png","language":"Python","funding_links":["https://github.com/sponsors/eddiejaoude"],"categories":[],"sub_categories":[],"readme":"\u003ch1 align =\"center\"\u003eTwitter Bot\u003c/h1\u003e\n\n[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/Pradumnasaraf/Twitter_Bot.git)\n\nThis repo contains the source for the **Twitter bot** which Tweet out the latest Ticket price after a fixed interval of time.\n\nAll the bots are made with the help of [`tweepy`](https://github.com/tweepy/tweepy) library for accessing the Twitter API, and [`CoinMarketCap`](https://coinmarketcap.com/api/documentation/v1/) API for accessing the latest financial market data, and [`Railway`](https://railway.app/) for the deployment.\n\n\u003cdiv align=\"center\"\u003e\n\n[![Publish Image to GitHub Container Registry](https://github.com/Pradumnasaraf/Botchain/actions/workflows/publish-ghcr.yml/badge.svg)](https://github.com/Pradumnasaraf/Botchain/actions/workflows/publish-ghcr.yml) [![Releases](https://github.com/Pradumnasaraf/Botchain/actions/workflows/releases.yml/badge.svg)](https://github.com/Pradumnasaraf/Botchain/actions/workflows/releases.yml)\n\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/51878265/150635263-e2c0e19b-2dcb-434c-a2a1-39a5f79e40d2.png\"\u003e\u003c/p\u003e\n\n## ✔️ Prerequisite\n\n- **Twitter Developer Account**\n\n  - We need to get a developer account for getting private keys and secrets. we can apply from it [here](https://developer.twitter.com/en/portal/petition/essential/basic-info), it will take 5-10 min for setting up a Dev account.\n\n- **CoinMarketCap API Keys** (Optional if we don't need any financial market data)\n\n  - We can use any financial market API for getting the latest quote of the assets, but here we are using the `CoinMarketCap API` free plan. we can get API access from [here](https://coinmarketcap.com/api/).\n\n- **Railway Account** (Only necessary if we want to host the bot, not for running locally)\n  - For deploying and running we will use [Railway](https://railway.app/). Here we are using Railway because it's free and can run the bot for 24X7 without any refreshment.\n\n## 🖱️ Using and quick set-up guide:\n\n- Fork this repository\n\n- Install all the dependencies from [`requirements.txt`](requirements.txt) file. We can also use the command to install all the dependencies at once.\n\n```sh\npip3 install -r requirements.txt\n```\n\n- Create a `.env` file in the root folder and add in our API keys and like so :\n\n```\nNote: Here I have included 2 sets of keys because I am running 2 different bots from the same repo,\nwe can also use one of them, either BTC or Doge\n\nBTC_CON_KEY = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX     (TWITTER_CONSUMER_KEY)\nBTC_CON_SECRET = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  (TWITTER_CONSUMER_SECRET)\nBTC_KEY = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX         (TWITTER_ACCESS_TOKEN)\nBTC_SECRET = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX      (TWITTER_ACCESS_TOKEN_SECRET)\nBTC_COIN_KEY = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX    (CoinMarketCap API KEY)\n\nDOGE_CON_KEY = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX      (TWITTER_CONSUMER_KEY)\nDOGE_CON_SECRET = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   (TWITTER_CONSUMER_SECRET)\nDOGE_KEY = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX          (TWITTER_ACCESS_TOKEN)\nDOGE_SECRET = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX       (TWITTER_ACCESS_TOKEN_SECRET)\nDOGE_COIN_KEY = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX     (CoinMarketCap API KEY)\n```\n\n- Run `python3 doge.py` or `python3 btc.py`, depending on which bot we are running.\n\n### Hosting the Bot\n\nFor hosting it remotely, we need to add some files like [`Procfile`](Procfile) and [`requirements.txt`](requirements.txt), which are already present in the repo. We just need to add the API keys in the variable section on the Railway platform while deployment.\n\n\u003e Note: Here I am running both the bot at the same time remotely, due to that we are using a [`bash srcipt`](run.sh) in the **Procfile**,\n\u003e we can run single bot by having `web: python doge.py` in the **Procfile**, for more details, please check [Railway Offical Docs](https://docs.railway.app/deploy/python)\n\n## ⌚ Watch the Bots In Action\n\n### Bitcoin Bot\n\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/51878265/163385144-da82423a-4225-48c9-9388-4fc72e97c324.png\"\u003e\u003c/p\u003e\n\n---\n\n### Doge Bot\n\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/51878265/163385127-4214c423-f57c-4137-8207-73ebd2f08c58.png\"\u003e\u003c/p\u003e\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpradumnasaraf%2Fbotchain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpradumnasaraf%2Fbotchain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpradumnasaraf%2Fbotchain/lists"}