Пример #1
0
    def run(self):
        logging.basicConfig(format="%(asctime)s | %(message)s",
                            level=logging.INFO)
        LOG = logging.getLogger()
        global client
        client = SteamClient()
        client.set_credential_location(
            ".")  # where to store sentry files and other stuff

        @client.on("error")
        def handle_error(result):
            LOG.info("Logon result: %s", repr(result))
            if result == EResult.RateLimitExceeded:
                self.loginInfo.emit(996, '')
                self.needlogin = False

        @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("Reconnect in %ds...", delay)

        @client.on("disconnected")
        def handle_disconnect():
            LOG.info("Disconnected.")
            if client.relogin_available:
                LOG.info("Reconnecting...")
                client.reconnect(maxdelay=30)

        # main bit
        LOG.info("Persistent logon recipe")
        LOG.info("-" * 30)
        while True:
            self.msleep(10)
            self.run_num = 0
            if self.needlogin:
                self.login()
            if self.needlogout:
                self.logout()
            if self.needredeem:
                self.redeem()
Пример #2
0
import logging
from steam import SteamClient
from steam.enums import EResult

# 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

@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("Reconnect in %ds...", delay)

@client.on("disconnected")
def handle_disconnect():
    LOG.info("Disconnected.")