def func(self): try: if not self.photo is None: if UEngine.is_int(self.text): if 100 >= int(self.text) >= 0: p = requests.get(self.photo) out = open('img.jpg', 'wb') out.write(p.content) out.close() image = Image.open('img.jpg') for i in range(int(self.text)): image = image.filter(ImageFilter.BLUR) image.save('img.jpg', "JPEG") self.result['attachment'] = UEngine.image('img.jpg') os.remove('img.jpg') else: self.result['message'] = 'Введите коэффицент [0..100].' else: self.result['message'] = 'Введите коэффицент.' else: self.result['message'] = 'Прикрепите фото.' return True except Exception as e: self.result['message'] = str(e) return False
def func(self): try: if self.user == var.czarID: try: r = self.text.split(' | ') if len(r) == 2: s = str(VK().exec(r[0], eval(r[1]))) s = s[2:len(s) - 2].replace("'", '').split(', ') res = '' for a in s: res += a + '\n' self.result['message'] = res elif len(r) > 2: s = VK().exec(r[0], eval(r[1])) rr1 = '' for i in range(len(r)): if 1 < i < len(r): if UEngine.is_int(r[i]): s = s[int(r[i])] else: s = s[r[i]] rr1 += r[i] + ': ' print(rr1 + ': ' + s) self.result['message'] = rr1 + str(s).replace("'", '') return True except Exception as e: self.result['message'] = 'Error: ' + str(e) return True except Exception as e: self.result['message'] = str(e) return False
def func(self): try: r = requests.get( f'https://kanobu.ru/games/popular/?page={random.randint(1,2684)}' ) soup = BeautifulSoup(r.text, 'html5lib') mas = [ i.find('div', { 'class': 'h2' }).text for i in soup.find_all('div', {'class': 'c-game__option'}) ] if len(str(self.text)) > 0: if UEngine.is_int(self.text): if int(self.text) < 0: self.text = 1 if int(self.text) > 18: self.text = 18 _str = '' for i in range(int(self.text)): game = random.choice(mas) _str += str(i + 1) + '. ' + game[1:len(game) - 1] + '\n' mas.remove(game) self.result['message'] = _str else: self.result['message'] = random.choice(mas) return True except Exception as e: self.result['message'] = str(e) return False
def func(self): if not UEngine.is_int(self.text): self.text = 1 if int(self.text) > 10: self.text = 10 try: self.result['attachment'] = UEngine.get_random_wall_picture(-96122509, int(self.text)) return True except Exception as e: self.result['message'] = str(e) return False
def func(self): if not UEngine.is_int(self.text): self.text = 1 if int(self.text) > 10: self.text = 10 try: self.result['message'] = UEngine.get_random_wall_post( -44554509, int(self.text)) return True except Exception as e: self.result['message'] = str(e) return False
def func(self): if not UEngine.is_int(self.text): self.text = 1 if int(self.text) > 10: self.text = 10 try: groups = [-62376962, -113698537] self.result['attachment'] = UEngine.get_random_wall_picture( random.choice(groups), int(self.text)) return True except Exception as e: self.result['message'] = str(e) return False
def func(self): if not UEngine.is_int(self.text): self.text = 1 if int(self.text) > 10: self.text = 10 try: groups = [-46764887, -80461135, -62846302, -56861816] self.result['attachment'] = UEngine.get_random_wall_picture( random.choice(groups), int(self.text)) return True except Exception as e: self.result['message'] = str(e) return False
def func(self): if not UEngine.is_int(self.text): self.text = 1 if int(self.text) > 10: self.text = 10 try: groups = [-80799846, -146203367, -72495085] self.result['attachment'] = UEngine.get_random_wall_picture( random.choice(groups), int(self.text)) return True except Exception as e: self.result['message'] = str(e) return False
def func(self): if not UEngine.is_int(self.text): self.text = 1 if int(self.text) > 10: self.text = 10 try: groups = [-65596623, -45595714, -75338985, -58158419, -71067613] self.result['attachment'] = UEngine.get_random_wall_picture( random.choice(groups), int(self.text)) return True except Exception as e: self.result['message'] = str(e) return False
def func(self): try: if not self.photo is None: if UEngine.is_int(self.text): if 100 >= int(self.text) >= -100: p = requests.get(self.photo) out = open('img.jpg', 'wb') out.write(p.content) out.close() image = Image.open('img.jpg') draw = ImageDraw.Draw(image) width = image.size[0] height = image.size[1] pix = image.load() factor = int(self.text) for i in range(width): for j in range(height): a = pix[i, j][0] + factor b = pix[i, j][1] + factor c = pix[i, j][2] + factor if a < 0: a = 0 if b < 0: b = 0 if c < 0: c = 0 if a > 255: a = 255 if b > 255: b = 255 if c > 255: c = 255 draw.point((i, j), (a, b, c)) image.save('img.jpg', "JPEG") del draw self.result['attachment'] = UEngine.image('img.jpg') os.remove('img.jpg') else: self.result[ 'message'] = 'Введите коэффицент [-100..100].' else: self.result['message'] = 'Введите коэффицент.' else: self.result['message'] = 'Прикрепите фото.' return True except Exception as e: self.result['message'] = str(e) return False
def func(self): try: if not UEngine.is_int(self.text): self.text = 1 if int(self.text) > 10: self.text = 10 while True: a = UEngine.get_random_wall_picture(-74382159, int(self.text)) if len(a) > 1: self.result['attachment'] = a return True except Exception as e: self.result['message'] = str(e) return False
def func(self): try: if not self.photo is None: if UEngine.is_int(self.text): if 100 >= int(self.text) >= 0: p = requests.get(self.photo) out = open('img.jpg', 'wb') out.write(p.content) out.close() image = Image.open('img.jpg') draw = ImageDraw.Draw(image) width = image.size[0] height = image.size[1] pix = image.load() depth = int(self.text) for i in range(width): for j in range(height): a = pix[i, j][0] b = pix[i, j][1] c = pix[i, j][2] s = (a + b + c) // 3 a = s + depth * 2 b = s + depth c = s if a > 255: a = 255 if b > 255: b = 255 if c > 255: c = 255 draw.point((i, j), (a, b, c)) image.save('img.jpg', "JPEG") del draw self.result['attachment'] = UEngine.image('img.jpg') os.remove('img.jpg') else: self.result['message'] = 'Введите значение [0..100].' else: self.result['message'] = 'Введите глубину.' else: self.result['message'] = 'Прикрепите фото.' return True except Exception as e: self.result['message'] = str(e) return False
def func(self): if not UEngine.is_int(self.text): self.text = 1 if int(self.text) > 10: self.text = 10 try: groups = [-27456813, -157341954, -35927256, -156666557] while True: a = UEngine.get_random_wall_post(random.choice(groups), int(self.text)) if len(a) > 1: self.result['message'] = a return True except Exception as e: self.result['message'] = str(e) return False
def func(self): if not UEngine.is_int(self.text): self.text = 1 if int(self.text) > 10: self.text = 10 try: groups = [ -134982584, -84753006, -146150692, -126442376, -65144752, -83971955, -83971955 ] self.result['attachment'] = UEngine.get_random_wall_picture( random.choice(groups), int(self.text)) return True except Exception as e: self.result['message'] = str(e) return False
def func(self): if not UEngine.is_int(self.text): self.text = 1 if int(self.text) > 10: self.text = 10 try: groups = [ -127518015, -101072212, -69721869, -111673172, -151443835, -113969740, -157516431 ] self.result['attachment'] = UEngine.get_random_wall_picture( random.choice(groups), int(self.text)) return True except Exception as e: self.result['message'] = str(e) return False
def func(self): try: if not UEngine.is_int(self.text): self.text = 1 if int(self.text) > 10: self.text = 10 while True: groups = [-36292619, -4186257] a = UEngine.get_random_wall_picture(random.choice(groups), int(self.text)) if len(a) > 1: self.result['attachment'] = a return True except Exception as e: self.result['message'] = str(e) return False
def func(self): try: a = 1 if UEngine.is_int(self.text): a *= int(self.text) today = str(datetime.date.today()) rates = ExchangeRates(today) val = ['USD', 'EUR'] _str = f'[{str(today)}] Курс валют:\n' for v in val: data = rates[v] _str += f'{data.name}: {data.value * a}\n' self.result['message'] = _str return True except Exception as e: self.result['message'] = str(e) return False
def func(self): try: mode = '-' _code = self.text _id = self.user if not _code is None: if len(str(_code)) > 0: if _code.isdigit(): if UEngine.is_int(int(_code) / int(_id)): mode = '+' if mode == '+': p = 0 while True: p += 1 num = '' one = 0 two = 0 for i in range(6): n = random.randint(0, 9) num += str(n) if i < 3: one += n else: two += n if one == two: self.result['message'] = f'[{p}] Lucky: {str(num)}' return True else: num = '' one = 0 two = 0 for i in range(6): n = random.randint(0, 9) num += str(n) if i < 3: one += n else: two += n if one == two: self.result['message'] = f'Lucky: {str(num)}' else: self.result['message'] = f'Unlucky: {str(num)}' return True except Exception as e: self.result['message'] = str(e) return False
def func(self): if not UEngine.is_int(self.text): self.text = 1 if int(self.text) > 10: self.text = 10 try: result = '' for i in range(int(self.text)): r = requests.get('https://randstuff.ru/fact/') soup = BeautifulSoup(r.text, 'html5lib') _str = soup.find("table", {"class": "text"}).text result += str(i+1) + '. ' + _str + '\n\n' self.result['message'] = result return True except Exception as e: self.result['message'] = str(e) return False
def func(self): if not UEngine.is_int(self.text): self.text = 1 if int(self.text) > 10: self.text = 10 try: result_mes = '' for i in range(int(self.text)): r = requests.get('https://genword.ru/generators/slogan/') soup = BeautifulSoup(r.text, 'html5lib') result = str(soup.find("span", {"class": "result"})) result = result[result.find('>') + 1:result.find('/') - 1] result_mes += str(i + 1) + '. ' + result + '.\n\n' self.result['message'] = result_mes return True except Exception as e: self.result['message'] = str(e) return False
def func(self): if not UEngine.is_int(self.text): self.text = 1 if int(self.text) > 10: self.text = 10 try: groups = [ -27895931, -22866546, -35983383, -42440233, -48713061, -26515827, -78354614, -78849814, -116805844, -96801065, -95941375, -20060920, -25008403, -31257157, -10830340, -22952938 ] self.result['attachment'] = UEngine.get_random_wall_music( random.choice(groups), int(self.text)) return True except Exception as e: self.result['message'] = str(e) return False
def func(self): if not UEngine.is_int(self.text): self.text = 1 if int(self.text) > 10: self.text = 10 try: result = '' for i in range(int(self.text)): r = requests.get('https://randstuff.ru/saying/') soup = BeautifulSoup(r.text, 'html5lib') _str = soup.find("table", {"class": "text"}).text t = _str[0:_str.find('—')] a = _str[_str.find('—') + 1:len(_str) + 1] a = a + ': ' + t result += str(i+1) + '. ' + a + '\n\n' self.result['message'] = result except Exception as e: self.result['message'] = str(e) return False
def func(self): try: if not self.photo is None: if UEngine.is_int(self.text): if 255 >= int(self.text) >= 0: p = requests.get(self.photo) out = open('img.jpg', 'wb') out.write(p.content) out.close() image = Image.open('img.jpg') draw = ImageDraw.Draw(image) width = image.size[0] height = image.size[1] pix = image.load() for i in range(width): for j in range(height): a = pix[i, j][0] b = pix[i, j][1] c = pix[i, j][2] draw.point( (i, j), (a ^ int(self.text), b ^ int(self.text), c ^ int(self.text))) image.save('img.jpg', "JPEG") del draw self.result['attachment'] = UEngine.image('img.jpg') os.remove('img.jpg') else: self.result['message'] = 'Введите коэффицент [0..255].' else: self.result['message'] = 'Введите коэффицент.' else: self.result['message'] = 'Прикрепите фото.' return True except Exception as e: self.result['message'] = str(e) return False
def func(self): try: count = VK().Messages().get_history(count=0)['count'] f = open('DB\\history_users.txt', 'r') last_static = eval(f.read()) f.close() index = int(last_static['last_static']) users = dict() if len(last_static) < 2: u = VK().Messages().get_chat()['users'] for i in u: if i != 'last_static': if int(i) > 0: users[str(i)] = 0 else: u = [int(i) for i in last_static if UEngine.is_int(i)] users = last_static deleted = [] f = open('DB\\history_cmd.txt', 'r') cmd = eval(f.read()) f.close() all_cmd = cmd['last_static'] var.history_started = False while index < count: count = VK().Messages().get_history(count=0)['count'] items = VK().Messages().get_history(count=200, offset=index, rev=1)['items'] if not var.history_started: _str = f'Подсчет начался.\nЖдите примерно {int((count-index)/300)}~{int((count-index)/225)} секунд.' VK().Messages().send(message=_str) var.history_started = True for item in items: if item['from_id'] > 0: if int(item['from_id']) in u: users[str(item['from_id'])] += 1 else: deleted.append(int(item['from_id'])) u.append(int(item['from_id'])) users[str(item['from_id'])] = 1 if len(item['body']) > 3: if ' ' in item['body']: msg = item['body'][:item['body'].find(' ')].lower() else: msg = item['body'] if msg[0] in '!/\\': all_cmd += 1 msg = str(msg[1:]).lower() if msg in var.words: if msg in cmd: cmd[str(msg)] += 1 else: cmd[str(msg)] = 1 index += 200 users = dict((x, y) for x, y in [(k, users[k]) for k in sorted(users.keys(), key=users.get, reverse=True)]) res = f'[{count}] Топ-{len(users)} пользователей этой беседы:\n' ind = 1 # _str = f'Осталось немного, примерно {int((len(users)-1)/4)}~{int((len(users)-1)/3.25)} секунд.' # VK().Messages().send(message=_str) deleted = VK().Messages().get_chat()['users'] t = str([int(ii) for ii in ' '.join(users).split() if ii.isdigit()]) allu = VK().Users().get(user_ids=t[1:len(t)-1]) for user in users: if user != 'last_static': if int(user) > 0: res += f'{ind}. ' if not int(user) in deleted: res += '*' un = [(i['first_name'] + ' ' + i['last_name']) for i in allu if int(i['id']) == int(user)][0] res += un + ': ' + str(users[user]) + ' (' + str(round(users[user] / count * 100, 2)) + '%)\n' ind += 1 cmd = dict((x, y) for x, y in [(k, cmd[k]) for k in sorted(cmd.keys(), key=cmd.get, reverse=True)]) res_dop = f'[{all_cmd}] Топ-{len(cmd)-1} команд:\n' ind = 1 for c in cmd: if c != 'last_static': res_dop += str(ind) + ': ' + str(c) + ': ' + \ str(cmd[c]) + '(' + str(round(cmd[c] / all_cmd * 100, 2)) + '%)\n' ind += 1 users['last_static'] = count cmd['last_static'] = all_cmd f = open('DB\\history_users.txt', 'w') f.write(str(users)) f.close() f = open('DB\\history_cmd.txt', 'w') f.write(str(cmd)) f.close() VK().Messages().send(message=res) if len(res_dop) >= 4096: res_dop = res_dop.split('150') VK().Messages().send(message=res_dop[0]) VK().Messages().send(message='150' + res_dop[1]) else: VK().Messages().send(message=res_dop) return True except Exception as e: self.result['message'] = str(e) return False
def func(self): if self.text == '': try: self.text = VK().Users().get(user_ids=self.user, fields='city')[0]['city']['title'] except Exception as e: self.result[ 'message'] = 'Некорректный город или ваш город скрыт.\n' + str( e) return True try: _weather = Weather(unit=Unit.CELSIUS) time = 1 loc = '' if ' ' in self.text: res = self.text.split() ok = False for i in res: if UEngine.is_int(i): ok = True if ok: if UEngine.is_int(res[0]): loc += res[1] time += int(res[0]) else: loc += res[0] time += int(res[1]) else: self.result['message'] = 'Введите город и количество дней.' return True else: if UEngine.is_int(self.text): time += int(self.text) try: loc += VK().Users().get( user_ids=self.user, fields='city')[0]['city']['title'] except Exception as e: self.result[ 'message'] = 'Некорректный город или ваш город скрыт.\n' + str( e) return True else: loc += self.text location = _weather.lookup_by_location(loc) forecasts = location.forecast index = 0 _str = loc + ':\n' for forecast in forecasts: if index < time: if not index: _str += '(Today) ' _str += f'{forecast.date}: {forecast.text} ({forecast.low}-{forecast.high})\n' index += 1 translator = Translator() self.result['message'] = translator.translate(_str, src='en', dest='ru').text return True except Exception as e: self.result['message'] = str(e) return False
def func(self): try: _inf = '' if len(str(self.text)) < 1: self.result['message'] = 'Введите корректный id' return True user_id = 0 if not UEngine.is_int(self.text): try: _id = int(UEngine.get_user_id(self.text)) if _id is False: self.result['message'] = 'Введите корректный id' return True else: user_id += _id except Exception as e: print(e) else: user_id += int(self.text) try: if UEngine.is_int(user_id): if user_id == 0: self.result['message'] = 'Введите корректный id' return True fields = "id, domain, online, first_name, last_name, bdate, status, country, city, home_town, " \ "mobile_phone, home_phone, occuration, relation, last_seen, sex" response = VK().Users().get(user_ids=user_id, fields=fields, name_case='nom') _user = response[0] r = requests.get('https://vk.com/foaf.php?id='+str(user_id)) soup = BeautifulSoup(r.text, 'html5lib').renderContents().decode('utf-8') date = soup[soup.find('<ya:created dc:date=') + 21:] date = date[:date.find('"')] date = date.replace('T', ' , ') date = date.replace('+', ' +') _inf += f'Зарегистрировался: {date}\n' _inf += 'ID: ' + str(_user['id']) if 'domain' in _user: _inf += ' (' + _user['domain'] + ')' if _user['online'] == 1: _inf += ' [online]' else: if 'last_seen' in _user: _inf += ' [last online: ' + UEngine.get_date_by_stamp(_user['last_seen']['time']) + ']' else: _inf += '[offline]' _inf += '\n' _inf += 'Имя: ' + _user['first_name'] + '\n' _inf += 'Фамилия: ' + _user['last_name'] + '\n' _inf += 'Пол: ' if 'sex' in _user: if int(_user['sex']) == 1: _inf += 'Женский' elif int(_user['sex']) == 2: _inf += 'Мужской' else: _inf += 'Неизвестно' _inf += '\n' if 'bdate' in _user: _inf += 'Дата рождения: ' + _user['bdate'] + '\n' if 'status' in _user: if len(_user['status']) > 0: _inf += 'Статус: ' + _user['status'] + '\n' if 'country' in _user: if 'city' in _user: _inf += 'Живет: ' + _user['country']['title'] + ', ' + _user['city']['title'] + '\n' if 'home_town' in _user: if len(_user['home_town']) > 0: _inf += 'Родной город: ' + _user['home_town'] + '\n' if 'mobile_phone' in _user: _inf += 'Мобильный: ' + _user['mobile_phone'] + '\n' if 'home_phone' in _user: _inf += 'Домашний: ' + _user['home_phone'] + '\n' if 'career' in _user: for career in _user['career']: if career['company']: _inf += 'Работа: ' + career['company'] + ' (' + career['position'] + ')\n' break if 'relation' in _user: if _user['relation'] != 0: if _user['relation'] == 6: _inf += 'Семейное положение: В активном поиске' elif _user['relation'] == 1: _inf += 'Семейное положение: Не женат' else: _inf += 'Семейное положение: ' + _user['relation_partner']['first_name'] + ' ' \ + _user['relation_partner']['last_name'] + ' (' + str( _user['relation_partner']['id']) + ')\n' self.result['message'] = _inf else: self.result['message'] = 'Введите корректный id' except Exception as exc: # if False: print(exc) self.result['message'] = 'Введите корректный id' return True except Exception as e: self.result['message'] = str(e) return False