目录
制作插件
1.找到插件文件夹
搭建好我们的机器人环境后,打开放置机器人的文件夹,找到?src文件夹?打开后找到
2.填写代码
运行效果
上期博文介绍了QQ机器人框架搭建,这期介绍QQ机器人聊天插件制作!不会搭建QQ机器人框架的看我上期教程
https://blog.csdn.net/qq_53280175/article/details/119281188
?
?
?
制作插件
1.找到插件文件夹
搭建好我们的机器人环境后,打开放置机器人的文件夹,找到?src文件夹?打开后找到
plugins?文件夹打开它,这个文件夹就是用来存放插件的文件夹。在其中新建? xxx.py 名字随意。
2.填写代码
打开后填写如下代码:
"""
作者:PYmili
Time:2021/10/2
os_system:Windows 10
"""
#coding:gbk
from urllib.request import urlopen
from bs4 import BeautifulSoup as Be
import urllib.parse
import string
from nonebot import on_command,on_keyword
from nonebot.adapters.cqhttp import Bot, Event
from nonebot.rule import to_me
lt = on_keyword("#") # 设置聊天命令
@lt.handle()
async def handle_first_receive(bot: Bot, event: Event, state: dict):
args = str(event.get_message()).strip() # 首次发送命令时跟随的参数
if args:
state["user_msg"] = args # 如果用户发送了参数则直接赋值
@lt.got("user_msg", prompt="你想和我聊些什么?")
async def handle_user(bot: Bot, event: Event, state: dict):
user_msg = state["user_msg"]
user_msg_message = await get_lt(user_msg)
#await lt.finish(user_msg_message)
async def get_lt(user_msg: str): # 编写爬虫
message = user_msg.strip("#") # 去掉字符串#
url = ("https://api.iyk0.com/liaotian/?msg={}").format(message) # api
urls = urllib.parse.quote(url,safe=string.printable)
html = urlopen(f"{urls}")
bs = Be(html,features="lxml")
html_div = bs.findAll("body") # 爬取api网页body标签
mesage = (html_div[0].get_text()) # 返回数据
fst = await lt.send(f"{mesage}")
return fst # 返回并发送信息
这些就是QQ机器人聊天插件的代码。填写到你的 .py 文件中就行了!原理是,设定命令 '#' 是聊天命令要触发条件或与机器人聊天时,需要在说的话前面添加 # 号 如:#你是谁 爬虫部分去掉字符串 # 与api连接爬取api返回的数据。发送给用户 await?很简单吧?当然,其中的爬虫部分和api你可以更换成你喜欢的,用?await 发送出来就行了。
运行效果
怎么样,学会了吗?我就一个小小的要求!三联!谢谢啦!
我是PYmili QQ交流群:?706128290 下次再见,拜拜!
?
|