{"id":24015102,"url":"https://github.com/jackmoore7/fortnite-bot","last_synced_at":"2025-04-15T11:45:12.718Z","repository":{"id":160287229,"uuid":"567664052","full_name":"jackmoore7/fortnite-bot","owner":"jackmoore7","description":"A Discord bot to perform Fortnite-related commands, as well as a few personal features.","archived":false,"fork":false,"pushed_at":"2025-02-21T08:42:55.000Z","size":3754,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-28T19:39:17.328Z","etag":null,"topics":["api","coles","epicgames","fortnite","gcloud","gcloud-vision","lego","lego-api"],"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/jackmoore7.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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-11-18T09:38:14.000Z","updated_at":"2025-02-21T08:42:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"be6ada9d-c32d-47c7-96f9-8984046b7548","html_url":"https://github.com/jackmoore7/fortnite-bot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackmoore7%2Ffortnite-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackmoore7%2Ffortnite-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackmoore7%2Ffortnite-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackmoore7%2Ffortnite-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jackmoore7","download_url":"https://codeload.github.com/jackmoore7/fortnite-bot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249065048,"owners_count":21207220,"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":["api","coles","epicgames","fortnite","gcloud","gcloud-vision","lego","lego-api"],"created_at":"2025-01-08T07:41:01.233Z","updated_at":"2025-04-15T11:45:12.671Z","avatar_url":"https://github.com/jackmoore7.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Python 3.9.2](https://img.shields.io/badge/python-3.9.2-blue.svg)](https://www.python.org/downloads/release/python-392/)\n\nA bot I made for my friends and I. Feel free to message me if you have questions :)\n\n# Important info\nThis has kind of turned into an amalgamation of a bunch of different projects into one repo, so cloning this repo will almost certainly not be beneficial for you. \nIf you find a feature you might find helpful, feel free to copy that part of code and add it to your own implementation.\n\n# Features\n\n## Fortnite\n\n### Updates\nAn internal task that checks the current version of the Fortnite manifest, and is configured to post in a specific channel when there's an update. \nA **launcherAppClient2** token is needed for this function. Fortunately, the credentials you need to generate it is the same for everyone. You can grab them from [MixV2's Epic Research repo](https://github.com/MixV2/EpicResearch/blob/master/docs/auth/auth_clients.md).\n\n### Server status\nAn internal task that checks the current status of Fortnite via Epic's Lightswitch service, configured to post in a specific channel when the status changes.\nA **fortnitePCGameClient** token is needed for this function. Again, you can get this from [MixV2's Epic Research repo](https://github.com/MixV2/EpicResearch/blob/master/docs/auth/auth_clients.md).\n\n### Daily shop\nAn internal task that checks whether there are new items in the shop every 5 minutes. It only posts items that weren't in the shop yesterday. \nI used [FortniteAPI.io](https://fortniteapi.io)'s API for this feature. \n\n### Shop offers\nAn internal task that checks whether there are new offers ($) in the shop every 30 minutes. \nPosts the name, price, expiration date and image. Fortunately, this doesn't require any authentication. \n\n## Automatic Windscribe ephemeral port forwarding\nUnfortunately Windscribe doesn't offer a public API to add/change an ephemeral peer port for your account so I had to use **Selenium** (stop crying it'll be okay).\nIt works by getting a new ephemeral peer port, using Transmission's RPC to change the client's peer port, and using **subprocess** to send a reboot command to a Docker container running Transmission (so the new port takes effect).\nVery hacky but it works :)\n\n## Sun protection\n![NVIDIA_Share_gy3j9SL3QM](https://github.com/jackmoore7/fortnite-bot/assets/53585628/09e97b68-c0df-4e8b-b0f9-948a6da5e36a)\n\nPosts the UV forecast and protection window in the morning, and updates every minute throughout the day. Includes a ping if the forecast was incorrect.\nUses data from [ARPANSA](https://www.arpansa.gov.au/).\n\n## Coles\n![image](https://github.com/jackmoore7/fortnite-bot/assets/53585628/9094d1fa-df53-4092-9790-ff84c72478b1)\n\nThis is also its own repo, but this one will almost certainly be more up to date. The plan is to make this a web app one day.\n\n### Product tracking\nGet updates when a product you're tracking changes. This can include price, promotional status, and availability. \n\n### Search\nSearch for an item. Uses a Discord embed with pagination.\n\n## Lego\n![Discord_UO0FnT8ldL](https://github.com/jackmoore7/fortnite-bot/assets/53585628/b2ebce6c-57d2-4a40-a328-cef73df12976)\n\nMostly just made this for a friend who likes Lego and wanted to be the first to know when an out of stock item would be available again. Plus, I wanted to see if I could tackle the absolute mess of GraphQL they use (it's so scary).\n\n### Product tracking\nGet updates when a product you're tracking changes. This can include price, promotional status, and availability.\n\n### Search\nSearch for an item. Uses a Discord embed with pagination. Doesn't work very well because the way Lego's search function works is absolutely wack.\n\n## Miscellaneous\n\n### Train Game\nFind all solutions to the 'train game'. Given a four digit number (0000-9999), get to the number 10 using addition, subtraction, multiplication, division, and exponentiation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjackmoore7%2Ffortnite-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjackmoore7%2Ffortnite-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjackmoore7%2Ffortnite-bot/lists"}