nonebot2/nonebot/session.py

31 lines
1.0 KiB
Python
Raw Normal View History

2018-07-04 09:28:31 +08:00
from . import NoneBot
2018-12-22 12:44:10 +08:00
from .helpers import send
from .typing import Context_T, Message_T
2018-06-27 22:05:12 +08:00
class BaseSession:
__slots__ = ('bot', 'ctx')
2018-10-16 01:03:50 +08:00
def __init__(self, bot: NoneBot, ctx: Context_T):
2018-06-27 22:05:12 +08:00
self.bot = bot
self.ctx = ctx
2018-10-16 01:03:50 +08:00
async def send(self, message: Message_T, *,
2018-12-23 20:20:40 +08:00
at_sender: bool = False,
ensure_private: bool = False,
ignore_failure: bool = True,
**kwargs) -> None:
"""
Send a message ignoring failure by default.
:param message: message to send
:param at_sender: @ the sender if in group or discuss chat
:param ensure_private: ensure the message is sent to private chat
:param ignore_failure: if any CQHttpError raised, ignore it
:return: the result returned by CQHTTP
"""
2018-06-27 22:05:12 +08:00
return await send(self.bot, self.ctx, message,
2018-12-23 20:20:40 +08:00
at_sender=at_sender,
ensure_private=ensure_private,
ignore_failure=ignore_failure, **kwargs)