外观
发送消息
约 679 字大约 2 分钟
2025-01-23
介绍
ncatbot提供了六个函数用来机器人向用户发送各种类型的消息,分别是post_group_msg
,post_private_msg
,post_group_file
,post_private_file
,send_group_msg
,send_private_msg
:
async def post_group_msg(self,
group_id: Union[int, str],
text: str = None,
face: int = None,
json: str = None,
at: Union[int, str] = None,
reply: Union[int, str] = None,
music: Union[list, dict] = None,
dice: bool = False,
rps: bool = False,
):
"""
:param group_id: 群号
:param text: 文本
:param face: 表情
:param json: JSON
:param at: at
:param reply: 回复
:param music: 音乐
:param dice: 骰子
:param rps: 猜拳
:return: 发送群消息
"""
async def post_private_msg(self,
user_id: Union[int, str],
text: str = None,
face: int = None,
json: str = None,
reply: Union[int, str] = None,
music: Union[list, dict] = None,
dice:bool = False,
rps: bool = False,
):
"""
:param user_id: QQ号
:param text: 文本
:param face: 表情
:param json: JSON
:param reply: 回复
:param music: 音乐
:param dice: 骰子
:param rps: 猜拳
:return: 发送私聊消息
"""
async def post_group_file(self,
group_id: Union[int, str],
image: str = None,
record: str = None,
video: str = None,
file: str = None,
):
"""
:param group_id: 群号
:param image: 图片
:param record: 语音
:param video: 视频
:param file: 文件
:return: 发送群文件
"""
async def post_private_file(self,
user_id: Union[int, str],
image: str = None,
record: str = None,
video: str = None,
file: str = None,
):
"""
:param user_id: QQ号
:param image: 图片
:param record: 语音
:param video: 视频
:param file: 文件
:return: 发送私聊文件
"""
async def send_group_msg(self,
group_id: Union[int, str],
content: str,
reply: Union[int, str] = None):
async def send_private_msg(self,
user_id: Union[int, str],
content: str,
reply: Union[int, str] = None):
发送组合消息
关于前四个函数,就是简单的添加参数就可以实现发送,这里重点介绍如何使用最后两个函数: 这两个函数主要是为了应对不同类型消息的组合发送,例如你想要让机器人发送的消息里面有文字,有表情,甚至有图片,前四个函数无法帮助你实现这个功能,但是这两个函数可以实现你的需求。 重点在content
这个参数上,他接受字符串类型数据,举个例子:
@bot.group_event
async def on_group_message(msg:GroupMessage):
group_uin = # 指定群聊的账号
user_uin = # 指定用户的账号
data = "你好>#1今天是好天气>@这里写QQ账号>[https://gitee.com/li-yihao0328/nc_bot/raw/master/logo.png]"
if msg.group_id == group_uin and msg.user_id == user_uin:
await bot._api.send_group_msg(group_id=group_uin, content=data)
相关信息
当你想要进行组合发送时,需要注意content内容: 当你需要插入不同类型内容时,这里有个通用合适,必须有>
,然后是#1
,这是发送QQ官方小表情的id,具体表情对应id可用在这里查看,然后是@123456789
,这是你要@的人的QQ账号,然后是[图片数据,可以是本地地址,也可以是网址]
,完整的参考示例如下:content = "你好>#1今天是好天气>@这里写QQ账号>[https://gitee.com/li-yihao0328/nc_bot/raw/master/logo.png]"