привет друзья, я пытаюсь сделать парового часового бота. Я запускаю этого бота в своей системе ubuntu, например, на "screen -S idle python3 xxx.py". Что я хочу сделать, так это закрыть экран, когда я вхожу в игру на своем компьютере, я хочу, чтобы бот закрывался сам ... Код, который я использую, приведен ниже.
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()
документация библиотеки, которую я использую; https://steam.readthedocs.io/en/latest/api/steam.client.html#steam .client.SteamClient.set_credential_location
Когда я вхожу в игру из Steam на моем собственном компьютере, он улавливает мое соединение и продолжает scirpt Я хочу его закрыть.