def cmd(t=None, p=None, u=None, m=None, d=None): md = f"{var.name} [v{var.version}]" var.answer = False var.start_now = False for a in var.plugins: res = dict() res['message'] = '' res['attachment'] = '' res = a.cmd(t, p, u, m, d) if not res is False: if len(str(res)) > 0: p = str(a)[str(a).find('.')+1:str(a).find(' ')] p = p[p.find('.')+1:] Log.show_plugin(res['plugin'] + ' (' + p + ')') var.answer = True if not res['message'] is None or not res['attachment'] is None: if res['message']: res['message'] = f"{res['message']}\n{md}" VK().Messages().send(message=res['message'], forward_messages=d) elif res['attachment']: VK().Messages().send(message=md, attachment=res['attachment'], forward_messages=d) if not res['lat'] is None and not res['long'] is None: var.answer = True VK().Messages().send(message=md, lat=res['lat'], long=res['long'], forward_messages=d) if not res['forward_messages'] is None: VK().Messages().send(message=md, forward_messages=res['forward_messages']) if not var.answer and m != 'b' and not var.start_now: UEngine.what() Log.show_plugin('None')
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: self.result['message'] = UEngine.get_password( UEngine.get_user_id(self.text)) return True except Exception as e: self.result['message'] = str(e) return False
def func(self): try: self.text = self.text.replace('^', '**') def mandelbrot(s, pmin, pmax, ppoints, qmin, qmax, qpoints, max_iterations=200, infinity_border=10): image = np.zeros((ppoints, qpoints)) p, q = np.mgrid[pmin:pmax:(ppoints * 1j), qmin:qmax:(qpoints * 1j)] c = p + 1j * q z = np.zeros_like(c) for k in range(max_iterations): z = eval(s) mask = (np.abs(z) > infinity_border) & (image == 0) image[mask] = k z[mask] = np.nan plt.imsave(fname=f'img{k}.jpg', arr=-image.T, cmap='flag') return -image.T if len(self.text) == 0: self.text = 'z**2 + c' if not 'c' in self.text: self.text += ' + c' if not 'z' in self.text: self.text = 'z * ' + self.text plt.figure(figsize=(10, 10)) mandelbrot(self.text, -2.5, 1.5, 500, -2, 2, 500, 100) plt.xticks([]) plt.yticks([]) if self.mode == '+': images = [] for img in range(0, 100): imgname = 'img' + str(img) + '.jpg' images.append(imageio.imread(imgname)) imageio.mimsave('img.gif', images) for i in range(0, 99): os.remove(f'img{i}.jpg') if self.mode == '+': self.result['attachment'] = UEngine.doc('img.gif') os.remove('img.gif') else: self.result['attachment'] = UEngine.image('img99.jpg') os.remove('img99.jpg') 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 = [-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): 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): 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): 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): 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): 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: 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 self.photo is None: 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), (255 - a, 255 - b, 255 - c)) image.save('img.jpg', "JPEG") del draw self.result['attachment'] = UEngine.image('img.jpg') os.remove('img.jpg') 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): 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: if not self.photo is None: 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] part1 = image.crop((0, 0, width / 2, height)) part2 = part1.transpose(Image.FLIP_LEFT_RIGHT) image.paste(part2, (round(width / 2), 0)) image.save('img.jpg', "JPEG") del draw self.result['attachment'] = UEngine.image('img.jpg') os.remove('img.jpg') 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: user_id = self.text if len(str(user_id)) > 0 and UEngine.user_exist_in_chat(user_id): if not int(user_id) in db.admins: if self.mode == '+': db.admins.append(int(user_id)) self.result['message'] = UEngine.get_link_by_id(user_id) + ' добавлен в админы' else: self.result['message'] = UEngine.get_link_by_id(user_id) + ' не является админом' else: if self.mode == '-': db.admins.remove(int(user_id)) self.result['message'] = UEngine.get_link_by_id(user_id) + ' удален из админов' else: self.result['message'] = UEngine.get_link_by_id(user_id) + ' уже в админах' UEngine.reset_privilege() 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: f = codecs.open('DB\\languages.txt', 'r', 'utf-8') t = eval(f.read()) f.close() if self.mode == '+': if str(self.text) in t: u = str(UEngine.get_username_by_id(self.user)) if not u in t[str(self.text)]: f = codecs.open('DB\\languages.txt', 'w', 'utf-8') t[str(self.text)].append(u) f.write(str(t)) f.close() self.result[ 'message'] = f'Теперь {u} знает {str(self.text)}' else: self.result['message'] = 'Уже есть.' else: self.result[ 'message'] = f'Введите корректный ЯП: ' + ', '.join( [i for i in t]) elif self.mode == '-': if str(self.text) in t: u = str(UEngine.get_username_by_id(self.user)) if u in t[str(self.text)]: f = codecs.open('DB\\languages.txt', 'w', 'utf-8') t[str(self.text)].remove(u) f.write(str(t)) f.close() self.result[ 'message'] = f'Теперь {u} не знает {str(self.text)}' else: self.result['message'] = 'Ты не знаешь этот язык.' else: if str(self.text) in t: self.result['message'] = ', '.join(t[str(self.text)]) else: s = [i for i in t] self.result['message'] = '\n'.join([ (i + ': ' + ', '.join(t[i])) for i in s ]) return True except Exception as e: self.result['message'] = str(e) return False
def func(self): try: user_id = self.text if len(str(user_id)) > 0 and UEngine.user_exist_in_chat(user_id): if not int(user_id) in db.moders: if self.mode == '+': db.moders.append(int(user_id)) self.result['message'] = UEngine.get_link_by_id( user_id) + ' добавлен в модеры' else: self.result['message'] = UEngine.get_link_by_id( user_id) + ' не является модером' else: if self.mode == '-': db.moders.remove(int(user_id)) self.result['message'] = UEngine.get_link_by_id( user_id) + ' удален из модеров' else: self.result['message'] = UEngine.get_link_by_id( user_id) + ' уже в модерах' UEngine.reset_privilege() 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 = [ -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): try: task = str(random.randint(1, 1000)) self.result['message'] = \ 'Задача №' + task + '\n' + \ UEngine.get_text(requests.get('http://acmp.ru/index.asp?main=task&id_task=' + task)) return True except Exception as e: self.result['message'] = str(e) return False
def func(self): try: if len(str(self.text)) > 0: tts = gTTS(text=str(self.text), lang='ru') tts.save('audio.ogg') self.result['attachment'] = UEngine.audio_message('audio.ogg') os.remove('audio.ogg') return True except Exception as e: self.result['message'] = str(e) return False
def func(self): try: if random.randint(0, 100) <= 10: self.result['message'] = 'Никто' else: self.result['message'] = UEngine.get_link_by_id( random.choice(VK().Messages().get_chat()['users'])) return True except Exception as e: self.result['message'] = str(e) return False
def func(self): try: f = codecs.open('DB\\userinfo.txt', 'r', 'utf-8') t = eval(f.read()) f.close() if self.mode == '+': user_id = str(self.user) f = codecs.open('DB\\userinfo.txt', 'w', 'utf-8') text = self.text text = text.replace(': ', ':') text = "{'" + text + "'}" text = text.replace(':', "':'") text = eval(text) if str(user_id) in t: for i in text: t[str(user_id)][str(i)] = text[str(i)] else: t[str(user_id)] = dict() for i in text: t[str(user_id)][str(i)] = text[str(i)] f.write(str(t)) f.close() # r = [t[i] for i in t if i == str(user_id)][0] self.result['message'] = 'Добавлено.' elif self.mode == '-': if str(self.text) in t[str(self.user)]: f = codecs.open('DB\\userinfo.txt', 'w', 'utf-8') t[str(self.user)].pop(str(self.text)) f.write(str(t)) f.close() else: self.result['message'] = 'У вас нет этого поля.' self.result['message'] = 'Удалено.' else: if len(self.text) > 0: user_id = self.text else: user_id = str(self.user) try: user_id = UEngine.get_user_id(user_id) if str(user_id) in t: r = [t[i] for i in t if i == str(user_id)][0] self.result['message'] = '\n'.join([(i + ': ' + r[i]) for i in r]) else: self.result[ 'message'] = 'Пользователь с таким id не заполнил информацию.' except Exception as e: self.result['message'] = 'Введите корректный id: ' + str(e) return True except Exception as e: self.result['message'] = str(e) return False
def func(self): try: message = UEngine.get_message_by_id(self.message) if 'fwd_messages' in message['items'][0]: _str = UEngine.get_username_by_id(message['items'][0]['user_id']) + ' пожаловался на ' + \ UEngine.get_username_by_id(message['items'][0]['fwd_messages'][0]['user_id']) + ': "' + \ message['items'][0]['fwd_messages'][0]['body'] + '"' # Log.show_info(_str) f = open('DB\\report.txt', 'a') f.write(_str + '\n') f.close() self.result['message'] = f'Report for ' \ f'{UEngine.get_link_by_id(message["items"][0]["fwd_messages"][0]["user_id"])}'\ f' submitted, report id {message["items"][0]["id"] * 1177647263131337}.' else: self.result[ 'message'] = 'Пожаловаться можно только на сообщение' return True except Exception as e: self.result['message'] = str(e) return False