用Python制作QQ机器人聊天插件(1)

目录

制作插件

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 下次再见,拜拜!

 

  • 7
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pymili

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值