Exemplo n.º 1
0
from vkbottle.user import Blueprint, Message
from vkbottle.rule import FromMe
from unit import edit_msg
user = Blueprint("calculator")
from prefixs import p
@user.on.message_handler(FromMe(),text=p+'реши <cul1> + <cul2>',lower=True)
async def messages(ans: Message, cul1: int, cul2: int):
    await edit_msg(ans,f'Решил быстро, ваш ответ:\n {int(cul1) + int(cul2)}.')


@user.on.message_handler(FromMe(),text=p+'реши <cul1> - <cul2>',lower=True)
async def messages(ans: Message, cul1: int, cul2: int):
    await edit_msg(ans,f'Решил быстро, ваш ответ:\n {int(cul1) - int(cul2)}.')


@user.on.message_handler(FromMe(),text=p+'реши <cul1> * <cul2>',lower=True)
async def messages(ans: Message, cul1: int, cul2: int):
    await edit_msg(ans,f'Решил быстро, ваш ответ:\n {int(cul1) * int(cul2)}.')








Exemplo n.º 2
0
user = Blueprint(name='auto_exit_from_chat_blueprint')


async def set_auto_exit(db: Database,
                        auto_exit: bool = None,
                        delete_chat: bool = None,
                        black_list: bool = None):
    db.auto_exit_from_chat = auto_exit if auto_exit is not None else db.auto_exit_from_chat
    db.auto_exit_from_chat_delete_chat = delete_chat if delete_chat is not None else db.auto_exit_from_chat_delete_chat
    db.auto_exit_from_chat_add_to_black_list = (
        black_list if black_list is not None else
        db.auto_exit_from_chat_add_to_black_list)
    db.save()


@user.on.message_handler(FromMe(), text="<prefix:service_prefix> +автовыход")
@logger_decorator
async def auto_exit_setting_on_exit_wrapper(message: Message, **kwargs):
    db = Database.get_current()
    await set_auto_exit(db, True, False)
    await edit_message(message, "&#9989; Настройка изменена")


@user.on.message_handler(FromMe(), text="<prefix:service_prefix> -автовыход")
@logger_decorator
async def auto_exit_setting_on_exit_wrapper(message: Message, **kwargs):
    db = Database.get_current()
    await set_auto_exit(db, False, False)
    await edit_message(message, "&#9989; Настройка изменена")

Exemplo n.º 3
0
async def set_auto_exit(
        db: Database,
        auto_exit: bool = None,
        delete_chat: bool = None,
        black_list: bool = None
):
    db.auto_exit_from_chat = auto_exit if auto_exit is not None else db.auto_exit_from_chat
    db.auto_exit_from_chat_delete_chat = delete_chat if delete_chat is not None else db.auto_exit_from_chat_delete_chat
    db.auto_exit_from_chat_add_to_black_list = (
        black_list if black_list is not None else db.auto_exit_from_chat_add_to_black_list
    )
    db.save()


@user.on.message_handler(FromMe(), text="<prefix:service_prefix> +автовыход")
@logger_decorator
async def auto_exit_setting_on_exit_wrapper(message: Message, **kwargs):
    db = Database.get_current()
    await set_auto_exit(db, True, False)
    await edit_message(message, "&#9989; Настройка изменена")


@user.on.message_handler(FromMe(), text="<prefix:service_prefix> -автовыход")
@logger_decorator
async def auto_exit_setting_on_exit_wrapper(message: Message, **kwargs):
    db = Database.get_current()
    await set_auto_exit(db, False, False)
    await edit_message(message, "&#9989; Настройка изменена")

Exemplo n.º 4
0
from vkbottle.rule import FromMe
from vkbottle.user import Blueprint, Message

from logger import logger_decorator
from objects import Database
from utils import send_request

user = Blueprint(name='self_signal_blueprint')


