# chat | 小棉智能
可爱，智能且易扩展

Skip to content

# 模块 `nonebot_plugin_marshoai.plugins.builtin_tools.chat` ​

`@on_function_call(description='获取当前会话信息，比如群聊或用户的身份信息').permission(SUPERUSER)`

### async func `get_session_info(bot: Bot, event: MessageEvent) -> str` ​

说明: 获取当前会话信息，比如群聊或用户的身份信息

参数:

> - bot (Bot): Bot对象

返回: str: 会话信息

源代码 或 在GitHub上查看
python

    @on_function_call(description='获取当前会话信息，比如群聊或用户的身份信息').permission(SUPERUSER)
    async def get_session_info(bot: Bot, event: MessageEvent) -> str:
        if isinstance(event, PrivateMessageEvent):
            return f'当前会话为私聊，用户ID: {event.user_id}'
        elif isinstance(event, GroupMessageEvent):
            return f'当前会话为群聊，群组ID: {event.group_id}, 用户ID: {event.user_id}'
        else:
            return '未知会话类型'

`@on_function_call(description='发送消息到指定用户').params(user=String(description='用户ID'), message=String(description='消息内容')).permission(SUPERUSER)`

### async func `send_message(user: str, message: str, bot: Bot) -> str` ​

说明: 发送消息到指定用户，实验性功能，仅限onebotv11适配器

参数:

> - user (str): 用户ID
> - message (str): 消息内容

返回: str: 发送结果

源代码 或 在GitHub上查看
python

    @on_function_call(description='发送消息到指定用户').params(user=String(description='用户ID'), message=String(description='消息内容')).permission(SUPERUSER)
    async def send_message(user: str, message: str, bot: Bot) -> str:
        try:
            await bot.send_private_msg(user_id=int(user), message=message)
            return '发送成功'
        except FinishedException as e:
            return '发送完成'
        except Exception as e:
            return '发送失败: ' + str(e)

`@on_function_call(description='发送消息到指定群组').params(group=String(description='群组ID'), message=String(description='消息内容')).permission(SUPERUSER)`

### async func `send_group_message(group: str, message: str, bot: Bot) -> str` ​

说明: 发送消息到指定群组，实验性功能，仅限onebotv11适配器

参数:

> - group (str): 群组ID
> - message (str): 消息内容

返回: str: 发送结果

源代码 或 在GitHub上查看
python

    @on_function_call(description='发送消息到指定群组').params(group=String(description='群组ID'), message=String(description='消息内容')).permission(SUPERUSER)
    async def send_group_message(group: str, message: str, bot: Bot) -> str:
        try:
            await bot.send_group_msg(group_id=int(group), message=message)
            return '发送成功'
        except FinishedException as e:
            return '发送完成'
        except Exception as e:
            return '发送失败: ' + str(e)