github.comGitHub - s-tyda/steamgifts-bot: Configurable bot for steamgifts, which automatically enters giveaways.Configurable bot for steamgifts, which automatically enters giveaways. - GitHub - s-tyda/steamgifts-bot: Configurable bot for steamgifts, which automatically enters giveaways.В этом гайде я роз беру по полочкам бота для сайта steamgifts.Нашел я его на просторах github, во-первых, о функционале он довольно велик.Автоматически входит в раздачи.Необнаруживаемый.Настраиваемый.Спит, чтобы пополнить запас очков.Может работать 24/7.Вы возможно спросите и чем же он отличается от других ботов, а тем что этого бота можно настроить как душе угодно.Например, можно поменять раздели по важности. Объясняю, вот это стопка отвечает за важность. (фото ниже)Wishlist переводиться как желаемое. Этот раздел, чтобы находить игры из вашего списка желаний в Steam (не забывайте синхронизировать аккаунты)Recommended - рекомендации, этот раздел понятный.Copies - раздачи не с одним ключом, а несколькими (шансы больше)Group - раздача с подписанных групп.All - все раздачи. И що есть DLC и New, но я ими не пользуюсь поэтому объяснять не буду.priorities Не трогаем!!!Теперь переходим к практике.При первом запуске он попросить cookie (не бойтесь это не печенья, их можете оставить себе)Чтобы получить cookie, нам понадобится расширения Cookie-Editorchrome.google.comCookie-EditorSimple yet powerful Cookie Editor that allow you to quickly create, edit and delete cookies without leaving your tab.Заходим на сайт и нажимаем на расширения. Видим строку PHPSESSID копируем код и заходим в нашу прогу водим код и после водим число очков которое должен ждать бот, чтобы начать работу.Теперь когда видим что бот нормально работает, заходим в конфиг.Так как я вам в начале объяснял ставим порядок как сами захотите, но у меня такой priorities Не трогаем!!!Все запускаем бота и радуемся что у нас всьо работает. Можете его кинуть в авто загрузку если хотите.github.comGitHub - s-tyda/steamgifts-bot: Configurable bot for steamgifts, which automatically enters giveaways.Configurable bot for steamgifts, which automatically enters giveaways. - GitHub - s-tyda/steamgifts-bot: Configurable bot for steamgifts, which automatically enters giveaways.А тем кто остался подарок, переделанный script для этого бота чтобы можно его оставить и комп не будет переходить в сон, чтобы он работал установите threaded.import configparser import questionary import json from prompt_toolkit.document import Document from prompt_toolkit.validation import Validator, ValidationError from main import SteamGifts from common import log, Singleton from typing import Dict, Any from functools import cached_property import pyautogui import time class PointValidator(Validator): def validate(self, doc: Document) -> bool: value = doc.text try: value = int(value) except Exception: raise ValidationError( message="Value should be a number", cursor_position=len(doc.text), ) if value <= 0: raise ValidationError( message="Value should be greater than 0", cursor_position=len(doc.text), ) return True class ConfigReader(metaclass=Singleton): def __init__(self) -> None: self.config = configparser.ConfigParser() self.config.read("config/config.ini") def _save_config(self) -> None: with open("config/config.ini", "w") as configfile: self.config.write(configfile) def _ask_for_cookie(self) -> str: cookie = questionary.text( "Enter PHPSESSID cookie (Only needed to provide once):" ).ask() self.config["DEFAULT"]["cookie"] = cookie self._save_config() return cookie def _ask_for_pinned(self) -> bool: pinned_games = questionary.confirm( "'Should bot enter pinned games?'" ).ask() self.config["DEFAULT"]["enter_pinned_games"] = str(pinned_games) self._save_config() return pinned_games def _ask_for_min_points(self) -> int: min_points = questionary.text( message="Enter minimum points to start working (bot will try " "to enter giveaways until minimum value is reached):", validate=PointValidator, ).ask() self.config["DEFAULT"]["min_points"] = min_points self._save_config() return int(min_points) @cached_property def data(self) -> Dict[str, Any]: with open("config/config.json") as json_data_file: data = json.load(json_data_file) if not self.config["DEFAULT"].get("cookie"): data["cookie"] = self._ask_for_cookie() else: data["cookie"] = self.config["DEFAULT"].get("cookie") if not self.config["DEFAULT"].get("enter_pinned_games"): data["enter_pinned_games"] = self._ask_for_pinned() else: data["enter_pinned_games"] = self.config["DEFAULT"].getboolean( "enter_pinned_games" ) if not self.config["DEFAULT"].get("min_points"): data["min_points"] = self._ask_for_min_points() else: data["min_points"] = self.config["DEFAULT"].getint("min_points") return data def move_mouse(): while True: pyautogui.moveRel(1, 0) time.sleep(10) def run() -> None: log("SteamGifts Bot", color="blue", figlet=True) log("Welcome to SteamGifts Bot!", color="green") log("Created by: github.com/s-tyda", color="white") config = ConfigReader() s = SteamGifts(**config.data) import threading mouse_thread = threading.Thread(target=move_mouse) mouse_thread.daemon = True mouse_thread.start() s.start() if __name__ == "__main__": run()Киньте этот код в файл cli.py ну а на этом я прощаюсь, всем удачи, до скорых встреч, пока.