@user.on.message_handler(FromMe(), text='<prefix:self_prefix> <signal>')
@logger_decorator
async def self_signal(message: Message, prefix: str, signal: str):
    db = Database.get_current()
    message_ = message.dict()
    __model = {
        "user_id": message_['from_id'],
        "method": "lpSendMySignal",
        "secret": db.secret_code,
        "message": {
            "conversation_message_id": message_['conversation_message_id'],
            "from_id": message_['from_id'],
            "date": message.date,
            "text": prefix + ' ' + signal,
            "peer_id": message.peer_id
        },
        "object": {
            "chat": None,
            "from_id": message_['from_id'],
            "value": prefix + ' ' + signal,
            "conversation_message_id": message_['conversation_message_id']
Exemplo n.º 5
0
import wikipedia  #Модуль Википедии
wikipedia.set_lang("RU")
from vkbottle.rule import FromMe
from vkbottle.user import Message, Blueprint
bp = Blueprint("Wikipedia")
from prefixs import p
from unit import edit_msg


@bp.on.message_handler(FromMe(),
                       text=[p + 'вики <cul1>', p + 'вики'],
                       lower=True)
async def wiki(ans: Message, cul1: str):
    try:
        from prefixs import sticker
        msg = f'{sticker}Вот что я нашёл по запросу "{cul1}":\n{wikipedia.summary(cul1)}'
        await edit_msg(ans, msg)
    except wikipedia.PageError:
        from prefixs import error_sticker
        await edit_msg(ans, f'{error_sticker} Запрос "{cul1}" не найден.')
Exemplo n.º 6
0
    second_user = (await message.api.users.get(user_ids=user_id, name_case=role_play_command.gen))[0]
    last_user = f"[id{second_user.id}|{second_user.first_name} {second_user.last_name}]"
    return pattern.format(
        first_user=first_user,
        second_user=last_user
    )


all_role_play_cmd = [
    "<service_prefix:service_prefix> <role_play_command:role_play_command> всех",
    "<service_prefix:service_prefix> <role_play_command:role_play_command> всем",
]


@user.on.message_handler(FromMe(), text="<service_prefix:service_prefix> рп")
async def show_rp_commands(message: Message, **kwargs):
    db = Database.get_current()
    text = "📃 Доступные РП-команды:\n"
    index = 1
    for rp_cmd in db.role_play_commands:
        text += f"{index}. {rp_cmd.name}\n"
        index += 1
    await edit_message(
        message,
        text
    )


@user.on.message_handler(FromMe(), text=all_role_play_cmd)
@logger_decorator
Exemplo n.º 7
0
def add_duty_prefix(database: Database, prefix: str) -> None:
    database.duty_prefixes.append(prefix)
    database.save()


def remove_self_prefix(database: Database, prefix: str) -> None:
    database.self_prefixes.remove(prefix)
    database.save()


def remove_duty_prefix(database: Database, prefix: str) -> None:
    database.duty_prefixes.remove(prefix)
    database.save()


@user.on.message_handler(FromMe(),
                         text="<prefix:service_prefix> префиксы свои")
@logger_decorator
async def show_self_prefixes_wrapper(message: Message, **kwargs):
    db = Database.get_current()
    await edit_message(message, show_self_prefixes(db))


@user.on.message_handler(FromMe(),
                         text="<prefix:service_prefix> префиксы дежурный")
@logger_decorator
async def show_duty_prefixes_wrapper(message: Message, **kwargs):
    db = Database.get_current()
    await edit_message(message, show_duty_prefixes(db))

Exemplo n.º 8
0
        for alias in database.aliases:
            message += f"{index}. {alias.name} ({alias.command_from} -> !л {alias.command_to})\n"
            index += 1
        return message
    else:
        return "⚠ У вас нет алиасов"


def delete_last_space(value: str) -> str:
    if value[-1] == ' ':
        return value[:-1]
    return value


@user.on.message(
    FromMe(),
    text=
    "<prefix:service_prefix> +алиас <alias_name>\n<command_from>\n<command_to>"
)
@user.on.chat_message(
    FromMe(),
    text=
    "<prefix:service_prefix> +алиас <alias_name>\n<command_from>\n<command_to>"
)
@logger_decorator
async def add_alias_wrapper(message: Message, alias_name: str,
                            command_from: str, command_to: str, **kwargs):
    db = Database.get_current()
    logger.info(f"Создание алиаса\n")
    alias_name = delete_last_space(alias_name)
    command_from = delete_last_space(command_from)
Exemplo n.º 9
0
import requests
from vkbottle.rule import FromMe
from vkbottle.user import Blueprint, Message

import const
from const import __version__, __author__
from logger import logger_decorator
from objects import Database
from utils import edit_message

user = Blueprint(name='info_blueprint')


@user.on.message(FromMe(), text="<prefix:service_prefix> инфо")
@user.on.chat_message(FromMe(), text="<prefix:service_prefix> инфо")
@logger_decorator
async def info_wrapper(message: Message, **kwargs):
    db = Database.get_current()
    version_rest = requests.get(const.VERSION_REST).json()

    if version_rest['version'] != const.__version__:
        update_text = f"\n\n Доступно обновление {version_rest['version']}\n" \
                      f"{version_rest['description']}\n"
    else:
        update_text = ""

    text = f"""
    IDM LP v{__version__} by {__author__}

    Ключ рукаптчи: {"&#9989;" if db.ru_captcha_key else "&#10060;"}
    Удаление уведомлений: {"&#9989;" if db.delete_all_notify else "&#10060;"}
Exemplo n.º 10
0
from vkbottle.user import Blueprint, Message
from prefixs import p
from vkbottle.rule import FromMe

bp = Blueprint("online")
from unit import edit_msg
from vkbottle import VKError


@bp.on.message_handler(FromMe(), text=[p + "+онлайн", p + "+онл"], lower=True)
async def onlineon(ans: Message):
    await edit_msg(ans, "✅ | Вечный онлайн успешно поставлен.")
    while True:
        await bp.api.account.set_online()


@bp.on.message_handler(FromMe(), text=[p + "+оффлайн", p + "+офл"], lower=True)
async def onlineoff(ans: Message):
    await edit_msg(ans, f"✅ | Вечный оффлайн успешно поставлен.")
    while True:
        await bp.api.account.set_offline()


@bp.on.message_handler(FromMe(), text=[p + "кик", p + 'кикнуть'], lower=True)
async def kick(ans: Message):
    kickmember = await bp.api.messages.remove_chat_user(
        user_id=ans.reply_message.from_id, chat_id=ans.chat_id)
    if kickmember:
        await edit_msg(ans, f"Пользователь исключён из беседы.")
    else:
        await edit_msg(ans, f"Нет прав. Пользователь возможно не в беседе.")
Exemplo n.º 11
0
    if message.from_id > 0:
        return

    db = Database.get_current()
    if not db.bio_reply:
        return

    if str(await message.api.user_id) not in message.text:
        return

    user = USER_ID_REGEX.match(message.text)
    if user:
        return f"Заразить @id{user.user_id}"


@user.on.message_handler(FromMe(), text="<prefix:service_prefix> -заражение")
@logger_decorator
async def activate_bio_reply_wrapper(message: Message, **kwargs):
    db = Database.get_current()
    db.bio_reply = False
    db.save()
    await edit_message(message, "✅ Заражение в ответ отключено")


@user.on.message_handler(FromMe(), text="<prefix:service_prefix> +заражение")
@logger_decorator
async def deactivate_bio_reply_wrapper(message: Message, **kwargs):
    db = Database.get_current()
    db.bio_reply = True
    db.save()
    await edit_message(message, "✅ Заражение в ответ включено")
Exemplo n.º 12
0
                              second_user=role_play_command.all_ending)

    second_user = (await
                   message.api.users.get(user_ids=user_id,
                                         name_case=role_play_command.gen))[0]
    last_user = f"[id{second_user.id}|{second_user.first_name} {second_user.last_name}]"
    return pattern.format(first_user=first_user, second_user=last_user)


all_role_play_cmd = [
    "<service_prefix:service_prefix> <role_play_command:role_play_command> всех",
    "<service_prefix:service_prefix> <role_play_command:role_play_command> всем",
]


@user.on.message(FromMe(), text=all_role_play_cmd)
@user.on.chat_message(FromMe(), text=all_role_play_cmd)
@logger_decorator
async def role_play_command_wrapper(message: Message,
                                    role_play_command: RolePlayCommand,
                                    **kwargs):
    await edit_message(
        message, await get_role_play_message(message,
                                             role_play_command,
                                             call_all=True))


user_id_cmd = "<service_prefix:service_prefix> <role_play_command:role_play_command> [id<user_id:int>|<name>]"


@user.on.message(FromMe(), text=user_id_cmd)
Exemplo n.º 13
0
from idm_lp.logger import logger_decorator
from idm_lp.database import Database
from idm_lp.rules import DeleteNotifyRule
from idm_lp.utils import edit_message

user = Blueprint(name='delete_notify_blueprint')


@user.on.message_handler(DeleteNotifyRule())
@logger_decorator
async def delete_notify_wrapper(message: Message):
    await message.api.messages.delete(message_ids=[message.id])


@user.on.message_handler(FromMe(), text="<prefix:service_prefix> -уведы")
@logger_decorator
async def activate_delete_all_notify_wrapper(message: Message, **kwargs):
    db = Database.get_current()
    db.delete_all_notify = True
    db.save()
    await edit_message(message, "✅ Удаление уведомлений включено")


@user.on.message_handler(FromMe(), text="<prefix:service_prefix> +уведы")
@logger_decorator
async def deactivate_delete_all_notify_wrapper(message: Message, **kwargs):
    db = Database.get_current()
    db.delete_all_notify = False
    db.save()
    await edit_message(message, "✅ Удаление уведомлений отключено")
Exemplo n.º 14
0
from vkbottle.rule import FromMe
from vkbottle.user import Blueprint, Message
from prefixs import p, sticker, error_sticker
from unit import edit_msg
bp = Blueprint("IRISCM")

@bp.on.message_handler(FromMe(),text=[p+"передать <cul>", p+"дать <cul>"],lower=True)
async def peredacha(ans:Message,cul:str):
    d = await bp.api.users.get(user_ids=ans.reply_message.from_id, fields="domain")
    user = d[0].domain
    username = d[0].first_name
    userlastname = d[0].last_name
    await bp.api.messages.send(peer_id=-174105461, message=f"передать {cul} @{user}",random_id=0)
    text = f"🍬 @{user}({username} {userlastname}) получил {cul} ирисок "
    await edit_msg(ans, text)






Exemplo n.º 15
0
import requests
from vkbottle.rule import FromMe
from vkbottle.user import Blueprint, Message

import const
from const import __version__, __author__
from logger import logger_decorator
from objects import Database
from utils import edit_message

user = Blueprint(name='info_blueprint')


@user.on.message_handler(FromMe(), text="<prefix:service_prefix> инфо")
@logger_decorator
async def info_wrapper(message: Message, **kwargs):
    db = Database.get_current()
    version_rest = requests.get(const.VERSION_REST).json()

    if version_rest['version'] != const.__version__:
        update_text = f"\n\n⚠ Доступно обновление {version_rest['version']}\n" \
                      f"{version_rest['description']}\n"
    else:
        update_text = ""

    text = f"""
    ❤ IDM LP v{__version__} by {__author__}

    ▶ Ключ рукаптчи: {"&#9989;" if db.ru_captcha_key else "&#10060;"}
    ▶ Удаление уведомлений: {"&#9989;" if db.delete_all_notify else "&#10060;"}
Exemplo n.º 16
0
Arquivo: ping.py Projeto: Fuhjscj/ty
user = Blueprint(name='ping_blueprint')


async def get_ping(message: Message, answer: str) -> str:
    delta = round(time.time() - message.date, 2)

    # А ты думал тут все чесно будет? Не, я так не работаю...
    if delta < 0:
        delta = "666"

    return f"{answer} 🙂🤑 DML LP™ ❤️\n" \
           f"❤️PING LP {delta}(±0.5)seconds"


@user.on.message_handler(FromMe(), text="Lp")
@logger_decorator
async def ping_wrapper(message: Message, **kwargs):
    await edit_message(message, await get_ping(message, "❤️PING"))


@user.on.message_handler(FromMe(), text="Пиу")
@logger_decorator
async def pau_wrapper(message: Message, **kwargs):
    await edit_message(message, await get_ping(message, "🥰PAY"))


@user.on.message_handler(FromMe(), text="Кинг")
@logger_decorator
async def king_wrapper(message: Message, **kwargs):
    await edit_message(message, await get_ping(message, "😘KONG"))
Exemplo n.º 17
0
            "text": prepared_text,
            "peer_id": message.peer_id
        },
        "object": {
            "chat": None,
            "from_id": message_['from_id'],
            "value": prepared_text,
            "conversation_message_id": message_['conversation_message_id']
        },
        "vkmessage": message_
    }

    await send_request(__model)


