{"id":13697224,"url":"https://github.com/rssnyder/discord-stock-ticker","last_synced_at":"2025-04-05T08:08:21.264Z","repository":{"id":39626842,"uuid":"334559218","full_name":"rssnyder/discord-stock-ticker","owner":"rssnyder","description":"Add live stock \u0026 crypto prices to your discord sidebar.","archived":false,"fork":false,"pushed_at":"2024-06-06T21:59:37.000Z","size":8315,"stargazers_count":295,"open_issues_count":0,"forks_count":115,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-29T07:07:08.300Z","etag":null,"topics":["bot","crypto","cryptocurrency","discord","discord-bot","discord-sidebar","discord-stock-ticker","futures","hosting","piku","python","stock","stocks","ticker","wallstreet","wallstreetbets"],"latest_commit_sha":null,"homepage":"https://rssnyder.github.io/discord-stock-ticker/","language":"Go","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/rssnyder.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"rileysnyder"}},"created_at":"2021-01-31T02:51:46.000Z","updated_at":"2025-03-05T02:13:46.000Z","dependencies_parsed_at":"2023-02-14T15:31:35.268Z","dependency_job_id":"2a60150b-79a5-4b17-a8ab-b67929856040","html_url":"https://github.com/rssnyder/discord-stock-ticker","commit_stats":null,"previous_names":[],"tags_count":191,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rssnyder%2Fdiscord-stock-ticker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rssnyder%2Fdiscord-stock-ticker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rssnyder%2Fdiscord-stock-ticker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rssnyder%2Fdiscord-stock-ticker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rssnyder","download_url":"https://codeload.github.com/rssnyder/discord-stock-ticker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247305935,"owners_count":20917208,"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","crypto","cryptocurrency","discord","discord-bot","discord-sidebar","discord-stock-ticker","futures","hosting","piku","python","stock","stocks","ticker","wallstreet","wallstreetbets"],"created_at":"2024-08-02T18:00:54.189Z","updated_at":"2025-04-05T08:08:21.226Z","avatar_url":"https://github.com/rssnyder.png","language":"Go","funding_links":["https://ko-fi.com/rileysnyder","https://ko-fi.com/rileysnyder'"],"categories":["Go"],"sub_categories":[],"readme":"\u003e [!CAUTION]\n\u003e This project is no longer maintained\n\n# discord-stock-ticker\n\nLive stock and crypto tickers for your discord server.\n\nWith these bots you can track prices of...\n\n- Coins and Tokens on CoinGecko\n- Marketcaps of Coins and Tokens on CoinGecko\n- Stocks on Yahoo Finance\n- Tokens on Pancakeswap\n- Tokens on Dexlab\n- Tokens on 1Inch\n- NFT Collections on OpenSea, Solanart, Solart, and Magiceden\n- Gas on Ethereum, Binance, and Polygon Chains\n- Number of holders of a token on Ethereum and Binance Chains\n\n🍾 100 public tickers with over 15k installs across 3k discord servers!\n\n🛠️ Use theis project to host your own tickers, or [pay for custom tickers to be made](https://github.com/rssnyder/discord-stock-ticker/blob/master/README.md#premium).\n\n[![MIT License](https://img.shields.io/apm/l/atomic-design-ui.svg?)](https://github.com/tterb/atomic-design-ui/blob/master/LICENSEs)\n\n[![GitHub last commit](https://img.shields.io/github/last-commit/rssnyder/discord-stock-ticker.svg?style=flat)](https://github.com/rssnyder/discord-stock-ticker/pulse)\n[![GitHub stars](https://img.shields.io/github/stars/rssnyder/discord-stock-ticker.svg?style=social\u0026label=Star)](https://github.com/rssnyder/discord-stock-ticker/pulse)\n[![GitHub watchers](https://img.shields.io/github/watchers/rssnyder/discord-stock-ticker.svg?style=social\u0026label=Watch)](https://github.com/rssnyder/discord-stock-ticker/pulse)\n\n## Contents\n\n- [discord-stock-ticker](#discord-stock-ticker)\n  - [Contents](#contents)\n  - [Preview](#preview)\n  - [Join the discord server](#join-the-discord-server)\n  - [Support this project](#support-this-project)\n  - [Add free tickers to your servers](#add-free-tickers-to-your-servers)\n    - [Stocks](#stocks)\n    - [Crypto](#crypto)\n    - [Gas Prices](#gas-prices)\n  - [Premium](#premium)\n  - [Self-Hosting](#self-hosting)\n      - [Setting options](#setting-options)\n      - [Systemd (linux)](#systemd-linux)\n  - [Managing bots](#managing-bots)\n  - [Stock and Crypto Price Tickers](#stock-and-crypto-price-tickers)\n    - [Bot Configuration (stock)](#bot-configuration-stock)\n    - [Bot Configuration (crypto)](#bot-configuration-crypto)\n  - [Stock and Crypto Price Tickerboards](#stock-and-crypto-price-tickerboards)\n    - [Bot Configuration (stock)](#bot-configuration-stock-1)\n    - [Bot Configuration (crypto)](#bot-configuration-crypto-1)\n  - [Crypto Market Cap](#crypto-market-cap)\n    - [Bot Configuration](#bot-configuration)\n  - [Crypto Circulating Supply](#crypto-circulating-supply)\n    - [Bot Configuration](#bot-configuration-1)\n  - [Crypto Total Value Locked](#crypto-total-value-locked)\n    - [Bot Configuration](#bot-configuration-2)\n  - [Ethereum, BSC, and Polygon Gas Prices](#ethereum-bsc-and-polygon-gas-prices)\n    - [Bot Configuration](#bot-configuration-3)\n  - [Ethereum, BSC, or Polygon Token Holders](#ethereum-bsc-or-polygon-token-holders)\n    - [Bot Configuration](#bot-configuration-4)\n  - [ETH/BSC/MATIC Token Price](#ethbscmatic-token-price)\n    - [Bot Configuration](#bot-configuration-5)\n  - [OpenSea/Solanart NFT Collection Floor Price](#openseasolanart-nft-collection-floor-price)\n    - [Bot Configuration](#bot-configuration-6)\n  - [Roles for colors](#roles-for-colors)\n  - [Kubernetes](#kubernetes)\n  - [Louie](#louie)\n\n## Preview\n\n![image](https://user-images.githubusercontent.com/7338312/127577682-70b67f31-59c9-427b-b9dc-2736a2b4e378.png)![TICKERS](https://user-images.githubusercontent.com/7338312/126001327-2d7167d2-e998-4e13-9272-61feb4e9bf7a.png)![BOARDS](https://user-images.githubusercontent.com/7338312/126001753-4f0ec66e-5737-495a-a85b-cafeef6f5cea.gif)![image](https://user-images.githubusercontent.com/7338312/127577601-43500287-1cf4-47ee-9f21-67c22f606850.png)![HOLDERS](https://user-images.githubusercontent.com/7338312/126001392-dfb72cc1-d526-40e8-9982-077bb22fc44c.png)![FLOOR](https://user-images.githubusercontent.com/7338312/148694075-7ca93668-2ce6-4e26-af9c-1dc032bf6980.png)\n\n## Join the discord server\n\n[![Discord Chat](https://logo.clearbit.com/discord.com)](https://discord.gg/CQqnCYEtG7)\n\n## Support this project\n\n\u003ca href='https://ko-fi.com/rileysnyder' target='_blank'\u003e\u003cimg height='35' style='border:0px;height:46px;' src='https://az743702.vo.msecnd.net/cdn/kofi3.png?v=0' border='0' alt='Buy Me a Coffee' /\u003e\u003c/a\u003e\n\n\u003ca href=\"https://www.digitalocean.com/?refcode=1acd6d377e8b\u0026utm_campaign=Referral_Invite\u0026utm_medium=Referral_Program\u0026utm_source=badge\"\u003e\u003cimg src=\"https://web-platforms.sfo2.digitaloceanspaces.com/WWW/Badge%203.svg\" alt=\"DigitalOcean Referral Badge\" /\u003e\u003c/a\u003e\n\nLove these bots? You can support this project by subscribing to the [premium version](https://github.com/rssnyder/discord-stock-ticker/blob/master/README.md#premium), [buying me a coffee](https://ko-fi.com/rileysnyder), [using my digital ocean referral link](https://m.do.co/c/1acd6d377e8b), or [hiring me](https://github.com/rssnyder) to write or host **your** discord bot!\n\n## Add free tickers to your servers\n\n### Stocks\n\n[bb](https://discord.com/oauth2/authorize?client_id=805289769272999986\u0026permissions=0\u0026scope=bot) |\n[amc](https://discord.com/oauth2/authorize?client_id=805294017441038357\u0026permissions=0\u0026scope=bot) |\n[nok](https://discord.com/oauth2/authorize?client_id=805294107962245120\u0026permissions=0\u0026scope=bot) |\n[aapl](https://discord.com/oauth2/authorize?client_id=806569145184550922\u0026permissions=0\u0026scope=bot) |\n[amzn](https://discord.com/oauth2/authorize?client_id=806570287042002945\u0026permissions=0\u0026scope=bot) |\n[goog](https://discord.com/oauth2/authorize?client_id=806570628156882945\u0026permissions=0\u0026scope=bot) |\n[sp500](https://discord.com/oauth2/authorize?client_id=808431853363134484\u0026permissions=0\u0026scope=bot) |\n[dow](https://discord.com/oauth2/authorize?client_id=808432655746072596\u0026permissions=0\u0026scope=bot) |\n[nasdaq](https://discord.com/oauth2/authorize?client_id=808432811644026921\u0026permissions=0\u0026scope=bot) |\n[tsla](https://discord.com/oauth2/authorize?client_id=808723743069306882\u0026permissions=0\u0026scope=bot) |\n[dkng](https://discord.com/oauth2/authorize?client_id=808724381608968202\u0026permissions=0\u0026scope=bot) |\n[spy](https://discord.com/oauth2/authorize?client_id=811418568846737500\u0026permissions=0\u0026scope=bot) |\n[amd](https://discord.com/oauth2/authorize?client_id=816049122850897923\u0026permissions=0\u0026scope=bot) |\n[nio](https://discord.com/oauth2/authorize?client_id=816049780546994196\u0026permissions=0\u0026scope=bot) |\n[gold](https://discord.com/oauth2/authorize?client_id=816375134122147850\u0026permissions=0\u0026scope=bot) |\n[silver](https://discord.com/oauth2/authorize?client_id=816375586066661456\u0026permissions=0\u0026scope=bot) |\n[oil](https://discord.com/oauth2/authorize?client_id=816375780442636288\u0026permissions=0\u0026scope=bot) |\n[pltr](https://discord.com/oauth2/authorize?client_id=818471352415551518\u0026permissions=0\u0026scope=bot) |\n[pypl](https://discord.com/oauth2/authorize?client_id=819395115465572352\u0026permissions=0\u0026scope=bot) |\n[sndl](https://discord.com/oauth2/authorize?client_id=819638060894388305\u0026permissions=0\u0026scope=bot) |\n[russell](https://discord.com/oauth2/authorize?client_id=819578053881102336\u0026permissions=0\u0026scope=bot) |\n[vix](https://discord.com/oauth2/authorize?client_id=819576744176386048\u0026permissions=0\u0026scope=bot) |\n[arkk](https://discord.com/oauth2/authorize?client_id=826512765580869673\u0026permissions=0\u0026scope=bot) |\n[msft](https://discord.com/oauth2/authorize?client_id=827236206575222794\u0026permissions=0\u0026scope=bot) |\n[nflx](https://discord.com/oauth2/authorize?client_id=827236295323025408\u0026permissions=0\u0026scope=bot) |\n[gme](https://discord.com/oauth2/authorize?client_id=828417475624435712\u0026permissions=0\u0026scope=bot) |\n[dis](https://discord.com/oauth2/authorize?client_id=828613902740357121\u0026permissions=0\u0026scope=bot) |\n[minisp500](https://discord.com/oauth2/authorize?client_id=831958978455535667\u0026permissions=0\u0026scope=bot) |\n[mininasdaq](https://discord.com/oauth2/authorize?client_id=833759608861622353\u0026permissions=0\u0026scope=bot) |\n[minidow](https://discord.com/oauth2/authorize?client_id=833759696783409195\u0026permissions=0\u0026scope=bot) |\n[nvda](https://discord.com/oauth2/authorize?client_id=836385897372581910\u0026permissions=0\u0026scope=bot) |\n[fb](https://discord.com/oauth2/authorize?client_id=836385990113361951\u0026permissions=0\u0026scope=bot) |\n[btc](https://discord.com/oauth2/authorize?client_id=839289136418783322\u0026permissions=0\u0026scope=bot) |\n[coin](https://discord.com/oauth2/authorize?client_id=848232686320484382\u0026permissions=0\u0026scope=bot) |\n[ndaq](https://discord.com/oauth2/authorize?client_id=851203267840966696\u0026permissions=0\u0026scope=bot) |\n[qqq](https://discord.com/oauth2/authorize?client_id=854499452840312842\u0026permissions=0\u0026scope=bot) |\n\n### Crypto\n\n[bitcoin](https://discord.com/oauth2/authorize?client_id=828417381779898368\u0026permissions=0\u0026scope=bot) |\n[ethereum](https://discord.com/oauth2/authorize?client_id=805605209522962452\u0026permissions=0\u0026scope=bot) |\n[bitcoin-cash](https://discord.com/oauth2/authorize?client_id=805604560013230170\u0026permissions=0\u0026scope=bot) |\n[dogecoin](https://discord.com/oauth2/authorize?client_id=805605888387186699\u0026permissions=0\u0026scope=bot) |\n[monero](https://discord.com/oauth2/authorize?client_id=806282848045629451\u0026permissions=0\u0026scope=bot) |\n[litecoin](https://discord.com/oauth2/authorize?client_id=806635240482668574\u0026permissions=0\u0026scope=bot) |\n[ripple](https://discord.com/oauth2/authorize?client_id=806634757168693258\u0026permissions=0\u0026scope=bot) |\n[polkadot](https://discord.com/oauth2/authorize?client_id=806633568787890217\u0026permissions=0\u0026scope=bot) |\n[cardano](https://discord.com/oauth2/authorize?client_id=807311315055542272\u0026permissions=0\u0026scope=bot) |\n[chainlink](https://discord.com/oauth2/authorize?client_id=808407486860230747\u0026permissions=0\u0026scope=bot) |\n[stellar](https://discord.com/oauth2/authorize?client_id=808409647731179534\u0026permissions=0\u0026scope=bot) |\n[iota](https://discord.com/oauth2/authorize?client_id=814170376254652486\u0026permissions=0\u0026scope=bot) |\n[reef-finance](https://discord.com/oauth2/authorize?client_id=814288538107379742\u0026permissions=0\u0026scope=bot) |\n[algorand](https://discord.com/oauth2/authorize?client_id=819274628778164265\u0026permissions=0\u0026scope=bot) |\n[tezos](https://discord.com/oauth2/authorize?client_id=811609668991975484\u0026permissions=0\u0026scope=bot) |\n[ethereum-classic](https://discord.com/oauth2/authorize?client_id=819395405980762182\u0026permissions=0\u0026scope=bot) |\n[ravencoin](https://discord.com/oauth2/authorize?client_id=819395519708921866\u0026permissions=0\u0026scope=bot) |\n[binancecoin](https://discord.com/oauth2/authorize?client_id=819395643193688124\u0026permissions=0\u0026scope=bot) |\n[ecomi](https://discord.com/oauth2/authorize?client_id=819939716228579360\u0026permissions=0\u0026scope=bot) |\n[aave](https://discord.com/oauth2/authorize?client_id=826512401502961756\u0026permissions=0\u0026scope=bot) |\n[uniswap](https://discord.com/oauth2/authorize?client_id=827985872389275658\u0026permissions=0\u0026scope=bot) |\n[bittorrent-2](https://discord.com/oauth2/authorize?client_id=827986251264819201\u0026permissions=0\u0026scope=bot) |\n[tron](https://discord.com/oauth2/authorize?client_id=828326036785463307\u0026permissions=0\u0026scope=bot) |\n[vechain](https://discord.com/oauth2/authorize?client_id=828326223306424350\u0026permissions=0\u0026scope=bot) |\n[illuvium](https://discord.com/oauth2/authorize?client_id=828417571354968104\u0026permissions=0\u0026scope=bot) |\n[cosmos](https://discord.com/oauth2/authorize?client_id=828417242570948638\u0026permissions=0\u0026scope=bot) |\n[zilliqa](https://discord.com/oauth2/authorize?client_id=828417678976745483\u0026permissions=0\u0026scope=bot) |\n[matic-network](https://discord.com/oauth2/authorize?client_id=828613785345458206\u0026permissions=0\u0026scope=bot) |\n[basic-attention-token](https://discord.com/oauth2/authorize?client_id=828613810355961898\u0026permissions=0\u0026scope=bot) |\n[shiba-inu](https://discord.com/oauth2/authorize?client_id=829119870556831816\u0026permissions=0\u0026scope=bot) |\n[pancakeswap-token](https://discord.com/oauth2/authorize?client_id=831957913819021322\u0026permissions=0\u0026scope=bot) |\n[solana](https://discord.com/oauth2/authorize?client_id=836339329084948490\u0026permissions=0\u0026scope=bot) |\n[raydium](https://discord.com/oauth2/authorize?client_id=836385816409407488\u0026permissions=0\u0026scope=bot) |\n[safemoon](https://discord.com/oauth2/authorize?client_id=837015732919074878\u0026permissions=0\u0026scope=bot) |\n[ftx-token](https://discord.com/oauth2/authorize?client_id=837015812677304380\u0026permissions=0\u0026scope=bot) |\n[enjincoin](https://discord.com/oauth2/authorize?client_id=838824692478771232\u0026permissions=0\u0026scope=bot) |\n[decentraland](https://discord.com/oauth2/authorize?client_id=840023058734776351\u0026permissions=0\u0026scope=bot) |\n[fantom](https://discord.com/oauth2/authorize?client_id=841412194578071612\u0026permissions=0\u0026scope=bot) |\n[coti](https://discord.com/oauth2/authorize?client_id=841412539854094416\u0026permissions=0\u0026scope=bot) |\n[hedera-hashgraph](https://discord.com/oauth2/authorize?client_id=841850253418430495\u0026permissions=0\u0026scope=bot) |\n[sushi](https://discord.com/oauth2/authorize?client_id=844012506670432277\u0026permissions=0\u0026scope=bot) |\n[kusama](https://discord.com/oauth2/authorize?client_id=844934710597779456\u0026permissions=0\u0026scope=bot) |\n[eos](https://discord.com/oauth2/authorize?client_id=844934770314969109\u0026permissions=0\u0026scope=bot) |\n[terra-luna](https://discord.com/oauth2/authorize?client_id=849375907856384020\u0026permissions=0\u0026scope=bot) |\n[chia](https://discord.com/oauth2/authorize?client_id=851203175200456704\u0026permissions=0\u0026scope=bot) |\n[theta-token](https://discord.com/oauth2/authorize?client_id=852238599163871286\u0026permissions=0\u0026scope=bot) |\n[tether](https://discord.com/oauth2/authorize?client_id=857358033709301792\u0026permissions=0\u0026scope=bot) |\n[smooth-love-potion](https://discord.com/oauth2/authorize?client_id=859148505469943860\u0026permissions=0\u0026scope=bot) |\n[axie-infinity](https://discord.com/oauth2/authorize?client_id=859932709262589992\u0026permissions=0\u0026scope=bot) |\n[harmony](https://discord.com/oauth2/authorize?client_id=862731942193791015\u0026permissions=0\u0026scope=bot) |\n[cryptoblades](https://discord.com/oauth2/authorize?client_id=867745267327041556\u0026permissions=0\u0026scope=bot) |\n[my-defi-pet](https://discord.com/oauth2/authorize?client_id=869247729132515418\u0026permissions=0\u0026scope=bot) |\n[mist](https://discord.com/oauth2/authorize?client_id=869998726628925480\u0026permissions=0\u0026scope=bot) |\n[weth](https://discord.com/oauth2/authorize?client_id=871068140623257610\u0026permissions=0\u0026scope=bot) |\n[plant-vs-undead-token](https://discord.com/oauth2/authorize?client_id=871812819266461807\u0026permissions=0\u0026scope=bot) |\n[cryptozoon](https://discord.com/oauth2/authorize?client_id=873191092659572797\u0026permissions=0\u0026scope=bot) |\n[binance-usd](https://discord.com/oauth2/authorize?client_id=873191153825095720\u0026permissions=0\u0026scope=bot) |\n[splinterlands](https://discord.com/oauth2/authorize?client_id=874299210076393503\u0026permissions=0\u0026scope=bot) |\n[wax](https://discord.com/oauth2/authorize?client_id=875432263184187393\u0026permissions=0\u0026scope=bot) |\n[coinary-token](https://discord.com/oauth2/authorize?client_id=877903037564346398\u0026permissions=0\u0026scope=bot) |\n[avalanche-2](https://discord.com/oauth2/authorize?client_id=877903202211754094\u0026permissions=0\u0026scope=bot) |\n[cryptocars](https://discord.com/oauth2/authorize?client_id=879447174210011146\u0026permissions=0\u0026scope=bot) |\n[binamon](https://discord.com/oauth2/authorize?client_id=880628836679680000\u0026permissions=0\u0026scope=bot) |\n[wanaka-farm](https://discord.com/oauth2/authorize?client_id=882420667725795438\u0026permissions=0\u0026scope=bot) |\n\n### Gas Prices\n\n[![Ethereum Invite Link](https://user-images.githubusercontent.com/7338312/127579033-8785ed17-2bcc-474c-80d4-8ea356da70e6.png)](https://discord.com/api/oauth2/authorize?client_id=833797002684661821\u0026permissions=0\u0026scope=bot)[![Binance Smart Chain Invite Link](https://user-images.githubusercontent.com/7338312/127578976-d47069cb-c162-4ab5-ad73-be17b2c1796d.png)](https://discord.com/api/oauth2/authorize?client_id=856947934452645898\u0026permissions=0\u0026scope=bot)[![Polygon Invite Link](https://user-images.githubusercontent.com/7338312/127578967-a7097067-9b0a-44d2-baf6-e3541a511c70.png)](https://discord.com/api/oauth2/authorize?client_id=857023179210096674\u0026permissions=0\u0026scope=bot)\n\n## Premium\n\nIf you are interested in a ticker that isnt on this list, you can host your own using the code here or pay to have them made for you.\n\nPrice per bot (paid monthly): $1\n\nPrice per bot (paid yearly):  $10\n\nIf you are interested please see the [contact info on my github page](https://github.com/rssnyder) and send me a messgae via your platform of choice (discord perferred). For a live demo, join the support discord linked at the top or bottom of this page.\n\n## Self-Hosting\n\n[Click here](https://youtu.be/LhgCdtE8kmc) to watch a quick video tutorial on how to self-host these bots on linux. There is also an in depth written format [gist here](https://gist.github.com/rssnyder/55eb4e0b18cca399592a557e95b5547b). If you are familar with ansible, I have a [playbook here](https://github.com/rssnyder/isengard/blob/master/playbooks/discord-stock-ticker.yml).\n\nPull down the latest release for your OS [here](https://github.com/rssnyder/discord-stock-ticker/releases). Extract. Run.\n\n```shell\nwget https://github.com/rssnyder/discord-stock-ticker/releases/download/v2.0.0/discord-stock-ticker-v3.3.0-linux-amd64.tar.gz\n\ntar zxf discord-stock-ticker-v3.3.0-linux-amd64.tar.gz\n\n./discord-stock-ticker\n```\n\n### Setting options\n\nThere are options you can set for the service using flags:\n\n```shell\n  -address=\"localhost:8080\": address:port to bind http server to.\n  -cache=false: enable cache for coingecko\n  -db=\"\": file to store tickers in\n  -frequency=0: set frequency for all tickers\n  -logLevel=0: defines the log level. 0=production builds. 1=dev builds.\n  -redisAddress=\"localhost:6379\": address:port for redis server.\n  -redisDB=0: redis db to use\n  -redisPassword=\"\": redis password\n```\n\n### Systemd (linux)\n\nThe script here (ran as root) will download and install a `discord-stock-ticker` service on your linux machine with an API avalible on port `8080` to manage bots.\n\n```shell\nwget https://github.com/rssnyder/discord-stock-ticker/releases/download/v3.3.0/discord-stock-ticker-v3.3.0-linux-amd64.tar.gz\n\ntar zxf discord-stock-ticker-v3.3.0-linux-amd64.tar.gz\n\nmkdir -p /etc/discord-stock-ticker\n\nmv discord-stock-ticker /etc/discord-stock-ticker/\n\nwget https://raw.githubusercontent.com/rssnyder/discord-stock-ticker/master/discord-stock-ticker.service\n\nmv discord-stock-ticker.service /etc/systemd/system/\n\nsystemctl daemon-reload\n\nsystemctl start discord-stock-ticker.service\n```\n\nIf you need to make modifications to the setting of the service, just edit the `/etc/systemd/system/discord-stock-ticker.service` file on the line with `ExecStart=`. An example walkthrough can be found in [this issue](https://github.com/rssnyder/discord-stock-ticker/issues/137). Be sure to run `systemctl daemon-reload` to pick up and changes.\n\nNow that you have the service running, you can add bots using the API exposed on the addres and port that the service runs on (this address is shown when you start the service).\n\n## Managing bots\n\nAll bots are controlled via an API interface and follow the same api template for management:\n\nAvailable methods:\n  \n```text\nGET     # show all currently running bots and their configuration\nPOST    # create a new bot\nPATCH   # restart a running bot\nDELETE  # delete a running bot\n```\n\nIf you are new to using an API to manage things, there are several ways to make API calls:\n\n1) Curl. This is a command available on virtually all Linux distros. Replace anything between \u003c and \u003e with the appropriate information.\n\nThe generic format for a curl API call:\n\n```shell\ncurl -X \u003cmethod\u003e -H \"Content-type: application/json\" -d \u003cinline json or from file\u003e \u003chostname\u003e:\u003cport\u003e/\u003cbot type\u003e\n```\n\nGET is the default method for curl, so you may omit the method. Also since you're just retrieving your bots, you can omit the -d flag as well.\n\nGet a listing of all your bots:\n\n```shell\ncurl localhost:8080/\u003cbot type\u003e\n```\n\nCreate a new bot:\n(In this example, the bot configuration is located in a file 'btc.json', in the folder bots/crypo)\n\n```shell\ncurl -X POST -H \"Content-type: application/json\" -d @bots/crypto/btc.json localhost:8080/ticker\n```\n\nInstructions for restarting running bots and deleting bots are forthcoming.\n\n2) Powershell:\n  \n```shell\n$Body = @{\n  name = \"bitcoin\"\n  crypto = $true\n  discord_bot_token = \"xxxxxxxxxxxxxxxxxxxxxxxxx\"\n}\n \n$Parameters = @{\n    Method = \"POST\"\n    Uri =  \"127.0.0.1:8080/ticker\"\n    Body = ($Body | ConvertTo-Json) \n    ContentType = \"application/json\"\n}\n\nInvoke-RestMethod @Parameters\n```\n\n3) [postman](https://www.postman.com/)\n\n## Stock and Crypto Price Tickers\n\nbot type: `ticker`\n\nTracks stock or crypto prices. Uses Yahoo for stock or CoinGecko for crypto.\n\n### Bot Configuration (stock)\n\n```json\n{\n  \"ticker\": \"pfg\",                                  # string: symbol for the stock from yahoo finance\n  \"name\": \"2) PFG\",                                 # string/OPTIONAL: overwrites display name of bot\n  \"color\": true,                                    # bool/OPTIONAL: requires nickname\n  \"decorator\": \"@\",                                 # string/OPTIONAL: what to show instead of arrows. Set to \" \" to disable arrows.\n  \"currency\": \"aud\",                                # string/OPTIONAL: alternative curreny\n  \"activity\": \"Hello;Its;Me\",                       # string/OPTIONAL: list of strings to show in activity section\n  \"nickname\": true,                                 # bool/OPTIONAL: display information in nickname vs activity\n  \"frequency\": 10,                                  # int/OPTIONAL: seconds between refresh\n  \"twelve_data_key\": \"xxx\",                         # string/OPTIONAL: use twelve data as source, pass in api key\n  \"discord_bot_token\": \"xxxxxxxxxxxxxxxxxxxxxxxx\"   # string: dicord bot token\n}\n```\n\n### Bot Configuration (crypto)\n\n```json\n{\n  \"name\": \"bitcoin\",                                # string: name of the crypto from coingecko\n  \"crypto\": true,                                   # bool: always true for crypto\n  \"ticker\": \"1) BTC\",                               # string/OPTIONAL: overwrites display name of bot\n  \"color\": true,                                    # bool/OPTIONAL: requires nickname\n  \"decorator\": \"@\",                                 # string/OPTIONAL: what to show instead of arrows\n  \"currency\": \"aud\",                                # string/OPTIONAL: alternative curreny\n  \"currency_symbol\": \"AUD\",                         # string/OPTIONAL: alternative curreny symbol\n  \"pair\": \"binancecoin\",                            # string/OPTIONAL: pair the coin with another coin, replaces activity section\n  \"pair_flip\": true,                                # bool/OPTIONAL: show \u003cpair\u003e/\u003ccoin\u003e rather than \u003ccoin\u003e/\u003cpair\u003e\n  \"activity\": \"Hello;Its;Me\",                       # string/OPTIONAL: list of strings to show in activity section\n  \"decimals\": 3,                                    # int/OPTIONAL: set number of decimal places\n  \"nickname\": true,                                 # bool/OPTIONAL: display information in nickname vs activity\n  \"frequency\": 10,                                  # int/OPTIONAL: seconds between refresh\n  \"discord_bot_token\": \"xxxxxxxxxxxxxxxxxxxxxxxx\"   # string: dicord bot token\n}\n```\n\n## Stock and Crypto Price Tickerboards\n\nbot type: `tickerboard`\n\nTracks multiple stock or crypto prices. Uses Yahoo for stock or CoinGecko for crypto.\n\n### Bot Configuration (stock)\n\n```json\n{\n  \"name\": \"Stocks\",                                 # string: name of your board\n  \"items\": [\"PFG\", \"GME\", \"AMC\"],                   # list of strings: symbols from yahoo finance to rotate through\n  \"header\": \"1. \",                                  # string/OPTIONAL: adds a header to the nickname to help sort bots\n  \"color\": true,                                    # bool/OPTIONAL: requires nickname\n  \"arrows\": true,                                   # bool/OPTIONAL: show arrows in ticker names\n  \"nickname\": true,                                 # bool/OPTIONAL: display information in nickname vs activity\n  \"frequency\": 10,                                  # int/OPTIONAL: seconds between refresh\n  \"discord_bot_token\": \"xxxxxxxxxxxxxxxxxxxxxxxx\"   # string: dicord bot token\n}\n```\n\n### Bot Configuration (crypto)\n\n```json\n{\n  \"name\": \"Cryptos\",                                # string: name of your board\n  \"crypto\": true,                                   # bool: always true for crypto\n  \"items\": [\"bitcoin\", \"ethereum\", \"dogecoin\"],     # list of strings: names from coingecko to rotate through\n  \"header\": \"2. \",                                  # string/OPTIONAL: adds a header to the nickname to help sort bots\n  \"color\": true,                                    # bool/OPTIONAL: requires nickname\n  \"arrows\": true,                                   # bool/OPTIONAL: show arrows in ticker names\n  \"nickname\": true,                                 # bool/OPTIONAL: display information in nickname vs activity\n  \"frequency\": 10,                                  # int/OPTIONAL: seconds between refresh\n  \"discord_bot_token\": \"xxxxxxxxxxxxxxxxxxxxxxxx\"   # string: dicord bot token\n}\n```\n\n## Crypto Market Cap\n\nbot type: `marketcap`\n\nTracks the marketcap of a coin. Uses CoinGecko for data.\n\n### Bot Configuration\n\n```json\n{\n  \"name\": \"bitcoin\",                                # string: name of the crypto from coingecko\n  \"ticker\": \"1) BTC\",                               # string/OPTIONAL: overwrites display name of bot\n  \"color\": true,                                    # bool/OPTIONAL: requires nickname\n  \"decorator\": \"@\",                                 # string/OPTIONAL: what to show instead of arrows. Set to \" \" to disable arrows.\n  \"currency\": \"aud\",                                # string/OPTIONAL: alternative curreny\n  \"currency_symbol\": \"AUD\",                         # string/OPTIONAL: alternative curreny symbol\n  \"activity\": \"Hello;Its;Me\",                       # string/OPTIONAL: list of strings to show in activity section\n  \"decimals\": 3,                                    # int/OPTIONAL: set number of decimal places\n  \"nickname\": true,                                 # bool/OPTIONAL: display information in nickname vs activity\n  \"frequency\": 10,                                  # int/OPTIONAL: seconds between refresh\n  \"discord_bot_token\": \"xxxxxxxxxxxxxxxxxxxxxxxx\"   # string: dicord bot token\n}\n```\n\n## Crypto Circulating Supply\n\nbot type: `circulating`\n\nTracks the circulating supply of a coin. Uses CoinGecko for data.\n\n### Bot Configuration\n\n```json\n{\n  \"name\": \"bitcoin\",                                # string: name of the crypto from coingecko\n  \"ticker\": \"1) BTC\",                               # string/OPTIONAL: overwrites display name of bot\n  \"currency_symbol\": \"BITCOIN\",                     # string/OPTIONAL: alternative curreny symbol\n  \"activity\": \"Hello;Its;Me\",                       # string/OPTIONAL: list of strings to show in activity section\n  \"decimals\": 3,                                    # int/OPTIONAL: set number of decimal places\n  \"nickname\": true,                                 # bool/OPTIONAL: display information in nickname vs activity\n  \"frequency\": 10,                                  # int/OPTIONAL: seconds between refresh\n  \"discord_bot_token\": \"xxxxxxxxxxxxxxxxxxxxxxxx\"   # string: dicord bot token\n}\n```\n\n## Crypto Total Value Locked\n\nbot type: `valuelocked`\n\nTracks the total value locked of a coin. Uses CoinGecko for data.\n\n### Bot Configuration\n\n```json\n{\n  \"name\": \"bitcoin\",                                # string: name of the crypto from coingecko\n  \"ticker\": \"1) BTC\",                               # string/OPTIONAL: overwrites display name of bot\n  \"currency\": \"aud\",                                # string/OPTIONAL: alternative curreny\n  \"currency_symbol\": \"AUD\",                         # string/OPTIONAL: alternative curreny symbol\n  \"activity\": \"Hello;Its;Me\",                       # string/OPTIONAL: list of strings to show in activity section\n  \"decimals\": 3,                                    # int/OPTIONAL: set number of decimal places\n  \"nickname\": true,                                 # bool/OPTIONAL: display information in nickname vs activity\n  \"frequency\": 10,                                  # int/OPTIONAL: seconds between refresh\n  \"discord_bot_token\": \"xxxxxxxxxxxxxxxxxxxxxxxx\"   # string: dicord bot token\n}\n```\n\n## Gas Prices\n\nbot type: `gas`\n\n![image](https://user-images.githubusercontent.com/7338312/127577601-43500287-1cf4-47ee-9f21-67c22f606850.png)\n\nTrack the gas price on:\n- Ethereum\n- Binance\n- Polygon\n- ..and many more\n\nUses [Zapper](https://api.zapper.fi/api/static/index.html#/Miscellaneous%20Data%20Endpoints/GasPriceController_getGasPrice) for data. For now always uses the eip1559 chains.\n\n### Bot Configuration\n\n```json\n{\n  \"network\": \"ethereum\",                            # string: one of: ethereum, binance-smart-chain, or polygon\n  \"nickname\": true,                                 # bool/OPTIONAL: display information in nickname vs activity\n  \"frequency\": 10,                                  # int/OPTIONAL: seconds between refresh\n  \"discord_bot_token\": \"xxxxxxxxxxxxxxxxxxxxxxxx\"   # string: dicord bot token\n}\n```\n\n## Ethereum, BSC, or Polygon Token Holders\n\nbot type: `holders`\n\n![HOLDERS](https://user-images.githubusercontent.com/7338312/126001392-dfb72cc1-d526-40e8-9982-077bb22fc44c.png)\n\nTrack the number of token holders on Ethereum or Binance chains. Uses etherscan or bscscan for data.\n\n### Bot Configuration\n\n```json\n{\n  \"network\": \"ethereum\",                            # string: one of: ethereum, binance-smart-chain, or polygon\n  \"address\": \"0x00000000000000000000000000\",        # string: address of contract for token\n  \"activity\": \"ethereum\",                           # string: text to show in activity section of the bot\n  \"nickname\": true,                                 # bool/OPTIONAL: display information in nickname vs activity\n  \"frequency\": 10,                                  # int/OPTIONAL: seconds between refresh\n  \"discord_bot_token\": \"xxxxxxxxxxxxxxxxxxxxxxxx\"   # string: dicord bot token\n}\n```\n\n## ETH/BSC/MATIC Token Price\n\nbot type: `token`\n\nTrack the price of a token on Ethereum, Binance, or Polygon chains. Uses 1inch by default, or pancakeswap/dexlab if specified.\n\n### Bot Configuration\n\n```json\n{\n  \"network\": \"ethereum\",                            # string: network of token, options are ethereum, binance-smart-chain, or polygon\n  \"name\": \"my token\",                               # string: display name of token\n  \"contract\": \"0x00000\",                            # string: contract address of token\n  \"currency\": \"0x00000\",                            # string/OPTIONAL: contract address of token to price against, default is USDC\n  \"nickname\": true,                                 # bool/OPTIONAL: display information in nickname vs activity\n  \"color\": true,                                    # bool/OPTIONAL: requires nickname\n  \"decorator\": \"@\",                                 # string/OPTIONAL: what to show instead of arrows. Set to \" \" to disable arrows.\n  \"activity\": \"Hello;Its;Me\",                       # string/OPTIONAL: list of strings to show in activity section\n  \"source\": \"pancakeswap\",                          # string/OPTIONAL: if the token is a BSC token, you can set pancakeswap here to use it vs 1inch; you can also set dexlab for solana tokens\n  \"frequency\": 10,                                  # int/OPTIONAL: seconds between refresh\n  \"discord_bot_token\": \"xxxxxxxxxxxxxxxxxxxxxxxx\"   # string: dicord bot token\n}\n```\n\n## OpenSea/Solanart NFT Collection Floor Price\n\nbot type: `floor`\n\n![image](https://user-images.githubusercontent.com/7338312/148694081-9e90f75d-dcef-4a68-b98a-11c37b2b616a.png)\n\nTrack the floor price of an NFT collection on OpenSea, Solanart, Solsea or MagicEden\n\n### Bot Configuration\n\n```json\n{\n  \"marketplace\": \"opensea\",                         # string: one of: opensea, solanart, solsea or magiceden\n  \"name\": \"ethereum\",                               # string: collection name/id from source\n  \"color\": true,                                    # bool/OPTIONAL: requires nickname\n  \"decorator\": \"@\",                                 # string/OPTIONAL: what to show instead of arrows. Set to \" \" to disable arrows.\n  \"currency\": \"MATIC\",                              # string/OPTIONAL: alternative curreny\n  \"nickname\": true,                                 # bool/OPTIONAL: display information in nickname vs activity\n  \"activity\": \"Hello;Its;Me\",                       # string/OPTIONAL: list of strings to show in activity section\n  \"frequency\": 10,                                  # int/OPTIONAL: seconds between refresh\n  \"discord_bot_token\": \"xxxxxxxxxxxxxxxxxxxxxxxx\"   # string: dicord bot token\n}\n```\n\n## Roles for colors\n\nTo enable color changing you will need to create three roles.\n\nThe first role is the role the tickers will appear under. It can be named _anything you want_. You need to check the **Display role members seperatly from other online members** option for this role, but _do not_ assign a custom color for this role, leave it default.\n\nThen you need to make two other roles. These roles need to be named _exactly_ **tickers-red** \u0026 **tickers-green**. **Do not** check the Display role members seperatly from other online members option for these roles, but do assign colors to these roles, red and green (or whatever color you want to represent gain/loss) respectively.\n\nThe last two roles tickers-green and tickers-red need to be below the first role in the role list in your server settings. You should then add all your ticker bots to the first role.\n\n![roles example](https://user-images.githubusercontent.com/7338312/131678207-b1510955-f762-46e3-ae5c-1b5eddb68844.jpg)\n\n## Kubernetes\n\nThanks to @jr0dd there is a helm chart for deploying to k8s clusters. His chart can be found [here](https://github.com/jr0dd/charts/tree/master/discord-stock-ticker)\n\nYou can also use a simple deployment file:\n\n```yaml\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n  creationTimestamp: null\n  labels:\n    environment: public\n  name: ticker-cardano\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      environment: public\n  strategy: {}\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        environment: public\n    spec:\n      containers:\n        - env:\n            - name: CRYPTO_NAME\n              value: cardano\n            - name: DISCORD_BOT_TOKEN\n              value: xxxxxxxxxxxxxxxxxxxxxx\n            - name: FREQUENCY\n              value: \"1\"\n            - name: SET_COLOR\n              value: \"1\"\n            - name: SET_NICKNAME\n              value: \"1\"\n            - name: TICKER\n              value: ADA\n            - name: TZ\n              value: America/Chicago\n          image: ghcr.io/rssnyder/discord-stock-ticker:1.8.1\n          name: ticker-cardano\n          resources: {}\n      restartPolicy: Always\nstatus: {}\n```\n\n## Louie\n\nSince you have read this far, here is a picture of Louie at his favorite park:\n\n![PXL_20210424_185951005 PORTRAIT](https://user-images.githubusercontent.com/7338312/129428365-38d1c7c5-547e-48d4-8702-44f35541eac5.jpg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frssnyder%2Fdiscord-stock-ticker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frssnyder%2Fdiscord-stock-ticker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frssnyder%2Fdiscord-stock-ticker/lists"}