{"id":20661620,"url":"https://github.com/falyrion/loot-bot","last_synced_at":"2025-10-09T23:38:30.834Z","repository":{"id":49686796,"uuid":"517811764","full_name":"Falyrion/Loot-Bot","owner":"Falyrion","description":"A discord bot to check for available content on Twitch Prime Gaming and posting it in the discord chat","archived":false,"fork":false,"pushed_at":"2024-08-04T14:39:23.000Z","size":294,"stargazers_count":14,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-29T11:36:31.951Z","etag":null,"topics":["discord","discord-bot","drops","loot","prime-gaming","twitch","twitch-tv"],"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/Falyrion.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":"2022-07-25T20:30:29.000Z","updated_at":"2024-11-23T22:09:48.000Z","dependencies_parsed_at":"2025-04-19T15:50:01.592Z","dependency_job_id":"a4718927-eccd-4bb8-a89b-dde003b5bc9e","html_url":"https://github.com/Falyrion/Loot-Bot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Falyrion/Loot-Bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Falyrion%2FLoot-Bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Falyrion%2FLoot-Bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Falyrion%2FLoot-Bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Falyrion%2FLoot-Bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Falyrion","download_url":"https://codeload.github.com/Falyrion/Loot-Bot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Falyrion%2FLoot-Bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002312,"owners_count":26083340,"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-09T02:00:07.460Z","response_time":59,"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":["discord","discord-bot","drops","loot","prime-gaming","twitch","twitch-tv"],"created_at":"2024-11-16T19:10:34.453Z","updated_at":"2025-10-09T23:38:30.818Z","avatar_url":"https://github.com/Falyrion.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Loot Bot - Discord Bot for free content on Twitch Prime Gaming and Epic Games\n\n\u003cp\u003e\n    \u003c!-- Python ---\u003e\n    \u003ca href=\"https://www.python.org\" target=\"_blank\" rel=\"noreferrer\"\u003e \u003cimg src=\"https://img.shields.io/badge/Python-14354C?style=for-the-badge\u0026logo=python\u0026logoColor=white\" alt=\"python\"/\u003e\u003c/a\u003e\n    \u003c!-- Discord --\u003e\n    \u003ca href=\"https://discord.com/\" target=\"_blank\" rel=\"noreferrer\"\u003e \u003cimg src=\"https://img.shields.io/badge/Discord-36393e?style=for-the-badge\u0026logo=discord\u0026logoColor=white\" alt=\"discord\"/\u003e\u003c/a\u003e\n    \u003c!-- Twitch Prime --\u003e\n    \u003ca href=\"https://gaming.amazon.com/home\" target=\"_blank\" rel=\"noreferrer\"\u003e \u003cimg src=\"https://img.shields.io/badge/Twitch_Prime-9146FF?style=for-the-badge\u0026logo=twitch\u0026logoColor=white\" alt=\"twitch prime\"/\u003e\u003c/a\u003e\n    \u003c!-- Docker --\u003e\n    \u003ca href=\"https://www.docker.com/\" target=\"_blank\" rel=\"noreferrer\"\u003e \u003cimg src=\"https://img.shields.io/badge/Docker-0db7ed?style=for-the-badge\u0026logo=docker\u0026logoColor=white\" alt=\"docker\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nA discord bot to check for available content on Twitch Prime Gaming and Epic Games Store and posting it in the discord \nchat.\n\n\u003e ❗ **Disclaimer: Maintenance of this project is currently on halt. Many web scraping methods might no longer work due to changes in the target websites. Furthermore, discord.py is no longer maintained by its developers, therefor a rewrite of this project using pycord would be necessary.**\n\n### Contents\n- [Setup (for non-technical users)](#setup)\n  - [Step 1: Setting up a discord bot](#setup1)\n  - [Step 2: Running the bot](#setup2)\n  - [Step 3: How to use commands in discord chat](#setup3)\n- [Screenshots](#screenshots)\n- [Technical Design](#design)\n\n\u003ca name=\"setup\"\u003e\u003c/a\u003e\n# Setup (for non-technical users)\n\u003ca name=\"setup1\"\u003e\u003c/a\u003e\n### Step 1: Setting up a discord bot\nYou need to set up a discord bot:\n1. Navigate to https://discord.com/developers/applications and create a new application. You can choose whatever name \nfits your need.\n2. In your new application, navigate to the section `Bot` and create a bot. You can choose whatever name fits your need. This\nname will be the default display name of the bot on your discord server.\n3. In your bots settings you will find the `token`. Save it for later steps. This token is important. Keep it always a \nsecret!\n4. In your application in the section `OAuth2` you will find your `client ID`. With that ID you can invite your new bot to \nyour discord server. To do so, navigate to `discordapp.com/oauth2/authorize?client_id=XXXXXXX\u0026scope=bot` but replace \nthe \"XXXXXXX\" with your client ID.\n5. After inviting the bot, he will appear in the user list of your server. Yet he will be marked as \"offline\" but that\nwill change as soon as you finished the setup and the bot should be running.\n\n\u003ca name=\"setup2\"\u003e\u003c/a\u003e\n### Step 2: Running the bot\nTo run this bot, it is advised to use Docker. Docker is a way to run programs in a standardized container that works on\nany platform. \n\nDownload [Docker](https://www.docker.com/) for your system and start it\n\nDownload this repository. For the bot to work, you have to write your bot's token into the config file. The config file \nis located at [bot/ressources/config.yml](bot/ressources/config.yml).\nIn the section `token`, replace the \"O\" with your token.\n\nAll other parts of the config are optional for you to configure or keep the default settings. However, one important part\nto look out for is the section `games_to_inlcude`. Only games listed here will be displayed by the bot in the discord chat.\n\nOpen a terminal and navigate into the downloaded directory. Issue the following commands to build and start the docker\ncontainer:\n\n```bash\n# Build docker image\ndocker build -t twitch_prime_bot .\n\n# Run docker image as container\ndocker run -it twitch_prime_bot\n```\n\nAfter starting the container you are finished with the setup.\n\n#### Run without Docker\nIt is recommended to run this bot in a Docker Container. However, it is also possible to run it without. For that you\nneed to Download Google Chrome to your system and run the bot.\n\n\u003ca name=\"setup3\"\u003e\u003c/a\u003e\n### Step 3: How to use commands in discord chat\nIn the discord chat, you can use the commands listed below. All these commands can be changed to any other phrase you like\nin the config file.\n\nMake sure the bot has access to the channel you are using. If the bot appears in the user list of that channel, everything\nshould be set up correctly.\n\n| Command         | Description                                                                                                          |\n|-----------------|----------------------------------------------------------------------------------------------------------------------|\n| `!twitch`       | Displays current content from the prime gaming website. If available, stored data will be used (max 24h old).        |\n| `!twitch fetch` | Displays current content from the prime gaming website. Always tries to fetch new data. This might take longer.      |\n| `!epic`         | Displays current content from the epic games store website. If available, stored data will be used (max 24h old).    |\n| `!epic fetch`   | Displays current content from the epic games store website. Always tries to fetch new data. This might take longer.  |\n\n\u003ca name=\"screenshots\"\u003e\u003c/a\u003e\n# Screenshots\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"images/bot_post_example.png\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003ci\u003eExample message\u003c/i\u003e\n\u003c/p\u003e\n\n\u003ca name=\"design\"\u003e\u003c/a\u003e\n# Technical Design\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"images/etl_pipeline.png\" alt=\"icon\"/\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003ci\u003eDiagram of dataflow from website to Discord chat\u003c/i\u003e\n\u003c/p\u003e\n\nThe core of this bot is the functionality to gather data from Amazon Prime Gaming. Since there is no API for this purpose,\nthis bot fetches the HTML code from the Prime Gaming Website and extracts all relevant data from it. This is mainly done \nby using [Selenium](https://www.selenium.dev/) and [BeautifulSoup](https://beautiful-soup-4.readthedocs.io/en/latest/).\n\nSince fetching new data takes some time, data will be stored locally in a JSON file. New data will first be fetched after\n24 hours have passed. This is especially useful when a lot of users use the bot at the same time.\n\nThis is wrapped in a discord bot built using the [Discord Python API](https://discordpy.readthedocs.io/en/stable/index.html). The \ndiscord bot then runs in a Docker container.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffalyrion%2Floot-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffalyrion%2Floot-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffalyrion%2Floot-bot/lists"}