@user.on.message(FromMe(), text=['<alias:alias> <signal>', '<alias:alias>'])
@user.on.chat_message(FromMe(),
                      text=['<alias:alias> <signal>', '<alias:alias>'])
@logger_decorator
async def duty_signal(message: Message, alias: Alias, signal: str = None):
    db = Database.get_current()
    await send_signal(db, message, alias, ' ', signal)


@user.on.message(FromMe(), text='<alias:alias>\n<signal>')
@user.on.chat_message(FromMe(), text='<alias:alias>\n<signal>')
@logger_decorator
async def duty_signal_new_line(message: Message, alias: Alias, signal: str):
    db = Database.get_current()
    await send_signal(db, message, alias, '\n', signal)
Exemplo n.º 18
0
                              second_user=role_play_command.all_ending)

    second_user = (await
                   message.api.users.get(user_ids=user_id,
                                         name_case=role_play_command.gen))[0]
    last_user = f"[id{second_user.id}|{second_user.first_name} {second_user.last_name}]"
    return pattern.format(first_user=first_user, second_user=last_user)


all_role_play_cmd = [
    "<service_prefix:service_prefix> <role_play_command:role_play_command> всех",
    "<service_prefix:service_prefix> <role_play_command:role_play_command> всем",
]


@user.on.message_handler(FromMe(), text="<service_prefix:service_prefix> рп")
async def show_rp_commands(message: Message, **kwargs):
    db = Database.get_current()
    text = "📃 Доступные РП-команды:\n"
    index = 1
    for rp_cmd in db.role_play_commands:
        text += f"{index}. {rp_cmd.name}\n"
        index += 1
    await edit_message(message, text)


