Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
Сообщение от ripton07
Ты же в своё время дал мне бот))))
Вот для вк, проверил, у меня работает [Ссылки могут видеть только зарегистрированные пользователи. ]
спасибо за БОТика)))
а можно пару вопросов по нему?
1) как отключить "Загружаю друзей"?! - у меня в основном на этом стопорится, 4300 друзей грузить сложно видимо)))
2) как ходить по друзьям?! - а то видимо друзей то загрузило, а как по ним пробежаться?!?! вижу что всё для этого сделано, и сколько лопат, и сколько можно удобрить, и прочее, а вот как включить это - не вижу.
Добавлено через 1 час 34 минуты
Собственно, по 2), где включить то нашёл, дописал... Но не работает))) не поделитесь файликом friends.py?
Последний раз редактировалось GadW1n; 17.07.2016 в 23:41.
Причина: Добавлено сообщение
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
Сообщение от asd1973
в твоем архиве вирус, и по ходу твой вирус только работает))))
Не знаю что там нашёл, покажи. Отчёт VirusTotal [Ссылки могут видеть только зарегистрированные пользователи. ]
Проверил Dr.Web CureIt! - ноль реакций
Добавлено через 11 минут
Цитата:
Сообщение от GadW1n
спасибо за БОТика)))
а можно пару вопросов по нему?
1) как отключить "Загружаю друзей"?! - у меня в основном на этом стопорится, 4300 друзей грузить сложно видимо)))
2) как ходить по друзьям?! - а то видимо друзей то загрузило, а как по ним пробежаться?!?! вижу что всё для этого сделано, и сколько лопат, и сколько можно удобрить, и прочее, а вот как включить это - не вижу.
Добавлено через 1 час 34 минуты
Собственно, по 2), где включить то нашёл, дописал... Но не работает))) не поделитесь файликом friends.py?
Для обхода отдельный бот [Ссылки могут видеть только зарегистрированные пользователи. ] уже выкладывал не раз, проверяйте settings.ini vk или ok стоит, (для вк не проверял этот)
как отключить "Загружаю друзей"?! self.load_info_users(врят ли на этом)(смотри error_log, остальное повыключал)
"""""""""Проверил для вк, исправил, у меня работает, [Ссылки могут видеть только зарегистрированные пользователи. ]
Эти боты собраны из ботов разных замечательных людей, все благодарочки им
= Lobotamiya, greyzza, vintets, alser2, GirlKris и др. =
Последний раз редактировалось ripton07; 18.07.2016 в 23:21.
Причина: Добавлено сообщение
# encoding=utf-8
import os
import sys
sys.path.append('./API')
from connection import Connection
from settings import Settings
from odnoklassniki import api
import requests
import pdb
import re
import json
from game_state.game_types import GameSTART, GameInfo
from hashlib import md5
def str2dict(self, val): # Convert "string" cookies to "dict"
if type(val) is str:
res = {}
for tmp in val.replace(' ','').split(';'):
k = tmp.split('=')[0]
v = tmp.split('=')[1]
res[k] = v
# print k,v
return res
else:
return val
def getAppParams(self, session_cookies=None): # Called from: local->
# print 'FLOW[okutils.py]: OK():getAppParams()'
if session_cookies is None:
session_cookies = self._getSessionCookies() # OK cookies
# Step 4 - get App Params
html = requests.get('http://ok.ru', cookies=self.str2dict(session_cookies)).text
requested=''
if html:
matcher = re.compile('.*gwtHash:"(.*?)"')
for line in html.split('\n'):
match = matcher.match(line)
if match is not None:
requested=match.group(1)
break
# print requested
html = requests.get('http://ok.ru/game/zm?st.cmd=appMain&st.appId=625920&p_sId=0&gwt.requested='+requested, cookies=self.str2dict(session_cookies)).text
params = None
if html:
matcher = re.compile('.*zombiefarm.html\?(.*?)"')
for line in html.split('\n'):
match = matcher.match(line)
if match is not None:
params = match.group(1)
break
if params is not None:
orig_params = params # Save unparsed params
pairs = params.split('&')
params = {}
for pair in pairs:
key = pair.split('=')[0]
value = pair.split('=')[1]
params[key] = value
# print key, value
return params # Return Dict of params
def get_time_key(self): # Called from game_engine.py->get_time()
# print 'FLOW[okutils.py]: OK():get_time_key()'
# print self.__params
del self.__params['sig']
# return '&'.join([k + '=' + v for k, v in self.__params.iteritems()])
return self.__params['session_key']
def _getFriendsList(self):
post = {
'new_sig': 1,
'session_key': self.__params['session_key'],
'application_key': self.__params['application_key'],
'format': 'Json'
}
post_keys = sorted(post.keys())
param_str = "".join(["%s=%s" % (str(key), api._encode(post[key])) for key in post_keys])
param_str += self.__params['session_secret_key']
sign = md5(param_str).hexdigest().lower()
post.update({'sig': sign})
info = requests.post('http://api.ok.ru/api/friends/getAppUsers', data=post, cookies=self.str2dict(self._credentials.getSessionCookies())).json()['uids']
# print(info)
return info
def _validateSessionCookies(self, session_cookies): # Check if cookies are still valid
# print 'FLOW[okutils.py]: OK():_validateSessionCookies()'
valid = False
if session_cookies is not None: # If cookies are not empty
valid = self.getAppParams(session_cookies) is not None #
return valid
def _getSessionCookies(self): # Get OK session cookies (Steps 1-2-3)
# print 'FLOW[okutils.py]: OK():_getSessionCookies()'
session_cookies = self._credentials.getSessionCookies() # If cookies exist in settings.ini
cookies_are_valid = self._validateSessionCookies(session_cookies)
if not cookies_are_valid:
username = self._credentials.getUserEmail() # settings.py
password = self._credentials.getUserPassword() # settings.py
# Step 2 - get encrypted URL
post = {
'st.posted':'set',
'st.redirect': '%2Fgames%2Fzm',
'st.originalaction': u'http://www.ok.ru/dk?cmd=AnonymLogin&st.cmd=anonymLogin',
#'st.originalaction': u'http://ok.ru/dk?cmd=AnonymLogin&st.cmd=anonymLogin',
'st.fJS': 'enabled',
'st.email': username,
'st.password': password,
'st.remember': 'on',
'button_go': 'Sign in'}
sslurl = requests.post('https://www.ok.ru/https', data=post, allow_redirects=False, verify=True).headers['location']
# Step 3 - call encrypted URL to get cookies
session_cookies = requests.get(sslurl, allow_redirects=False).cookies
self.__ok_cookies = session_cookies
# Convert cookies to String format
session_cookies_str = 'AUTHCODE=' + session_cookies['AUTHCODE'] + ';' + \
'JSESSIONID=' + session_cookies['JSESSIONID'] + ';' + \
'tOFNE=true; tNotif=true; tDisc=true; BANNER_LANG=ru'
# Save cookies to settings.ini
self._credentials.setSessionCookies(session_cookies_str)
ok_cookies = self.str2dict(session_cookies)
return session_cookies # Return cookies in Dict format