{"id":20136905,"url":"https://github.com/ath31st/steam_news_bot","last_synced_at":"2025-04-09T17:43:46.193Z","repository":{"id":48915012,"uuid":"517083973","full_name":"ath31st/steam_news_bot","owner":"ath31st","description":"A bot for news about your Steam games. Stay up to date with the latest patches, DLC releases, and game events!","archived":false,"fork":false,"pushed_at":"2025-04-09T08:34:20.000Z","size":2339,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-09T09:32:25.051Z","etag":null,"topics":["exposed","gradle-kotlin-dsl","ktgbotapi","ktor","multilanguage","sqlite3","steam","telegram","telegram-bot"],"latest_commit_sha":null,"homepage":"https://t.me/steam_newsy_bot","language":"Kotlin","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/ath31st.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}},"created_at":"2022-07-23T14:45:45.000Z","updated_at":"2025-04-09T08:34:24.000Z","dependencies_parsed_at":"2025-03-05T15:20:41.156Z","dependency_job_id":"a0dc3c63-a1d4-40d2-8eea-5aef376cb891","html_url":"https://github.com/ath31st/steam_news_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/ath31st%2Fsteam_news_bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ath31st%2Fsteam_news_bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ath31st%2Fsteam_news_bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ath31st%2Fsteam_news_bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ath31st","download_url":"https://codeload.github.com/ath31st/steam_news_bot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248080131,"owners_count":21044440,"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":["exposed","gradle-kotlin-dsl","ktgbotapi","ktor","multilanguage","sqlite3","steam","telegram","telegram-bot"],"created_at":"2024-11-13T21:23:31.911Z","updated_at":"2025-04-09T17:43:46.183Z","avatar_url":"https://github.com/ath31st.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Steam news bot\n\n![Kotlin](https://img.shields.io/badge/kotlin-%237F52FF.svg?style=for-the-badge\u0026logo=kotlin\u0026logoColor=white)\n![Gradle](https://img.shields.io/badge/Gradle-02303A.svg?style=for-the-badge\u0026logo=Gradle\u0026logoColor=white)\n![Steam](https://img.shields.io/badge/steam-%23000000.svg?style=for-the-badge\u0026logo=steam\u0026logoColor=white)\n![SQLite](https://img.shields.io/badge/sqlite-%2307405e.svg?style=for-the-badge\u0026logo=sqlite\u0026logoColor=white)\n![SonarLint](https://img.shields.io/badge/SonarLint-CB2029?style=for-the-badge\u0026logo=sonarlint\u0026logoColor=white)\u003c/br\u003e\n\n## List of contents\n\n1. [Program version](#program-version)\n2. [Introduction](#introduction)\n3. [Project objectives](#program-version)\n4. [What can the bot do?](#what-can-the-bot-do)\n5. [List of supported commands](#list-of-supported-commands)\n6. [List of used libraries](#list-of-used-libraries)\n7. [Versions](#versions)\n8. [Project Updates](#project-updates)\n9. [License](#license)\n\n## Program version\n\n2.1.2\n\n## Introduction\n\nIt's no secret that the steam platform has significant drawbacks and general slowness and\nsluggishness. News about apps\nand games there are in disarray and without sorting by date and time. This bot allows you to receive\nthe latest news\nfrom application developers in a timely manner, in a convenient application (telegram)\u003cbr/\u003e\n![image info](images/image01.jpg)![image info](images/image00.jpg)\n\nTry it now: [Steam News Bot](https://t.me/steam_newsy_bot)\n\n## Project objectives:\n\n✅ Develop a telegram bot that will promptly deliver news on games and software from the steam\nplatform.\u003cbr/\u003e\n✅ Add the ability to ignore uninteresting applications.\u003cbr/\u003e\n✅ Place the bot on the linux(raspbian) server using PM2(advanced, production process manager for\nnode.js).\u003cbr/\u003e\n✅ Make the bot multilingual.\u003cbr/\u003e\n\n## What can the bot do?\n\n1. The first and most important thing is that the bot does not use or store any private information\n   about users. Only\n   open sources and the steam API are used.\n2. The bot determines the user's language from the set language in the telegram settings. Two\n   languages are supported so far - Russian and English. (21.08.2022).\n\n   France, Germany, Ukraine languages ware added (25.03.2025).\n3. After the greeting, the bot will prompt the user to register. Registration is very simple, you\n   only need a Steam ID.\n   ![image info](images/image03.jpg)\n4. When registering, the bot requests the user's application library from the steam, according to\n   the entered Steam ID,\n   and then saves the user's data to the database.\n5. The bot has a scheduler.\n    - Every 30 minutes, news is searched for and sent to users.\n    - In case of problems (and the steam platform is not the\n      most agile), problematic requests will be repeated every 5 minutes after failure.\n    - Every 24 hours, the bot updates the user application database.\n6. In the settings you can find:\u003cbr/\u003e\n   ![image info](images/image02.jpg)\n    - _\"Set/Update Steam ID\"_ - This is necessary for registration.\n    - _\"Check your steam ID\"_ - Here you can see the installed steam ID and activity mode.\n    - _\"Check available wishlist\"_ - Checking that the wishlist is available and news on games from\n      the list will be received.\n    - _\"Set \\\"active\\\" mode\"_ - Set the active mode. Only in this mode the bot will send you news.\n    - _\"Set \\\"inactive\\\" mode\"_ - Set inactive mode if you are tired of the news in general.\n    - _\"Clear black list\"_ - Clearing the blacklist.\n    - _\"Black list\"_ - List of blacklisted applications.\n7. You can add the application to the blacklist under the news.\u003cbr/\u003e\n   ![image info](images/image04.jpg)\n8. Added a wish list for accounts that have access to game information in steam settings. In order\n   for the bot to get access to the desired list, the privacy settings in steam should look like\n   this: (updated 21.08.2023)\u003cbr/\u003e\n   ![image info](images/image06.jpg)![image info](images/image07.jpg)\n\n## List of supported commands:\n\n    /start\n    /settings\n    /help\n\n## List of used libraries:\n\n1. telegram bot API - library for working with Telegram Bot API\n2. slf4j + logback - logger\n3. sqlite + exposed - lightweight database\n4. quartz - job scheduling library\n5. koin - dependency injection library\n6. ktor - web framework\n\n## Versions:\n\n- Kotlin: 2.1.10\u003c/br\u003e\n- Ktor: 3.0.3\u003c/br\u003e\n- Koin: 3.5.6\u003c/br\u003e\n- SQLite: 3.42.0.1\u003c/br\u003e\n- Exposed: 0.58.0\u003c/br\u003e\n- Quartz: 2.5.0\u003c/br\u003e\n- TelegramBotAPI: 24.0.0\u003c/br\u003e\n- Gradle: 8.5\u003c/br\u003e\n\nYou can use its services yourself if it is online - https://t.me/steam_newsy_bot.\n\n## Project Updates\n\n(update 21.08.2023)\nI didn't rent a server for a bot, but just used ~~raspberries~~ mini-PC iRU 114. This is my little\nproduction server\nfrom improvised means.\n\n(update 25.03.2025)\nThe application was completely rewritten from Java + Spring to Kotlin + Ktor using an asynchronous\napproach.\nIt has become more stable and faster, and is prepared for an increase in the number of users.\n\n## License\n\nThis project is distributed under the terms of the MIT license. See [LICENSE](LICENSE).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fath31st%2Fsteam_news_bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fath31st%2Fsteam_news_bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fath31st%2Fsteam_news_bot/lists"}