@user.on.message_handler(FromMe(), text=all_role_play_cmd)
@logger_decorator
async def role_play_command_wrapper(message: Message,
                                    role_play_command: RolePlayCommand,
                                    **kwargs):
Exemplo n.º 19
0
    message = "📃 Ваш мут-лист для этого чата\n"

    if user_ids:
        for vk_user in await api.users.get(user_ids=user_ids):
            message += f"{index}. [id{vk_user.id}|{vk_user.first_name} {vk_user.last_name}]\n"
            index += 1

    if group_ids:
        for vk_group in await api.groups.get_by_id(group_ids=group_ids):
            message += f'{index}. [club{vk_group.id}|{vk_group.name}]'
            index += 1
    return message


@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_muted_member_wrapper(
        message: Message,
        domain: str = None,
        user_id: int = None,
        group_id: int = None,
        **kwargs
):
Exemplo n.º 20
0
from vkbottle.rule import FromMe
from vkbottle.user import Blueprint, Message
bp = Blueprint("COMMANDS")
from prefixs import p
from unit import edit_msg


@bp.on.message_handler(FromMe(), text=[p + 'команды', p + 'кмд'], lower=True)
async def cms(ans: Message):
    text = f"""
Юзербот by yMoth 🥺
Ваши команды:
Калькулятор: реши 1 + 1
Анимация: аним/анимция
Добовления комментария: +коммент [enter] текст
Инфо: инфо/информация
Лайк авы: лайкнуть/длайк
Рандом: выбери <1> или <2>
Вероятность: вероятность <text>
Вечный онлайн: +онлайн, +оффлайн/+онл,+офл
Время: время/тайм
Википедия: вики <запрос>
Добовления в друзья: +др, вдр
Добовления в чс: +чс, вчс
Шаблоны: +шаб [nameshub] [enter] [text]
АвтоФерма: +автоферма
id: реплей(ид, айди)
"""
    await edit_msg(ans, text)

