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 typing_extensions import TypeAlias
|
||||||
|
|
||||||
from nonebot.adapters import Bot as BaseBot, Event as BaseEvent
|
from nonebot.adapters import Bot as BaseBot, Event as BaseEvent
|
||||||
|
from nonebot.drivers import Request
|
||||||
|
|
||||||
Muter: TypeAlias = Callable[[BaseBot, BaseEvent, int], Awaitable[None]]
|
Muter: TypeAlias = Callable[[BaseBot, BaseEvent, int], Awaitable[None]]
|
||||||
MT = TypeVar("MT", bound=Muter)
|
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))
|
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")
|
@muter("Telegram")
|
||||||
async def telegram(bot: BaseBot, ev: BaseEvent, seconds: int):
|
async def telegram(bot: BaseBot, ev: BaseEvent, seconds: int):
|
||||||
from nonebot.adapters.telegram import Bot
|
from nonebot.adapters.telegram import Bot
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user