Jun-19-2020, 07:12 AM
hi friends i am trying to make a steam hour bot. I'm running this bot on my ubuntu system like this on "screen -S idle python3 xxx.py" . What I want to do is to close the screen when I enter a game on my computer, I want the bot to close itself.. The code I use is below.
When I enter the game from steam on my own computer, it catches my connection and continues to scirpt I want it to close.
import logging from steam.client import SteamClient from steam.enums import EResult from steam.enums import EFriendRelationship, EPersonaState, EChatEntryType from steam.client import user # setup logging logging.basicConfig(format="%(asctime)s | %(message)s", level=logging.INFO) LOG = logging.getLogger() client = SteamClient() client.set_credential_location(".") # where to store sentry files and other stuff server_ip=client.current_server_addr @client.on("error") def handle_error(result): LOG.info("Logon result: %s", repr(result)) @client.on("channel_secured") def send_login(): if client.relogin_available: client.relogin() @client.on("connected") def handle_connected(): LOG.info("Connected to %s", client.current_server_addr) @client.on("reconnect") def handle_reconnect(delay): LOG.info("Out...") LOG.info("Reconnect in %ds...", delay) client.logout() raise SystemExit @client.on("disconnected") def handle_disconnect(): LOG.info("Disconnected.") client.disconnect() if client.relogin_available: LOG.info("Reconnecting...") client.reconnect(maxdelay=30) @client.on("logged_on") def handle_after_logon(): LOG.info("-"*30) LOG.info("Logged on as: %s", client.user.name) LOG.info("Community profile: %s", client.steam_id.community_url) LOG.info("Last logon: %s", client.user.last_logon) LOG.info("Last logoff: %s", client.user.last_logoff) LOG.info("-"*30) LOG.info("Press ^C to exit") # main bit LOG.info("Persistent logon recipe") LOG.info("-"*30) try: result = client.cli_login("username","password") if result != EResult.OK: LOG.info("Failed to login: %s" % repr(result)) raise SystemExit else: client.get_web_session("English") client.games_played([730]) client.change_status(persona_state=EPersonaState.Online, player_name='xxx') client.run_forever() except KeyboardInterrupt: if client.connected: LOG.info("Logout") client.logout()library documentation i use; https://steam.readthedocs.io/en/latest/a...l_location
When I enter the game from steam on my own computer, it catches my connection and continues to scirpt I want it to close.