Exemplo n.º 21
0
from vkbottle.user import Message, Blueprint
from vkbottle.rule import FromMe
from prefixs import p
from unit import edit_msg
from vkbottle import VKError

bp = Blueprint("LikesAdd")
from loguru import logger


@logger.catch()
@bp.on.message_handler(FromMe(), text=p + "лайкнуть")
async def function(ans: Message):
    try:
        user1 = await bp.api.users.get(user_ids=ans.reply_message.from_id,
                                       fields='photo_id')
        await bp.api.likes.add(type='photo',
                               owner_id=ans.reply_message.from_id,
                               item_id=user1[0].photo_id.replace(
                                   f"{ans.reply_message.from_id}_", ""))
        l = await bp.api.likes.get_list(type='photo',
                                        owner_id=ans.reply_message.from_id,
                                        item_id=user1[0].photo_id.replace(
                                            f"{ans.reply_message.from_id}_",
                                            ""),
                                        filter='likes',
                                        count=1000)
        like = l.count
        u_name = user1[0].first_name
        text = f'Аватарка для {u_name} успешно лакйнута :)\n❤ Стало лайков: {like}'
Exemplo n.º 22
0
            "conversation_message_id": message_['conversation_message_id'],
            "from_id": message_['from_id'],
            "date": message.date,
            "text": prepared_text,
            "peer_id": message.peer_id
        },
        "object": {
            "chat": None,
            "from_id": message_['from_id'],
            "value": prepared_text,
            "conversation_message_id": message_['conversation_message_id']
        },
        "vkmessage": message_
    }

    await send_request(__model)


