mirror of
https://github.com/Refound-445/nonebot-plugin-nailongremove.git
synced 2025-11-04 21:22:43 +08:00
support satori mute
This commit is contained in:
parent
158cb33c21
commit
f71fe54948
@ -3,6 +3,7 @@ from typing import Awaitable, Callable, Dict, TypeVar
|
||||
from typing_extensions import TypeAlias
|
||||
|
||||
from nonebot.adapters import Bot as BaseBot, Event as BaseEvent
|
||||
from nonebot.drivers import Request
|
||||
|
||||
Muter: TypeAlias = Callable[[BaseBot, BaseEvent, int], Awaitable[None]]
|
||||
MT = TypeVar("MT", bound=Muter)
|
||||
@ -92,6 +93,33 @@ async def red(bot: BaseBot, ev: BaseEvent, seconds: int):
|
||||
await bot.unmute_member(int(ev.peerUin), int(ev.senderUin))
|
||||
|
||||
|
||||
@muter("Satori")
|
||||
async def satori(bot: BaseBot, ev: BaseEvent, seconds: int):
|
||||
from nonebot.adapters.satori import Bot
|
||||
from nonebot.adapters.satori.event import (
|
||||
PublicMessageCreatedEvent,
|
||||
PublicMessageUpdatedEvent,
|
||||
)
|
||||
|
||||
if not (
|
||||
isinstance(bot, Bot)
|
||||
and isinstance(ev, (PublicMessageCreatedEvent, PublicMessageUpdatedEvent))
|
||||
and ev.guild
|
||||
):
|
||||
raise TypeError("Unsupported bot or event type")
|
||||
|
||||
req = Request(
|
||||
"POST",
|
||||
bot.info.api_base / "guild.member.mute",
|
||||
json={
|
||||
"guild_id": ev.guild.id,
|
||||
"user_id": ev.user.id,
|
||||
"duration": seconds * 1000,
|
||||
},
|
||||
)
|
||||
await bot._request(req) # noqa: SLF001
|
||||
|
||||
|
||||
@muter("Telegram")
|
||||
async def telegram(bot: BaseBot, ev: BaseEvent, seconds: int):
|
||||
from nonebot.adapters.telegram import Bot
|
||||
|
||||
Loading…
Reference in New Issue
Block a user