def not_(*channels: Union[Type[DM], str], error: Optional[str]=None) \
-> Callable[[Any, Event], Awaitable[bool]]:
"""Mark channel to deny to use handler."""
deny_dm = False
if DM in channels:
channels = tuple(x for x in channels if x is not DM)
deny_dm = True
async def callback(bot, event: Event) -> bool:
if isinstance(event.channel, (PrivateChannel, PublicChannel)):
if event.channel.name in channels:
if error:
await bot.say(
event.channel,
error
)
return False
else:
return True
if deny_dm:
if error:
await bot.say(
event.channel,
error
)
return False
else:
return True
return callback
评论列表
文章目录