@user.on.message_handler(FromMe(), text=['<alias:alias> <signal>', '<alias:alias>'])
@logger_decorator
async def duty_signal(message: Message, alias: Alias, signal: str = None):
    db = Database.get_current()
    await send_signal(db, message, alias, ' ', signal)


@user.on.message_handler(FromMe(), text='<alias:alias>\n<signal>')
@logger_decorator
async def duty_signal_new_line(message: Message, alias: Alias, signal: str):
    db = Database.get_current()
    await send_signal(db, message, alias, '\n', signal)
Exemplo n.º 23
0
from vkbottle.rule import FromMe
from vkbottle.user import Message, Blueprint
from unit import edit_msg
from prefixs import error_sticker, p, sticker
import json
import prefixs as PREFIX
from unit import __author__, __version__, __namelp__
bp = Blueprint("Signals")


@bp.on.message_handler(FromMe(), text=[p + "нрп", p + "новое рп"], lower=True)
async def myrptext(ans: Message):
    text = f"""Что-бы создать свою РП-Команду, пишите так:
{p}+нрп (название рп)
Смайлик действие

Пример:
{p}+нрп ударить
👊 ударил(а)"""
    await edit_msg(ans, text)


@bp.on.message_handler(FromMe(),
                       text=[
                           p + "+нрп <namerp>\n<sticker> <value>",
                           p + "новое рп <namerp>\n<sticker> <value>"
                       ],
                       lower=True)
