mirror of
https://github.com/suyiiyii/nonebot-bison.git
synced 2026-05-10 18:57:56 +08:00
Merge branch 'main' into nonebot-b1
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
from typing import Union
|
||||
|
||||
from nonebot import on_request
|
||||
from nonebot.log import logger
|
||||
from nonebot.adapters.onebot.v11 import Bot
|
||||
from nonebot.adapters.onebot.v11.event import GroupRequestEvent, FriendRequestEvent
|
||||
from nonebot.adapters.onebot.v11.event import FriendRequestEvent, GroupRequestEvent
|
||||
from nonebot.log import logger
|
||||
|
||||
friend_req = on_request(priority=5)
|
||||
|
||||
|
||||
@@ -1,18 +1,15 @@
|
||||
import nonebot
|
||||
|
||||
from . import (
|
||||
admin_page,
|
||||
config,
|
||||
config_manager,
|
||||
platform,
|
||||
post,
|
||||
scheduler,
|
||||
send,
|
||||
types,
|
||||
utils,
|
||||
config,
|
||||
platform,
|
||||
scheduler,
|
||||
admin_page,
|
||||
config_manager,
|
||||
)
|
||||
|
||||
__help__version__ = "0.4.3"
|
||||
__help__plugin__name__ = "nonebot_bison"
|
||||
__usage__ = "本bot可以提供b站、微博等社交媒体的消息订阅,详情" "请查看本bot文档,或者at本bot发送“添加订阅”订阅第一个帐号"
|
||||
__module_name__ = "nonebot-bison"
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import nonebot
|
||||
from nonebot.adapters.onebot.v11.bot import Bot
|
||||
|
||||
from ..config import Config, NoSuchSubscribeException, NoSuchUserException
|
||||
from ..platform import check_sub_target, platform_manager
|
||||
from .jwt import pack_jwt
|
||||
from .token_manager import token_manager
|
||||
from ..platform import check_sub_target, platform_manager
|
||||
from ..config import Config, NoSuchUserException, NoSuchSubscribeException
|
||||
|
||||
|
||||
async def test():
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import datetime
|
||||
import random
|
||||
import string
|
||||
import datetime
|
||||
from typing import Optional
|
||||
|
||||
import jwt
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
from collections import defaultdict
|
||||
import os
|
||||
from os import path
|
||||
from collections import defaultdict
|
||||
from typing import Literal, Mapping, TypedDict, DefaultDict
|
||||
from typing import DefaultDict, Literal, Mapping, TypedDict
|
||||
|
||||
import nonebot
|
||||
from nonebot import logger
|
||||
from tinydb import Query, TinyDB
|
||||
|
||||
from .utils import Singleton
|
||||
from .types import User, Target
|
||||
from .platform import platform_manager
|
||||
from .plugin_config import plugin_config
|
||||
from .types import Target, User
|
||||
from .utils import Singleton
|
||||
|
||||
supported_target_type = platform_manager.keys()
|
||||
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
from typing import Type
|
||||
|
||||
from nonebot import on_command
|
||||
from nonebot.rule import to_me
|
||||
from nonebot.typing import T_State
|
||||
from nonebot.matcher import Matcher
|
||||
from nonebot.permission import SUPERUSER
|
||||
from nonebot.params import State, Depends
|
||||
from nonebot.adapters._event import Event as AbstractEvent
|
||||
from nonebot.adapters.onebot.v11 import Bot, Event
|
||||
from nonebot.adapters.onebot.v11.message import Message
|
||||
from nonebot.adapters._event import Event as AbstractEvent
|
||||
from nonebot.adapters.onebot.v11.permission import GROUP_ADMIN, GROUP_OWNER
|
||||
from nonebot.matcher import Matcher
|
||||
from nonebot.params import Depends, State
|
||||
from nonebot.permission import SUPERUSER
|
||||
from nonebot.rule import to_me
|
||||
from nonebot.typing import T_State
|
||||
|
||||
from .config import Config
|
||||
from .utils import parse_text
|
||||
from .types import Target, Category
|
||||
from .platform import check_sub_target, platform_manager
|
||||
from .types import Category, Target
|
||||
from .utils import parse_text
|
||||
|
||||
|
||||
def _gen_prompt_template(prompt: str):
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
from pathlib import Path
|
||||
from pkgutil import iter_modules
|
||||
from collections import defaultdict
|
||||
from importlib import import_module
|
||||
from pathlib import Path
|
||||
from pkgutil import iter_modules
|
||||
|
||||
from .platform import Platform, NoTargetGroup
|
||||
from .platform import NoTargetGroup, Platform
|
||||
|
||||
_package_dir = str(Path(__file__).resolve().parent)
|
||||
for (_, module_name, _) in iter_modules([_package_dir]):
|
||||
|
||||
@@ -4,8 +4,8 @@ from typing import Any, Optional
|
||||
import httpx
|
||||
|
||||
from ..post import Post
|
||||
from ..types import Tag, Target, RawPost, Category
|
||||
from .platform import NewMessage, CategoryNotSupport
|
||||
from ..types import Category, RawPost, Tag, Target
|
||||
from .platform import CategoryNotSupport, NewMessage
|
||||
|
||||
|
||||
class Bilibili(NewMessage):
|
||||
|
||||
@@ -3,8 +3,8 @@ from typing import Any, Optional
|
||||
import httpx
|
||||
|
||||
from ..post import Post
|
||||
from ..types import RawPost, Target
|
||||
from .platform import NewMessage
|
||||
from ..types import Target, RawPost
|
||||
|
||||
|
||||
class NcmArtist(NewMessage):
|
||||
|
||||
@@ -3,8 +3,8 @@ from typing import Any, Optional
|
||||
import httpx
|
||||
|
||||
from ..post import Post
|
||||
from ..types import RawPost, Target
|
||||
from .platform import NewMessage
|
||||
from ..types import Target, RawPost
|
||||
|
||||
|
||||
class NcmRadio(NewMessage):
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
import time
|
||||
from dataclasses import dataclass
|
||||
from abc import ABC, abstractmethod
|
||||
from collections import defaultdict
|
||||
from typing import Any, Literal, Optional, Collection
|
||||
from dataclasses import dataclass
|
||||
import time
|
||||
from typing import Any, Collection, Literal, Optional
|
||||
|
||||
import httpx
|
||||
from nonebot import logger
|
||||
|
||||
from ..post import Post
|
||||
from ..plugin_config import plugin_config
|
||||
from ..types import Tag, User, Target, RawPost, Category, UserSubInfo
|
||||
from ..post import Post
|
||||
from ..types import Category, RawPost, Tag, Target, User, UserSubInfo
|
||||
|
||||
|
||||
class CategoryNotSupport(Exception):
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import calendar
|
||||
from typing import Any, Optional
|
||||
|
||||
import httpx
|
||||
import feedparser
|
||||
from bs4 import BeautifulSoup as bs
|
||||
import feedparser
|
||||
import httpx
|
||||
|
||||
from ..post import Post
|
||||
from ..types import RawPost, Target
|
||||
from .platform import NewMessage
|
||||
from ..types import Target, RawPost
|
||||
|
||||
|
||||
class Rss(NewMessage):
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
import re
|
||||
import json
|
||||
import hashlib
|
||||
from datetime import datetime
|
||||
import hashlib
|
||||
import json
|
||||
import re
|
||||
from typing import Any, Optional
|
||||
|
||||
import httpx
|
||||
from bs4 import BeautifulSoup as bs
|
||||
import httpx
|
||||
|
||||
from ..types import *
|
||||
from ..post import Post
|
||||
|
||||
# from .platform import Platform
|
||||
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
import base64
|
||||
from io import BytesIO
|
||||
from dataclasses import dataclass, field
|
||||
from functools import reduce
|
||||
from typing import Union, Optional
|
||||
from dataclasses import field, dataclass
|
||||
from io import BytesIO
|
||||
from typing import Optional, Union
|
||||
|
||||
import httpx
|
||||
from PIL import Image
|
||||
import httpx
|
||||
from nonebot import logger
|
||||
from nonebot.adapters.onebot.v11.message import Message, MessageSegment
|
||||
|
||||
from .utils import parse_text
|
||||
from .plugin_config import plugin_config
|
||||
from .utils import parse_text
|
||||
|
||||
|
||||
@dataclass
|
||||
|
||||
@@ -1,16 +1,15 @@
|
||||
import asyncio
|
||||
import logging
|
||||
|
||||
import nonebot
|
||||
from nonebot.log import LoguruHandler
|
||||
from nonebot import logger, get_driver
|
||||
from apscheduler.schedulers.asyncio import AsyncIOScheduler
|
||||
import nonebot
|
||||
from nonebot import get_driver, logger
|
||||
from nonebot.log import LoguruHandler
|
||||
|
||||
from .config import Config
|
||||
from .types import UserSubInfo
|
||||
from .platform import platform_manager
|
||||
from .plugin_config import plugin_config
|
||||
from .send import send_msgs, do_send_msgs
|
||||
from .send import do_send_msgs, send_msgs
|
||||
from .types import UserSubInfo
|
||||
|
||||
scheduler = AsyncIOScheduler(timezone="Asia/Shanghai")
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
from dataclasses import dataclass
|
||||
from typing import Any, NewType, Callable, NamedTuple
|
||||
from typing import Any, Callable, NamedTuple, NewType
|
||||
|
||||
RawPost = NewType("RawPost", Any)
|
||||
Target = NewType("Target", str)
|
||||
|
||||
@@ -1,19 +1,23 @@
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import base64
|
||||
import asyncio
|
||||
import subprocess
|
||||
import base64
|
||||
from html import escape
|
||||
import os
|
||||
from pathlib import Path
|
||||
import platform
|
||||
import re
|
||||
import subprocess
|
||||
import sys
|
||||
from time import asctime
|
||||
from typing import Union, Callable, Optional, Awaitable
|
||||
from typing import Awaitable, Callable, Optional, Union
|
||||
|
||||
import nonebot
|
||||
from bs4 import BeautifulSoup as bs
|
||||
from nonebot.log import logger, default_format
|
||||
import nonebot
|
||||
from nonebot.adapters.onebot.v11.message import MessageSegment
|
||||
from nonebot.log import default_format, logger
|
||||
from playwright._impl._driver import compute_driver_executable
|
||||
from playwright.async_api import Page, Browser, Playwright, async_playwright
|
||||
from playwright.async_api import Browser, Page, Playwright, async_playwright
|
||||
from uvicorn import config
|
||||
from uvicorn.loops import asyncio as _asyncio
|
||||
|
||||
from .plugin_config import plugin_config
|
||||
|
||||
@@ -30,6 +34,16 @@ class Singleton(type):
|
||||
@nonebot.get_driver().on_startup
|
||||
def download_browser():
|
||||
if not plugin_config.bison_browser and not plugin_config.bison_use_local:
|
||||
system = platform.system()
|
||||
if system == "Linux":
|
||||
browser_path = Path.home() / ".cache" / "ms-playwright"
|
||||
elif system == "Windows":
|
||||
browser_path = Path.home() / "AppData" / "Local" / "ms-playwright"
|
||||
else:
|
||||
raise RuntimeError("platform not supported")
|
||||
if browser_path.exists() and os.listdir(str(browser_path)):
|
||||
logger.warning("Browser Exists, skip")
|
||||
return
|
||||
env = os.environ.copy()
|
||||
driver_executable = compute_driver_executable()
|
||||
env["PW_CLI_TARGET_LANG"] = "python"
|
||||
@@ -219,4 +233,19 @@ if plugin_config.bison_filter_log:
|
||||
if config.log_level is None
|
||||
else config.log_level
|
||||
)
|
||||
logger.warning("test")
|
||||
|
||||
# monkey patch
|
||||
def asyncio_setup():
|
||||
loop = asyncio.new_event_loop()
|
||||
asyncio.set_event_loop(loop)
|
||||
|
||||
|
||||
@property
|
||||
def should_reload(self):
|
||||
return False
|
||||
|
||||
|
||||
if platform.system() == "Windows":
|
||||
_asyncio.asyncio_setup = asyncio_setup
|
||||
config.Config.should_reload = should_reload # type:ignore
|
||||
logger.warning("检测到当前为 Windows 系统,已自动注入猴子补丁")
|
||||
|
||||
Reference in New Issue
Block a user