{"id":17291012,"url":"https://github.com/markkoz/tweet-pnd","last_synced_at":"2026-02-16T23:02:41.301Z","repository":{"id":39713124,"uuid":"115276906","full_name":"MarkKoz/tweet-pnd","owner":"MarkKoz","description":"Places buy orders on crypto exchanges based on tweets.","archived":false,"fork":false,"pushed_at":"2023-02-08T03:29:11.000Z","size":198,"stargazers_count":6,"open_issues_count":6,"forks_count":6,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-14T11:53:31.433Z","etag":null,"topics":["bot","cryptocurrency","cryptocurrency-trading-bot","python","python-3","trading-bot","twitter","twitter-bot"],"latest_commit_sha":null,"homepage":"","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/MarkKoz.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,"zenodo":null}},"created_at":"2017-12-24T17:05:34.000Z","updated_at":"2024-08-12T19:35:00.000Z","dependencies_parsed_at":"2023-02-19T12:31:19.687Z","dependency_job_id":null,"html_url":"https://github.com/MarkKoz/tweet-pnd","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MarkKoz/tweet-pnd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarkKoz%2Ftweet-pnd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarkKoz%2Ftweet-pnd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarkKoz%2Ftweet-pnd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarkKoz%2Ftweet-pnd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MarkKoz","download_url":"https://codeload.github.com/MarkKoz/tweet-pnd/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarkKoz%2Ftweet-pnd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279005939,"owners_count":26083986,"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","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["bot","cryptocurrency","cryptocurrency-trading-bot","python","python-3","trading-bot","twitter","twitter-bot"],"created_at":"2024-10-15T10:39:37.219Z","updated_at":"2025-10-11T01:44:52.099Z","avatar_url":"https://github.com/MarkKoz.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tweet Pump-and-Dump\n### Description\nPerforms trades on Bittrex based on tweets of a user. Searches tweets for any\nmentions of currencies available on Bittrex. Optionally searches for a key\nterm/phrase first before searching for currencies.\n\n### Configuration\nA file named `config.json`, located in `/src/` (same directory as `bot.py`), is\nused as the configuration of the bot. Below is the base configuration for the\nbot:\n\n```json\n{\n    \"twitter\": {\n        \"api\": {\n            \"key\": \"\",\n            \"secret\": \"\",\n            \"access_token\": \"\",\n            \"access_secret\": \"\"\n        },\n        \"user\": \"\",\n        \"search_term\": \"\",\n        \"search_text\": true,\n        \"search_image\": true,\n        \"ignore_retweets\": true,\n        \"disconnect_on_first\": true,\n        \"log_tweets\": false\n    },\n    \"exchanges\": {\n        \"binance\": {\n            \"priority\": 0,\n            \"key\": \"\",\n            \"secret\": \"\",\n            \"use_multiplier\": false,\n            \"recvWindow\": 5000\n        },\n        \"bittrex\": {\n            \"priority\": 1,\n            \"key\": \"\",\n            \"secret\": \"\",\n            \"use_multiplier\": true,\n        }\n    },\n    \"order\": {\n        \"quote_currencies\": {\n            \"btc\": 0,\n            \"eth\": 0\n        },\n        \"multiplier\": 0\n    },\n    \"search_currency_name\": false,\n    \"tessdata_dir\": \"\",\n    \"tesseract_cmd\": \"\",\n    \"verbose\": false\n}\n```\n\n\u003e **Note**: All strings, with the exceptions of authentication credentials,\n`user`, `search_term`, and `tesseract_cmd`, must be completely lower case.\n\n* `search_currency_name` - `true` to include currency names (in addition to\nticker symbols) in the regular expression used to search for a currency in the\nOCR result text; `false` to only include currency ticker symbols.\n* `tessdata_dir` - Path to Tesseract's tessdata folder. Set this if the bot\nis on a different drive than Tesseract is installed to - particularly if using\nWindows. This folder is typically located under the Tesseract install's root\ndirectory.\n* `tesseract_cmd` - Path to the Tesseract binary; ignored if empty. Unnecessary\nif it is in the system's `PATH`. Backslashes must be escaped with another\nbackslash.\n* `verbose` - `true` if the console logger should be more verbose i.e. show\ndebug-level messages; `false` otherwise.\n\n#### Twitter\n* `key` - Consumer key (API key)\n* `secret` - Consumer secret (API secret)\n* `access_token` - Access token; can be used to make API requests on your own\naccount's behalf.\n* `access_secret` - Access secret\n* `user` - The Twitter handle of the user whose tweets will be read.\n* `search_term` - A search term to use to filter the user's tweets; ignored if\nempty.\n* `search_text` - `true` to search for currencies in the tweet's text; `false`\notherwise.\n* `search_image` - `true` to search for currencies in the tweet's attached\nimage; `false` otherwise. The image will not be parsed if a currency has already\nbeen found in the text.\n* `ignore_retweets` - Does not parse tweets which are retweets.\n* `disconnect_on_first` - `true` to disconnect the stream after the first found\ntweet; `false` otherwise.\n* `log_tweets` - `true` to log user's tweets to a file; `false` otherwise. A new\nfile is created every day at midnight. Old files have the date appended to their\nname.\n\n#### Exchanges\n* `priority` - A positive integer representing the priority of the exchange.\nLower numbers have higher priority. Set to `0` to disable the exchange.\n* `key` -  The exchange's API key.\n* `secret` - The exchange's API secret.\n* `use_multiplier` - `true` to use the `multiplier` for this exchange; `false`\notherwise.\n* `recvWindow` - If the order request is not processed in this amount of\nmiliseconds, the request is cancelled. Only used with Binance.\n\n#### Orders\n* `quote_currencies` - A dictionary of currency ticker symbols for quote\ncurrencies (currencies with which the tweeted currency can be bought) and the\namounts to spend on the order. The order determines the priority of the\ncurrency; the first has the highest priority. It is safe to remove unwanted\ncurrencies from this dictionary.\n* `multiplier` - The price paid for the currency is multiplied by\n`1 + multiplier` to account for any price increases between the request for the\nprice and request for placing the order.\n\n### Requirements\n#### Binaries\n* [Python 3.6](https://www.python.org/downloads/) or higher\n    * Make sure the python directory and python/Scripts directory are in your\n    system's `PATH` environment variable.\n    * For Windows users especially,\n    [Anaconda](https://www.anaconda.com/download/) is recommended over the\n    standard installer from python.org.\n* [Google Tesseract OCR](https://github.com/tesseract-ocr/tesseract)\n    * See [this](https://github.com/tesseract-ocr/tesseract/wiki) page for more\n    specific installation instructions.\n    * Make sure it is set in your system's `PATH` environment variable or the\n    * `tesseract_cmd` is configured accordingly.\n#### Packages\n\u003e **Note** `pipenv` can install these automatically from the provided pipfiles.\n\n* [tweepy](http://www.tweepy.org/)\n* [pytesseract](https://github.com/madmaze/pytesseract)\n* [coinmarketcap](https://github.com/mrsmn/coinmarketcap)\n* `OPTIONAL` [python-binance](https://github.com/sammchardy/python-binance)\n    * Only required if Binance's priority is \u003e 0 i.e. it's enabled.\n* `OPTIONAL` [python-bittrex](https://github.com/ericsomdahl/python-bittrex)\n    * Only required if Bittrex's priority is \u003e 0 i.e. it's enabled.\n* `OPTIONAL` [pipenv](https://docs.pipenv.org/)\n\n### Installation\n[pipenv](https://docs.pipenv.org/) can be used to simply the installation\nprocess. Once it is installed, `cd` into the root directory and install the\ndependencies from the pipfile with\n\n```bash\npipenv install\n```\n\nAn error may occur while installing python-binance on Windows. More specifically\n\n\u003e Failed building wheel for Twisted\n\nThe error can be circumvented by downloading a pre-built wheel of Twisted from\n[here](https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted). Download the\n32-bit or 64-bit version depending on your OS and move the file into the root\ndirectory of the program. To install Twisted and finish the installation of\npython-binance run\n\n```bash\npipenv install twisted-wheel-file-name.whl\npipenv install\n```\n\n### Running\nRun `bot.py` to run the bot. If using pipenv:\n\n```bash\npipenv shell\ncd src\npython bot.py\n```\n\notherwise\n\n```bash\npython bot.py\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkkoz%2Ftweet-pnd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarkkoz%2Ftweet-pnd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkkoz%2Ftweet-pnd/lists"}