test for send.py

This commit is contained in:
felinae98
2022-02-13 20:31:33 +08:00
parent 5a492aceb3
commit 6a8b2e2d15
4 changed files with 63 additions and 6 deletions
+3 -2
View File
@@ -3,6 +3,7 @@ import logging
import nonebot
from apscheduler.schedulers.asyncio import AsyncIOScheduler
from nonebot import get_driver, logger
from nonebot.adapters.onebot.v11.bot import Bot
from nonebot.log import LoguruHandler
from .config import Config
@@ -46,8 +47,8 @@ async def fetch_and_send(target_type: str):
send_user_list,
)
)
bot_list = list(nonebot.get_bots().values())
bot = bot_list[0] if bot_list else None
bot = nonebot.get_bot()
assert isinstance(bot, Bot)
to_send = await platform_manager[target_type].fetch_new_post(
target, send_userinfo_list
)
+9 -2
View File
@@ -1,6 +1,8 @@
import time
from typing import Literal, Union
from nonebot import logger
from nonebot.adapters import Message, MessageSegment
from nonebot.adapters.onebot.v11.bot import Bot
from .plugin_config import plugin_config
@@ -9,7 +11,9 @@ QUEUE = []
LAST_SEND_TIME = time.time()
async def _do_send(bot: "Bot", user: str, user_type: str, msg):
async def _do_send(
bot: "Bot", user: str, user_type: str, msg: Union[str, Message, MessageSegment]
):
if user_type == "group":
await bot.call_api("send_group_msg", group_id=user, message=msg)
elif user_type == "private":
@@ -21,6 +25,9 @@ async def do_send_msgs():
if time.time() - LAST_SEND_TIME < 1.5:
return
if QUEUE:
import ipdb
ipdb.set_trace()
bot, user, user_type, msg, retry_time = QUEUE.pop(0)
try:
await _do_send(bot, user, user_type, msg)
@@ -35,7 +42,7 @@ async def do_send_msgs():
LAST_SEND_TIME = time.time()
async def send_msgs(bot, user, user_type, msgs):
async def send_msgs(bot: Bot, user, user_type: Literal["private", "group"], msgs: list):
if plugin_config.bison_use_queue:
for msg in msgs:
QUEUE.append((bot, user, user_type, msg, 2))
+2 -2
View File
@@ -1,5 +1,5 @@
from dataclasses import dataclass
from typing import Any, Callable, NamedTuple, NewType
from typing import Any, Callable, Literal, NamedTuple, NewType
RawPost = NewType("RawPost", Any)
Target = NewType("Target", str)
@@ -10,7 +10,7 @@ Tag = NewType("Tag", str)
@dataclass(eq=True, frozen=True)
class User:
user: str
user_type: str
user_type: Literal["group", "private"]
class UserSubInfo(NamedTuple):