async def rpadd(ans: Message, namerp: str, sticker: str, value: str):
    namejson = f"src/meroleplays/{namerp}.json"
Exemplo n.º 24
0
user = Blueprint(name='ping_blueprint')


async def get_ping(message: Message, answer: str) -> str:
    delta = round(time.time() - message.date, 2)

    # А ты думал тут все чесно будет? Не, я так не работаю...
    if delta < 0:
        delta = "666"

    return f"{answer} Модуль ЛП\n" \
           f"Ответ через {delta} с"


@user.on.message_handler(FromMe(), text="<prefix:service_prefix> пинг")
@user.on.message_handler(FromMe(), text=".пинг")
@logger_decorator
async def ping_wrapper(message: Message, **kwargs):
    await edit_message(message, await get_ping(message, "ПОНГ"))


@user.on.message_handler(FromMe(), text="<prefix:service_prefix> пиу")
@user.on.message_handler(FromMe(), text=".пиу")
@logger_decorator
async def pau_wrapper(message: Message, **kwargs):
    await edit_message(message, await get_ping(message, "ПАУ"))


@user.on.message_handler(FromMe(), text="<prefix:service_prefix> кинг")
@user.on.message_handler(FromMe(), text=".кинг")
Exemplo n.º 25
0
        for alias in database.aliases:
            message += f"{index}. {alias.name} ({alias.command_from} -> !л {alias.command_to})\n"
            index += 1
        return message
    else:
        return "⚠ У вас нет алиасов"


def delete_last_space(value: str) -> str:
    if value[-1] == ' ':
        return value[:-1]
    return value


@user.on.message_handler(
    FromMe(),
    text=
    "<prefix:service_prefix> +алиас <alias_name>\n<command_from>\n<command_to>"
)
@logger_decorator
async def add_alias_wrapper(message: Message, alias_name: str,
                            command_from: str, command_to: str, **kwargs):
    db = Database.get_current()
    logger.info(f"Создание алиаса\n")
    alias_name = delete_last_space(alias_name)
    command_from = delete_last_space(command_from)
    command_to = delete_last_space(command_to)

    for alias in db.aliases:
        if alias_name == alias.name:
            await edit_message(message,
Exemplo n.º 26
0
from logger import logger_decorator
from objects import Database
from rules import DeleteNotifyRule
from utils import edit_message

user = Blueprint(name='delete_notify_blueprint')


@user.on.chat_message(DeleteNotifyRule())
@user.on.message(DeleteNotifyRule())
@logger_decorator
async def delete_notify_wrapper(message: Message):
    await message.api.messages.delete(message_ids=[message.id])


@user.on.chat_message(FromMe(), text="<prefix:service_prefix> -уведы")
@user.on.message(FromMe(), text="<prefix:service_prefix> -уведы")
@logger_decorator
async def activate_delete_all_notify_wrapper(message: Message, **kwargs):
    db = Database.get_current()
    db.delete_all_notify = True
    db.save()
    await edit_message(message, "✅ Удаление уведомлений включено")


@user.on.chat_message(FromMe(), text="<prefix:service_prefix> +уведы")
@user.on.message(FromMe(), text="<prefix:service_prefix> +уведы")
@logger_decorator
async def deactivate_delete_all_notify_wrapper(message: Message, **kwargs):
    db = Database.get_current()
    db.delete_all_notify = False
Exemplo n.º 27
0
    message = "📃 Ваш мут-лист для этого чата\n"

    if user_ids:
        for vk_user in await api.users.get(user_ids=user_ids):
            message += f"{index}. [id{vk_user.id}|{vk_user.first_name} {vk_user.last_name}]\n"
            index += 1

    if group_ids:
        for vk_group in await api.groups.get_by_id(group_ids=group_ids):
            message += f'{index}. [club{vk_group.id}|{vk_group.name}]'
            index += 1
    return message


@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> +мут',
        '<prefix:service_prefix> +мут [id<user_id:int>|<foo>] <delay:int>',
        '<prefix:service_prefix> +мут [club<group_id:int>|<foo>] <delay:int>',
        '<prefix:service_prefix> +мут https://vk.com/<domain> <delay:int>',
        '<prefix:service_prefix> +мут <delay:int>',
    ])
