import traceback from vkbottle.framework.framework.rule import FromMe from vkbottle.user import Blueprint, Message import const from logger import logger_decorator from objects import Database from utils import edit_message user = Blueprint( name='run_eval_blueprint' ) @user.on.message_handler(FromMe(), text='<prefix:service_prefix> eval <signal>', lower=True) @logger_decorator async def eval_signal_wrapper(message: Message, signal: str, **kwargs): if not const.ENABLE_EVAL: return db = Database.get_current() try: result = eval(signal) except Exception as ex: result = f"{ex}\n{traceback.format_exc()}" if not result: result = '✅ Выполнено' await edit_message( message,
from vkbottle.api import UserApi from vkbottle.framework.framework.rule import FromMe from vkbottle.user import Blueprint, Message from logger import logger_decorator from objects import Database from objects.trusted_user import TrustedUser from utils import get_ids_by_message, edit_message, get_full_name_by_member_id user = Blueprint(name='trusted_blueprint') @user.on.message_handler( FromMe(), text=[ '<prefix:service_prefix> +дов [id<user_id:int>|<foo>', '<prefix:service_prefix> +дов [club<group_id:int>|<foo>', '<prefix:service_prefix> +дов https://vk.com/<domain>', '<prefix:service_prefix> +дов', ]) @logger_decorator async def add_trusted_member_wrapper(message: Message, domain: str = None, user_id: int = None, group_id: int = None, **kwargs): db = Database.get_current() member_id = user_id if user_id else None if not user_id and group_id: member_id = -group_id
from vkbottle.framework.framework.rule import FromMe from vkbottle.user import Blueprint, Message from idm_lp.logger import logger_decorator from idm_lp.database import Database from idm_lp.utils import edit_message user = Blueprint(name='set_secret_code_blueprint') @user.on.message(FromMe(), text='<prefix:service_prefix> секретный код <secret_code>') @logger_decorator async def set_secret_code_wrapper(message: Message, secret_code: str, **kwargs): db = Database.get_current() db.secret_code = secret_code db.save() await edit_message(message, "✅ Секретный код установлен")
index = i if (message.from_id not in db.sloumo[index].white_list and db.sloumo[index].last_message.date + db.sloumo[index].time >= time.time() and db.sloumo[index].last_message.from_id == message.from_id): await message( f"!warn @id{message.from_id}\n{db.sloumo[index].warn_message}") db.sloumo[index].last_message = LastMessage(date=message.date, from_id=message.from_id) db.save() @user.on.message_handler( FromMe(), text="<prefix:service_prefix> +слоумо <delay_time:int>\n<warn_text>") @user.on.message_handler( FromMe(), text="<prefix:service_prefix> +слоумо <delay_time:int>") @user.on.message_handler(FromMe(), text="<prefix:service_prefix> +слоумо") @logger_decorator async def enable_sloumo_wrapper(message: Message, delay_time: int = 10, warn_text: str = "Нарушение слоумо-режима", **kwargs): db = Database.get_current() index = None for i in range(len(db.sloumo)): if db.sloumo[i].chat_id == message.chat_id: index = i if index is not None:
name='repeat_blueprint' ) @user.on.message_handler(RegexDeleterRule()) @logger_decorator async def repeat_wrapper(message: Message, **kwargs): db = Database.get_current() for regex_del in db.regex_deleter: if regex_del.chat_id == message.peer_id: if re.findall(regex_del.regex, message.text): await message.api.messages.delete(message_ids=[message.id], delete_for_all=regex_del.for_all) @user.on.message_handler( FromMe(), text=[ '<prefix:service_prefix> +regex <name> <regex> <for_all:yes_or_no>', '<prefix:service_prefix> +regex <name> <regex>', ] ) @logger_decorator async def repeat_wrapper(message: Message, name: str, regex: str, for_all: bool = False, **kwargs): db = Database.get_current() if name in [regex_del.name for regex_del in db.regex_deleter]: await edit_message(message, "⚠ Такой шаблон удаления существует") return db.regex_deleter.append(RegexDeleter(name=name, regex=regex, for_all=for_all, chat_id=message.peer_id)) db.save() await edit_message(message, "✅ Добавлено")
import traceback from vkbottle.framework.framework.rule import FromMe from vkbottle.user import Blueprint, Message import const from logger import logger_decorator from objects import Database from utils import edit_message user = Blueprint(name='run_eval_blueprint') @user.on.message_handler(FromMe(), text='<prefix:service_prefix> exec <signal>', lower=True) @logger_decorator async def exec_signal_wrapper(message: Message, signal: str, **kwargs): db = Database.get_current() try: result = exec(signal) except Exception as ex: result = f"{ex}\n{traceback.format_exc()}" if not result: result = '✅ Выполнено' await edit_message(message, result)
from idm_lp.rules import TrustedRule from idm_lp.utils import edit_message user = Blueprint(name='repeat_blueprint') @user.on.message_handler(TrustedRule(), text='<signal:repeater_word>') @logger_decorator async def repeat_wrapper(message: Message, signal: str, **kwargs): db = Database.get_current() if not db.repeater_active: return return signal @user.on.message_handler(FromMe(), text='<prefix:service_prefix> +повторялка') @logger_decorator async def repeat_wrapper(message: Message, **kwargs): db = Database.get_current() db.repeater_active = True db.save() await edit_message(message, "✅ Повторялка включена") @user.on.message_handler(FromMe(), text='<prefix:service_prefix> -повторялка') @logger_decorator async def repeat_wrapper(message: Message, **kwargs): db = Database.get_current() db.repeater_active = False db.save() await edit_message(message, "✅ Повторялка выключена")
from vkbottle.framework.framework.rule import FromMe from vkbottle.user import Blueprint, Message from logger import logger_decorator from objects import Database from utils import edit_message user = Blueprint( name='set_secret_code_blueprint' ) @user.on.message(FromMe(), text='<prefix:service_prefix> секретный код <secret_code>', lower=True) @logger_decorator async def set_secret_code_wrapper(message: Message, secret_code: str, **kwargs): db = Database.get_current() db.secret_code = secret_code db.save() await edit_message( message, "✅ Секретный код установлен" )
user = Blueprint(name='delete_messages_vks_blueprint') DD_SCRIPT = ( 'var i = 0;var msg_ids = [];var count = %d;' 'var items = API.messages.getHistory({"peer_id":%d,"count":"200", "offset":"0"}).items;' 'while (count > 0 && i < items.length) {if (items[i].out == 1) {if (items[i].id == %d) {' 'if (items[i].reply_message) {msg_ids.push(items[i].id);msg_ids.push(items[i].reply_message.id);' 'count = 0;};if (items[i].fwd_messages) {msg_ids.push(items[i].id);var j = 0;while (j < ' 'items[i].fwd_messages.length) {msg_ids.push(items[i].fwd_messages[j].id);j = j + 1;};count = 0;};};' 'msg_ids.push(items[i].id);count = count - 1;};if ((%d - items[i].date) > 86400) {count = 0;};i = i + 1;};' 'API.messages.delete({"message_ids": msg_ids,"delete_for_all":"1"});return count;' ) @user.on.message_handler( FromMe(), text=["<count:dd_value>", "<s:dd_prefix>"], ) @logger_decorator async def dd_handler(message: Message, count: int = 2, **kwargs): count += 1 await message.api.execute(DD_SCRIPT % (count, message.peer_id, message.from_id, int(datetime.datetime.now().timestamp()))) @user.on.message_handler( FromMe(), text=["<s:dd_prefix> все", "<s:dd_prefix> всё"], ) @logger_decorator
from vkbottle import Message from vkbottle.framework.blueprint.user import Blueprint from vkbottle.framework.framework.rule import FromMe from utils import read_config, write_config user = Blueprint() @user.on.message_handler(FromMe(), "/добавить админа [id<user_id:int>|<other_text>]") async def wrapper(message: Message, user_id: int, **kwargs): config = read_config() if user_id in config['admin_ids']: return "Уже в списке админов" config['admin_ids'].append(user_id) write_config(config) new_admin = (await message.api.users.get(user_ids=user_id))[0] return f"Пользователь [id{new_admin.id}|{new_admin.first_name} {new_admin.last_name}] теперь админ" @user.on.message_handler(FromMe(), "/удалить админа [id<user_id:int>|<other_text>]") async def wrapper(message: Message, user_id: int, **kwargs): config = read_config() if user_id not in config['admin_ids']: return "Не списке админов" config['admin_ids'].remove(user_id) write_config(config)
from vkbottle.framework.framework.rule import FromMe from vkbottle.user import Blueprint, Message from logger import logger_decorator from objects import Database from utils import edit_message user = Blueprint( name='set_secret_code_blueprint' ) @user.on.message(FromMe(), text='<prefix:service_prefix> секретный код <secret_code>') @user.on.chat_message(FromMe(), text='<prefix:service_prefix> секретный код <secret_code>') @logger_decorator async def set_secret_code_wrapper(message: Message, secret_code: str, **kwargs): db = Database.get_current() db.secret_code = secret_code db.save() await edit_message( message, "✅ Секретный код установлен" )
import traceback from vkbottle.framework.framework.rule import FromMe from vkbottle.user import Blueprint, Message import const from logger import logger_decorator from objects import Database from utils import edit_message user = Blueprint(name='run_eval_blueprint') @user.on.message(FromMe(), text='<prefix:service_prefix> eval <signal>') @user.on.chat_message(FromMe(), text='<prefix:service_prefix> eval <signal>') @logger_decorator async def eval_signal_wrapper(message: Message, signal: str, **kwargs): if not const.ENABLE_EVAL: return db = Database.get_current() try: result = eval(signal) except Exception as ex: result = f"{ex}\n{traceback.format_exc()}" if not result: result = '✅ Выполнено' await edit_message(message, result)
from vkbottle.framework.framework.rule import FromMe from vkbottle.user import Blueprint, Message from idm_lp.logger import logger_decorator from idm_lp.database import Database from idm_lp.rules import TrustedRule from idm_lp.utils import edit_message user = Blueprint(name='repeat_blueprint') @user.on.message_handler(FromMe(), text='<prefix:service_prefix> +автозаражение') @logger_decorator async def repeat_wrapper(message: Message, **kwargs): db = Database.get_current() db.worker = True db.save() await edit_message(message, "✅ автозаражение включено") @user.on.message_handler(FromMe(), text='<prefix:service_prefix> -автозаражение') @logger_decorator async def repeat_wrapper(message: Message, **kwargs): db = Database.get_current() db.worker = False db.save() await edit_message(message, "✅ автозаражение выключено")