import asyncio from webbot.webbot import Browser import time from lxml import html from lxml import etree import requests from requests_futures import sessions import re class RRBotException(Exception): pass class Client: def __init__(self, login_method, username, password, expires=None, show_window=False): self.login_method = login_method self.username = username self.password = password self.expires = expires self.resource_id = {'oil': 3, 'ore': 4, 'uranium': 11, 'diamond': 15, 'liquid oxygen': 21, 'helium-3': 24, 'antirad': 13, 'energy drink': 17, 'spacerockets': 20, 'tanks': 2, 'aircrafts': 1, 'missiles': 14, 'bombers': 16, 'battleships': 18, 'moon tanks': 22, 'space stations': 23} self.session_id = None self.c = None self.show_window = show_window if login_method in ["g", "google", "v", "vk", "f", "facebook"]: self.login() else: raise RRBotException("Not a valid login method.") def login(self): login_method = self.login_method self.s = requests.Session() auth_text = requests.get("http://rivalregions.com").text web = Browser(showWindow=self.show_window) if login_method == ("g" or "google"): auth_text1 = auth_text.split('\t\r\n\t\t\t\t
(.*)', r.text).group(1) total_offers = re.search(f'Best offer out of (.*):', r.text).group(1) return price, selling_amount, player_id, player_name, total_offers