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: 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: user_id = self.text if 'id' in str(user_id): user_id = user_id[2:len(user_id)] else: user_id = UEngine.get_user_id(user_id) if int(user_id) in db.privilege: self.result['message'] = 'Нельзя кикнуть привилегированного.' elif UEngine.user_exist_in_chat(user_id): VK().Messages().remove_chat_user(user_id=user_id) self.result['message'] = UEngine.get_username_by_id( user_id) + ' кикнут.' else: self.result['message'] = 'Такого пользователя нет в беседе.' Log.show_info( str( UEngine.get_username_by_id( UEngine.get_user_id_by_message(self.message))) + 'пытался кикнуть ' + UEngine.get_username_by_id(user_id)) 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
def func(self): try: vote_time = 60 _correct = True _start = True var.getting = True if not '?' in self.text or not '!' in self.text: _correct = False if not _correct: if '~' in self.text: _correct = True command = '' if _correct: _id = 0 q = '' a = [] _users_voted = [] _messages_voted = [] _cmd_active = False if '~' in self.text: command = self.text[1:self.text.find(' ')] mes = self.text[self.text.find(' ') + 1:] a.append(['Да', 0]) a.append(['Нет', 0]) try: mes = UEngine.get_user_id(mes) _id = int(mes) if _id in db.privilege or _id in db.white or not UEngine.user_exist_in_chat( _id): _start = False mes = UEngine.get_link_by_id(_id) _cmd_active = True except Exception as _exc: print(_exc) _start = False else: q = self.text[:self.text.find('?')] mes = self.text[self.text.find('?') + 2:] if not _cmd_active: while mes != '': a.append([mes[:mes.find('!')], 0]) mes = mes[mes.find('!') + 2:] def get(): _all_votes = 0 _start_in = VK().Messages().get_history(count=0)['count'] time.sleep(vote_time) _end = VK().Messages().get_history(count=0)['count'] cnt = (_end - _start_in) * 2 response = VK().Messages().get_history(count=cnt)['items'] response = response[::-1] for item in response: _a = item['body'].lower() i = 0 _in = True if not item[ 'user_id'] in _users_voted and not '?' in _a: while i < len(a) and _in: if a[i][0].lower() == _a: a[i][1] += 1 _all_votes += 1 _in = False i += 1 if not _in: _users_voted.append(item['user_id']) _messages_voted.append(item['id']) _str = 'Результаты:\n' i = 0 def f(n, c): _f = 100 / n * c if c == 0: return '0.00' else: return str(int(_f * 100) / 100) def sort_col(n): return n[1] if _all_votes > 0: a.sort(key=sort_col, reverse=True) while i < len(a): _str += str(a[i][1]) + '. ' + a[i][0] + ' [%' + f( _all_votes, a[i][1]) + ']\n' i += 1 VK().Messages().send( message=_str, forward_messages=', '.join( str(_exc_in) for _exc_in in _messages_voted)) if command: if a[0][1] == a[1][1]: self.result['message'] = 'Живи' + self.text elif a[0][0] == 'Да': VK().Messages().remove_chat_user(user_id=_id) else: self.result['message'] = 'Живи' + self.text return True else: self.result['message'] = 'Голосование отменено.' def start(question=None, answers=None): _str = f'[{vote_time} sec] Голосование: ' if command != '': _str += command + ' -> ' + mes else: _str += question _str += '\n' _i = 1 for i in answers: _str += '- ' + i[0] + '\n' _i += 1 VK().Messages().send(message=_str) get() if _start: start(q, a) else: self.result['message'] = 'Ошибка' else: self.result['message'] = 'Неправильная команда' return True except Exception as e: self.result['message'] = str(e) return False