@logger_decorator
async def add_muted_member_wrapper(message: Message,
                                   domain: str = None,
                                   user_id: int = None,
                                   group_id: int = None,
@user.on.chat_message(ChatActionRule(["chat_invite_user", "chat_invite_user_by_link"]), ChatEnterRule())
@logger_decorator
async def chat_enter_wrapper(message: Message):
    db = Database.get_current()
    model = None
    for chat_enter_model in db.add_to_friends_on_chat_enter:
        if chat_enter_model.peer_id == message.peer_id:
            model = chat_enter_model
    try:
        await user.api.friends.add(user_id=message.action.member_id)
    except:
        pass
    return model.hello_text


@user.on.chat_message(FromMe(), text=[
    "<prefix:service_prefix> +добавление",
    "<prefix:service_prefix> +добавление <hello_text>"
])
@logger_decorator
async def add_chat_enter_model_wrapper(message: Message, hello_text: Optional[str] = None, **kwargs):
    db = Database.get_current()
    for i in range(len(db.add_to_friends_on_chat_enter)):
        if db.add_to_friends_on_chat_enter[i].peer_id == message.peer_id:
            db.add_to_friends_on_chat_enter[i].hello_text = hello_text
            db.save()
            await edit_message(
                message,
                "✅ Приветственный текст обновлен"
            )
            return
Exemplo n.º 29
0
from vkbottle.rule import FromMe
from vkbottle.user import Blueprint, Message
from prefixs import p
import random
from unit import edit_msg
from loguru import logger
bp = Blueprint("RANDOM")


@bp.on.message_handler(
    FromMe(),
    text=[p + 'рандом <cul1> или <cul2>', p + "выбери <cul1> или <cul2>"],
    lower=True)
async def Leand(ans: Message, cul1: str, cul2: str):
    spisok = [cul1, cul2]
    await ans(f'Хм, я выбираю: {spisok[random.randint(0,1)]}', reply_to=ans.id)


@bp.on.message_handler(text=[
    p + "вероятность того что <thing", p + "вероятность что <thing",
    p + "вероятность <thing>"
],
                       lower=True)
async def probability(ans: Message, thing: str):
    await edit_msg(
        ans,
        f"Вероятность того, что {thing} равна {round(random.uniform(0.0, 1.0) * 100, 2)}%"
    )


@logger.catch()
Exemplo n.º 30
0
from vkbottle.rule import FromMe
from vkbottle.user import Blueprint, Message
from unit import edit_msg
bp = Blueprint("addfriends")
from prefixs import p
from loguru import logger
from vkbottle import VKError
from prefixs import sticker, error_sticker


@logger.catch()
@bp.on.message_handler(FromMe(), text=[p + 'вдр', p + '+др', p + '+друзья'])
async def friend_add(ans: Message):

    try:
        RESPONSE = await bp.api.request("friends.add",
                                        {"user_id": ans.reply_message.from_id})
        if RESPONSE == 1:
            await edit_msg(
                ans,
                f"{sticker}Заявка в друзья отправлена @id{ans.reply_message.from_id}(пользователю)"
            )
        elif RESPONSE == 2:
            await edit_msg(
                ans,
                f"{sticker}@id{ans.reply_message.from_id}(Пользователь) добавлен в друзья!"
            )
    except VKError as e:
        if e.error_code == 175:
            await edit_msg(
                ans,