前言

我们经常可以看到能够发送随机文本的QQ机器人,接下来我们会学习到如何编写这种插件

效果展示

正文

文本API选择

文本API可以按照其返回数据的方式分成几种,我这里使用的API的类型是直接返回文本,就比如说访问我自己部署的一个笑话API:https://api.lklblog.cn/api/qwxh.php,他就会随机返回所需的文本,比如说:

早上骑车时不小心别到旁边宝马的车头,我摔在地上半天缓不过神,车主下车蹲在我身边失望地说:小兄弟,你这瓷碰的不够专业啊!你躺的地方所照射的阳光并不会让司机瞬盲,而且身体与车头的直线距离太长,很难假造碰撞伤害!我愣住了,问他为何懂的这么多,他拍拍宝马说:"你以为它是怎么来的?

返回例子

至于这种文本API怎么制作,大家可以看我的这篇文章:超简单随机文本API制作教程_ITSevin的博客-CSDN博客。或者你直接去网上找现成的这种类型的现成文本API也可以,就比如我自己部署的API:LKL·API - 免费提供API服务

插件编写

由于这个插件很简单,我在这里就不详细解说代码了,大家可以参考我下面的代码以及查看nonebot官方文档自行研究,代码如下

from nonebot import on_regex
from nonebot.typing import T_State
from nonebot.adapters.onebot.v11 import GroupMessageEvent,Bot,Message
import requestsrandom_joke = on_regex(pattern = r'^讲个笑话$')@random_joke.handle()
async def joke(bot: Bot, event: GroupMessageEvent, state: T_State):msg = await get_joke()# at_ = f"[CQ:at,qq={event.get_user_id()}]"await random_joke.send(Message(msg))async def get_joke():url = 'https://api.lklblog.cn/api/qwxh.php'get_data = requests.get(url=url,timeout=20)#print(get_data)get_txt = get_data.text#print(data)return get_txt

你需要把代码上面的“讲个笑话”改成你自己触发插件的命令,把代码上面的链接改成你要调用的API链接,然后如果你触发插件的命令是中文的,你可能需要把插件的编码改成utf8(一般默认就是utf8,但是你最好检查一下),不然会引发乱码

nonebot2调用文本API发送随机文本相关推荐

  1. C#调用新浪微博API发送消息成功

    成功一小步,用C#调用新浪微博API发送消息成功,庆祝一下.其实没什么难的,主要是看新浪的开发文档受到了误导. 在新浪的文档里面的参数从说明到例子都是组合参数,并且遗漏了一个参数说明,调试的时候查看错 ...

  2. java 调用微信api发送消息

    要在 Java 中调用微信 API 发送消息,你需要做的第一步是在微信公众平台中注册自己的公众号,然后获取到自己的 AppID 和 AppSecret. 然后你可以使用微信公众平台提供的开发文档,来了 ...

  3. 调用Mailgun API发送电子邮件一例

    Mailgun提供了免费的邮件发送服务,适合拿来做通知提醒一类的服务.免费版默认支持每天发送多达300封邮件,最多可以发10,000封. 注册方法:访问 https://www.mailgun.com ...

  4. java传真发送_调用java API发送传真

    最近搞了一个java发送传真程序,在网上搜了半天,没找到具体的例子,最后找到了国外的开源技术jacob,才解决了这个问题. 环境要求:windows xp系统,jdk 1.4(不要太高或太低,不然会发 ...

  5. 调用Java API发送传真

    最近搞了一个java发送传真程序,在网上搜了半天,没找到具体的例子,最后找到了国外的开源技术jacob,才解决了这个问题. 环境要求:windows xp系统,jdk 1.4(不要太高或太低,不然会发 ...

  6. 程序调用飞信API发送免费短信(JAVA例子,其他语言一样用)

    网上看到有网页版的飞信,http://fetionlib.appspot.com/ 可以添加好友,群发和定时发送短信给飞信好友,还开放了API接口供程序调用,可以用它来监控机器是否正常服务定期给管理员 ...

  7. java调用移动api 发送短信验证码

    MasSendUtils.java public class MasSendUtils {private static Logger logger = Logger.getLogger(MasSend ...

  8. python微信接口发送消息_调用微信API发送微信消息python脚本

    前阵子部署zabbix监控系统,做了个微信报警,下面分享下微信调API发消息的脚本.要用微信发消息,自己首先要有微信企业号,如果没有申请也容易 准备工作: 1.申请微信企业号 2.在企业号后台创建应用 ...

  9. uni-app中使用native.js调用android API实现双卡发送短信

    uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS.Android.H5.以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉)等多个平台官网地址 因 ...

最新文章

  1. 《101 Windows Phone 7 Apps》读书笔记-Silly Eye
  2. sm4 的s盒_SM4国密算法Java版
  3. helm部署minio
  4. 北风设计模式课程---享元模式
  5. apache的产品分类说明
  6. 基于CFS算法的schedule()源码分析
  7. 生成sql条件的类(转)
  8. 【渝粤教育】国家开放大学2018年秋季 8660-22T (1)农科化学基础知识 参考试题
  9. linux子目录大小限制,如何解决linux子目录的数量限制?
  10. 例2.6 Sort - 九度教程第11题(Hash的应用)
  11. 抖音高贵气质的签名_抖音上,那群认真分享知识的人真“酷”
  12. Java List的安全删除
  13. 【C语言/入门游戏】猜数字,关机指令游戏及go to语句
  14. Nexus 搭建docker本地仓库(hosted)和私有仓库(proxy)
  15. 使用 Kali Linux 爆破 WiFi 密码
  16. 如何将逻辑地址转换成物理地址
  17. 微信公众号开发之生成并扫描带参数的二维码(无需改动)
  18. Films have seen
  19. 关于软件测试行业现状的一些思考
  20. 遥感影像LUCC分类方法综述

热门文章

  1. 【SCOI 2005】骑士精神
  2. luoguP2324 [SCOI2005]骑士精神 IDA*
  3. 程序员是不是“后浪”?
  4. Hadoop新手学习指导
  5. Golang实习生字节一面
  6. Ubuntu 系统开机卡住,解决
  7. 区块链是什么?区块链能做什么?区块链学习路线分享
  8. [转]Android入门基础教程
  9. React类组件的两种写法
  10. 如何用JAVA制作一个漂亮的表格