Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- '''
- Бот для http://tiwar.ru/
- Пока фармится только на арене.
- Нужна библа silenium.
- '''
- #!/usr/bin/python
- CONST_USERNAME = 'admin' #логин
- CONST_PASSWORD = 'pidoras' #пароль
- CONST_TIMEOUT = 60 #таймаут, сколько ждать пока восстановиться хелса и энергия
- CONST_GO_TO_CAVE = 0 # 1 -спускаться в пещеру если хелса кончилась
- CONST_COUNT_ATTACK = 1000 # кол-во сколько раз ебашиться на арене
- from colorama import Fore, Back, Style, init
- init(autoreset=True)
- from time import sleep
- import requests
- import argparse
- import datetime
- import time
- import os
- print (Fore.MAGENTA+'@tiBot (http://tiwar.ru/)')
- sleep(0.2)
- print (Fore.MAGENTA+'@version '+Style.BRIGHT+'0.1.0.2'+Style.NORMAL)
- sleep(0.2)
- print (Fore.MAGENTA+'@last update '+Style.BRIGHT+'26.03.2018')
- sleep(0.5)
- print (Fore.MAGENTA+'@code by '+Style.BRIGHT+'po0n\n')
- sleep(1)
- def showstatus(message, type="new"):
- now = datetime.datetime.now().strftime("%H:%M:%S")
- icon = "*"
- if type == "warn":
- icon = "!"
- elif type == "new":
- icon = "*"
- elif type == "error":
- icon = "x"
- elif type == "bot":
- icon = "tiBot"
- message = "[" + icon + "][" + now + "]" + " "+message
- return message
- def cls():
- os.system('cls' if os.name=='nt' else 'clear')
- print(showstatus("Подключение модулей ...", "new"))
- from msvcrt import getch
- from selenium import webdriver
- from selenium.webdriver.common.keys import Keys
- from selenium.webdriver.common.action_chains import ActionChains
- from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
- print(showstatus("Запуск PhantomJs ...", "new"))
- dcap = dict(DesiredCapabilities.PHANTOMJS)
- dcap['phantomjs.page.settings.userAgent'] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36'
- driver = webdriver.PhantomJS(desired_capabilities=dcap, service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any'])
- print(showstatus("Подключение к -> "+Fore.BLUE + Style.BRIGHT + "http://tiwar.ru/", "new"))
- driver.get('http://tiwar.ru/?sign_in=1')
- sleep(1)
- if "Имя персонажа:" in driver.page_source:
- print(showstatus(Fore.GREEN + Style.BRIGHT + "Подключение успешно!", "new"))
- print(showstatus("Авторизация ...", "new"))
- driver.find_element_by_xpath("html/body/div[1]/div[1]/div[6]/form/div/input[1]").send_keys(CONST_USERNAME)
- driver.find_element_by_xpath("html/body/div[1]/div[1]/div[6]/form/div/input[2]").send_keys(CONST_PASSWORD)
- driver.find_element_by_xpath("html/body/div[1]/div[1]/div[6]/form/div/span/span/input").click()
- sleep(1)
- if "Мой герой" in driver.page_source:
- print(showstatus(Fore.GREEN + Style.BRIGHT + "Авторизация прошла успешно!", "new"))
- print('--------------------------------------')
- BRIEF = "Доступные команды: /arena, /coliseum, /exit.\n"
- #ENERGY = driver.find_element_by_xpath("//body//div[@class='main']/div[contains(@class,'head')]/span[contains(@class,'rght')]").text
- #HEALTH = driver.find_element_by_xpath("//body//div[@class='main']/div[contains(@class,'head')]/span[contains(@class,'rght')]/span[@class='white']").text
- print("\nПривет "+CONST_USERNAME+ "!") #"+Fore.RED + Style.BRIGHT +"♥"+HEALTH)
- print(BRIEF)
- while True:
- cmd = input("root@bot: ")
- if cmd == "/close" or cmd == "/exit" or cmd == "/stop":
- cls()
- print(showstatus("Выполнение программы завершено.", "bot"))
- break
- elif cmd == "/arena":
- print()
- print(showstatus("Подключение к -> "+Fore.BLUE + Style.BRIGHT + "http://tiwar.ru/arena/", "new"))
- driver.get('http://tiwar.ru/arena/')
- sleep(1)
- i = 0
- CONST_TIMEOUT_TEMP = CONST_TIMEOUT
- print(showstatus('Установленное количество атак: ' + str(CONST_COUNT_ATTACK),'bot'))
- while i < CONST_COUNT_ATTACK:
- if "Для нападения надо минимум" in driver.page_source and CONST_GO_TO_CAVE == 0:
- while CONST_TIMEOUT_TEMP > -1:
- print(showstatus('Востановление жизней и энергии, осталось '+ str(CONST_TIMEOUT_TEMP) + ' сек.',"bot"),end='\r')
- sleep(1)
- CONST_TIMEOUT_TEMP -= 1
- else:
- print()
- print(showstatus('Таймаут истек, пытаюсь войти на Арену ...','bot'))
- print(showstatus("Подключение к -> "+Fore.BLUE + Style.BRIGHT + "http://tiwar.ru/arena/", "new"))
- CONST_TIMEOUT_TEMP = CONST_TIMEOUT
- driver.get('http://tiwar.ru/arena/')
- sleep(1)
- else:
- driver.find_element_by_xpath("html/body/div[1]/div[1]/div[7]/a/span/span").click()
- if "Для нападения надо минимум" in driver.page_source:
- print(showstatus('Атака не удалась, мало жизней и энергии ...','bot'))
- else:
- i += 1
- enemyName = driver.find_element_by_xpath("//body//div[@class='main']/div[contains(@class,'block_zero')]/div[@class='float-left']").text
- #enemyName = enemyName.replace('#','')
- print(showstatus('Атакую противника ['+Fore.CYAN+Style.BRIGHT+str(enemyName)+' #'+str(i)+Fore.WHITE + Style.NORMAL +']','bot'))
- sleep(1)
- else:
- print(showstatus(Fore.GREEN + Style.BRIGHT + 'На арене убито '+str(CONST_COUNT_ATTACK)+' врагов, завершение ...','bot'))
- print()
- print(BRIEF)
- else:
- print(showstatus("Ошибка авторизации, проверьте логин или пароль.", "error"))
- else:
- print(showstatus("Ошибка подключения к -> http://tiwar.ru/", "error"))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement