NoneBot2 插件:使用茉莉云 API 进行对话并回复艾特消息
"做一个nonebot2的插件,让它能够调用茉莉云api进行对话,能够回复艾特他的人,并且艾特一次后能够回复多次内容:"\n"下面是一个使用茉莉云API进行对话的NoneBot2插件的示例:\n\npython\nfrom nonebot import on_message\nfrom nonebot.adapters import Bot, Event\nfrom nonebot.adapters.cqhttp import MessageSegment\nimport requests\n\n# 茉莉云API接口地址\nAPI_URL = 'http://api.sjfkai.com/moli/'\n\n# 注册事件响应器,指定匹配的消息类型和正则表达式\n@on_message('group')\nasync def chat_with_jasmine(bot: Bot, event: Event):\n # 判断消息是否艾特了机器人\n if bot.self_id in event.get('message'):\n # 获取艾特机器人的消息内容\n message = str(event.get('message')).replace('@', '').strip()\n # 调用茉莉云API进行对话\n response = requests.get(API_URL, params={'msg': message}).json()\n # 获取回复的消息内容\n reply = response.get('content')\n # 判断回复是否为空\n if reply:\n # 发送回复消息\n await bot.send(event, MessageSegment.text(reply))\n # 继续对话,直到不回复为止\n while response.get('content'):\n # 调用茉莉云API进行对话\n response = requests.get(API_URL, params={'msg': message}).json()\n # 获取回复的消息内容\n reply = response.get('content')\n # 发送回复消息\n await bot.send(event, MessageSegment.text(reply))\n else:\n await bot.send(event, '我不知道该怎么回答你')\n\n\n\n这个插件会在群聊中,当有人艾特机器人时,将艾特的内容发送给茉莉云API进行对话,并将回复发送回群聊。如果茉莉云API返回的回复不为空,则会继续对话,直到茉莉云API不再返回回复为止。如果茉莉云API返回的回复为空,则会回复给用户"我不知道该怎么回答你"。\n\n请注意,这个插件的实现方式是同步的,如果你希望使用异步方式,可以将requests.get改为aiohttp.get,并使用asyncio.create_task来发送回复消息。\n
原文地址: https://www.cveoy.top/t/topic/pCFm 著作权归作者所有。请勿转载和采集!