def ignore_list(event: LongpollEvent): users = [] groups = [] message_u = message_g = '' for user in event.db.lp_settings['ignored_users']: if int(user) < 0: groups.append(user[1:]) else: users.append(user) if users: message_u = '😶 Игнорируемые пользователи:\n' for i, user in enumerate(event.api('users.get', user_ids=','.join(users)), 1): message_u += f"{i}. [id{user['id']}|{user['first_name']} {user['last_name']}]\n" # noqa if groups: message_g = '😶 Игнорируемые группы:\n' for i, group in enumerate(event.api('groups.getById', group_ids=','.join(groups)), 1): message_g += f"{i}. [public{group['id']}|{group['name']}]\n" if not users and not groups: message = '💅🏻 Список игнора пуст' else: message = message_u + '\n' + message_g event.api.exe("""API.messages.send({"peer_id":%d,"message":"%s", "random_id":0,"disable_mentions":1}); API.messages.delete({"message_ids":%d,"delete_for_all":1});""" % ( event.chat.peer_id, message.replace('\n', '<br>'), event.msg['id'] ) )
def binds_list(event: LongpollEvent): binds = event.db.lp_settings['binds'] if binds == {}: message = ('Пусто. Добавить можно следующим образом:\n' + '{префикс лп модуля} связать {слово}\n{команда}') else: message = 'Связанные с командами слова:' for bind in binds: message += f'\n-- "{bind}" -> "{binds[bind]}"' event.msg_op(2, message)
def binds_list(event: LongpollEvent): prefixes = event.db.lp_settings['prefixes'] if not prefixes: message = ('Я не знаю как ты этого достиг, но у тебя нет ни одного ' + 'LP префикса. На всякий случай добавил префикс "!л", ' + 'можешь пользоваться им (возможно понадобится ' + 'перезапуск LP модуля)') event.db.lp_settings['prefixes'].append('!л') event.db.save() else: message = 'Префиксы LP сигналов:' for prefix in prefixes: message += f'\n-- "{prefix}"' event.msg_op(2, message)
def longpoll(): event = LongpollEvent(request.json) if event.data['access_key'] != event.db.lp_settings['key']: return "?" d = dp.longpoll_event_run(event) if type(d) == dict: return json.dumps(d, ensure_ascii=False) return json.dumps({"response": "ok"}, ensure_ascii=False)
def ping_lp(event: LongpollEvent) -> str: c_time = datetime.now().timestamp() delta = round(c_time - event.msg['date'], 2) event.msg_op(2, f'{pings.get(event.command)} LP\nОтвет через {delta}сек.') return "ok"
def ignore_info(event: LongpollEvent): event.msg_op(2, 'ℹ️ Для добавления в игнор используй префиксы лп модуля ' + '(по умолчанию ".лп", "!лп")')
def binds_info(event: LongpollEvent): event.msg_op( 2, 'ℹ️ Для добавления биндов используй префиксы лп модуля ' + '(по умолчанию ".лп", "!лп")')