Exemplo n.º 1
0
from nonebot import CommandSession, MessageSegment, on_command
from nonebot.command.argfilter.extractors import extract_numbers, extract_text
from nonebot.permission import GROUP_ADMIN, PRIVATE_FRIEND, SUPERUSER

from utils.decorators import SyncToAsync, WithKeyword
from utils.manager import PluginManager, nameJoin
from utils.message import processSession

from .config import Config
from .parse import parseMultiImage, parseSingleImage
from .tools import cache, downloadMutliImage, pixiv

__plugin_name__ = "pixiv"

GET_IMAGE_METHOD = nameJoin(__plugin_name__, "get")
SEARCH_IMAGE_METHOD = nameJoin(__plugin_name__, "search")
MEMBER_IMAGE_METHOD = nameJoin(__plugin_name__, "member")
RANK_IMAGE_METHOD = nameJoin(__plugin_name__, "rank")
OPERATING_METHOD = nameJoin(__plugin_name__, "ops")
POWER_GROUP = GROUP_ADMIN | SUPERUSER | PRIVATE_FRIEND

PluginManager.registerPlugin(GET_IMAGE_METHOD, defaultSettings={"r-18": False})
PluginManager.registerPlugin(SEARCH_IMAGE_METHOD, defaultSettings={"r-18": False})
PluginManager.registerPlugin(MEMBER_IMAGE_METHOD, defaultSettings={"r-18": False})
PluginManager.registerPlugin(RANK_IMAGE_METHOD)
PluginManager.registerPlugin(OPERATING_METHOD)

_RANK_CACHE = {}

Exemplo n.º 2
0
from secrets import token_hex
from typing import Any, Dict, List

from nonebot import CommandSession, MessageSegment, on_command
from nonebot.command.argfilter.extractors import extract_numbers
from nonebot.permission import GROUP_ADMIN, PRIVATE_FRIEND, SUPERUSER

from utils.decorators import SyncToAsync, WithKeyword
from utils.manager import PluginManager, nameJoin
from utils.message import processSession

from .config import Config
from .network import downloadMultiImage, getImageList

__plugin_name__ = "NSFWImages"
OPERATING_METHOD = nameJoin(__plugin_name__, "ops")
POWER_GROUP = GROUP_ADMIN | PRIVATE_FRIEND | SUPERUSER

PluginManager.registerPlugin(__plugin_name__, defaultStatus=False)
PluginManager.registerPlugin(OPERATING_METHOD)


@on_command(__plugin_name__, aliases=("setu", "涩图", "色图"))
@processSession(pluginName=__plugin_name__)
@WithKeyword("来一张涩图", command=__plugin_name__)
@SyncToAsync
def NSFWImage(session: CommandSession):
    rank: str = session.get_optional("rank", Config.send.default)
    pictureCount: int = session.get_optional("num", 1)
    pictureCount = (
        pictureCount if pictureCount <= Config.send.size else Config.send.size
Exemplo n.º 3
0
from re import compile as compileRegexp

from nonebot import CommandSession, on_command, scheduler
from nonebot.permission import GROUP_ADMIN, PRIVATE_FRIEND, SUPERUSER

from utils.decorators import SyncToAsync
from utils.exception import BotExistError
from utils.manager import PluginManager, nameJoin
from utils.message import processSession

from .config import CONFIG, __plugin_name__
from .network import RefreshFeed, downloadFeed
from .parse import rssParser

PluginManager(__plugin_name__, defaultSettings={"subscribed": {}})
SUBSCRIBE_COMMAND = nameJoin(__plugin_name__, "subscribe")
TEST_COMMAND = nameJoin(__plugin_name__, "test")

URL_MATCH_REGEX = compileRegexp(
    r"(https?|ftp)://((?:\w|\d|[-+&@#/%?=~_|!:,.;])+(?:\w|\d|[-+&@#/%=~_|]))")
REFRESH_FEED = RefreshFeed()
POWER_GROUP = GROUP_ADMIN | PRIVATE_FRIEND | SUPERUSER


@on_command(SUBSCRIBE_COMMAND,
            aliases=("rss订阅", "RSS订阅"),
            permission=POWER_GROUP)
@processSession
@SyncToAsync
def rssSubscribe(session: CommandSession):
    rssLink: str = session.get("link")