基于Nonebot框架的QQ机器人词库生成器

废话不说直接上代码~~


ck_list = []
successful_num = 0# 导入词库
raw_file = str(input("请输入词库文件路径:"))
with open(raw_file, 'r', encoding='utf-8') as fp:raw_ck_list = fp.readlines() # 获取文件内容for line in raw_ck_list:ck_list.append(line.strip())    # 去掉首尾空格moudle = str(input("请输入写入模式(a追加 w覆盖):"))
# 创建ciku.py文件并写入代码
with open("ciku.py", moudle, encoding='utf-8') as fp:# 判断模式if moudle == 'w':content = 'from nonebot import on_keyword\n' \'from nonebot.typing import T_State\n' \'from nonebot.adapters.cqhttp import Message, Bot, Event, MessageSegment\n' \'import random\n'fp.write(content)for index, raw_ck in enumerate(ck_list):try:kw = '{'rp = ''fc = ''ls = raw_ck.split("-")  # 将未处理的词库通过-分割成一个len为3的列表name = str(ls[0])kw_ls = ls[1].split("^")    # 将item通过^分割为列表rp_ls = ls[2].split("^")if ls[3]:   # 判断是否输入CQ码fc_ls = ls[3].split("^")else:fc_ls = []  # falsefor item in kw_ls:if item != kw_ls[-1]:kw = kw + '"' + item + '", 'else:kw = kw + '"' + item + '"}'# print(kw)if fc_ls:   # 含有cq码content = '\n\n########################################################################\n' \+ name + '= on_keyword(' + kw + ')\n' \'@' + name + '.handle()\n' \'async def ' + name + '_handle(bot: Bot, event: Event, state: T_State):\n\t' \'id = str(event.get_user_id())\n\t' \'fc_ls = ' + str(fc_ls) + '\n\t' \'rp_ls = ' + str(rp_ls) + '\n\t' \'face = [{"type": "face","data": {"id": random.choice(fc_ls)}}]\n\t' \'rp = random.choice(rp_ls)\n\t' \'await ' + name + '.send(MessageSegment.at(id) + face + rp)\n'else:content = '\n\n########################################################################\n' \+ name + '= on_keyword(' + kw + ')\n' \'@' + name + '.handle()\n' \'async def ' + name + '_handle(bot: Bot, event: Event, state: T_State):\n\t' \'id = str(event.get_user_id())\n\t' \'rp_ls = ' + str(rp_ls) + '\n\t' \'rp = random.choice(rp_ls)\n\t' \'await ' + name + '.send(MessageSegment.at(id) + rp)\n'# 写入代码fp.write(content)print(f"\033[0;32;40m {index+1}.{name}词库写入成功!\033[0m")successful_num += 1except:print(f"\033[1;31;40m Failed:{index + 1}.{name}词库写入失败...www\033[0m")print(f"\033[0;36;40m 词库写入完成!共{len(ck_list)}条!成功写入{successful_num}条! \033[0m")

食用方法:

2021-8-26

基于Nonebot框架的QQ机器人词库生成器相关推荐

  1. 基于Mirai框架的QQ机器人使用文档----郑大科协2021招新群

    目录 1. 引言 1.1 编写目的 1.2 项目背景 1.3 参考链接 2. 使用说明 2.1 关于插件 2.2 自动功能 2.3 交互功能 2.4 插件链接 3. 出错与恢复 3.1 自动功能出错 ...

  2. 用Python开发基于Mirai框架的QQ机器人-1. 安装与搭建

    首先,要安装mirai-console-loader,以下简称mcl,github仓库位置:mirai-console-loader. 下载解压后,用cmd进入mcl的目录,运行mcl就可以了,设置就 ...

  3. 第一章:基于 SpringBoot 快速搭建QQ机器人,并监听群事件

    第一章:基于 SpringBoot 快速搭建QQ机器人 前言:知识与储备 这个QQ机器人能干什么? 第一步:搭建Maven项目环境 第二步:编写pom文件 第三步:编写启动类 第四步:创建配置文件 第 ...

  4. 新版nonebot,go-cqhttp搭建qq机器人保姆级教程

    前言 前段时间QQ进行了更新,所以导致了非手表协议扫码登陆报错的问题,不过好在大佬已经推出rc5版本的go-cqhttp,解决了这一头疼的问题 在开始之前,我需要说明一下,本文章是针对没有经验和基础的 ...

  5. QQRobot一款基于Java的娱乐qq机器人

    QQRobot一款基于Java的娱乐qq机器人 git地址:https://gitee.com/tysong1/QQRobot/tree/master AD:上QQ群214580864购买服务器享优惠 ...

  6. 商家编号_caiji_004 机器人词库

    聊天机器人词库 查看全文 http://www.taodudu.cc/news/show-4777447.html 相关文章: [PHP + MySQL][分享]搭建网站自动回复机器人 英语不好影响考 ...

  7. 基于Lua框架下Air103使用U8g2库驱动I2C OLED图像显示

    基于Lua框架下Air103使用U8g2库驱动I2C OLED屏幕图像演示

  8. QBot:基于SmartQQ协议的QQ机器人

    一.介绍 qqbot 是一个用 python 实现的.基于腾讯 SmartQQ 协议的 QQ 机器人框架,可运行在 Linux . Windows 和 Mac OSX 平台下. 本项目 github ...

  9. 基于Rasa框架搭建中文机器人对话系统

    Rasa是一个能用于构建机器人对话系统的框架,基于Rasa框架搭建机器人对话系统,可以使用于工业各类语音智能服务场景,如:远程医疗问诊.智能客户服务.保险产品销售.金融催收服务.手机智能助手等领域.支 ...

  10. 【Arduino】TFT LCD显示屏显示gif小电视太空人动图(基于Arduino框架ESP8266/ESP32、TFT_eSPI库、使用python脚本GIF转十六进制文件)

    前言 ​ 之前使用ESP32 来控制TFT屏幕显示动图时,找到现有的工具,需要先将动图gif格式一帧帧转为jpg格式,再将一帧帧的jgp转为hex十六进制格式,整个过程好麻烦.现用python写了脚本 ...

最新文章

  1. RPA如何助力电信业数字化转型?
  2. Struts2——namespace、action、以及path问题
  3. mysql 字段等于select_mysql_select_计算字段_数据处理函数_5
  4. 内网监控利器——Nagios
  5. vnr懒人版教程_凉皮懒人做法,不揉面不洗面,配方配料无保留,简单快速又好吃...
  6. 【STL源码剖析】STL六大组件功能与运用(目录)
  7. FireMonkey v1.1的WinSoft WinRT-10.3-SEO-狼术
  8. javascript广告漂浮效果代码
  9. 使用chrome浏览器插件抢小米8
  10. ACE反应器框架简介
  11. java socket 实现原理_java socket原理
  12. 【渝粤教育】电大中专计算机网络基础 (2)作业 题库
  13. 【Python】杂记
  14. matlab零序五次谐波,基于5次谐波的小电流接地系统故障选线方法仿真与分析.docx...
  15. 什么是web服务器?有哪些作用?
  16. 数学与造芯片_“芯片砸钱不行,得砸数学家”!8本书助你成为数学家
  17. JMeter直连数据库报错Uncaught Exception java.lang.AbstractMethodError: com.mysql.jdbc.Connection.isValid(I)Z
  18. 经典遗传算法编写总结
  19. Centos 7 安装 wget
  20. 京东H5小游戏《疯狂足球》Android外挂实现

热门文章

  1. keli下载报错,是因为没有找到相对应的型号
  2. 钢结构计算机模拟拼装,钢结构技术-钢结构虚拟预拼装技术
  3. STC单片机免冷启/自动下载原理DIY免冷启烧录器(纯硬件版和软件版)
  4. 【产品经验谈】详解Axure中的默认元件库
  5. 最好用的 7 款 Vue 3 富文本编辑器
  6. 【技术】Java打印菱形
  7. wps for linux alpha 15 语言包,WPS For Linux Alpha 16 发布下载
  8. linux点亮桌面,教你如何点亮自己的Ubuntu 屏幕
  9. 【最详细】数据结构(C语言版 第2版)课后习题答案全集 严蔚敏 等 编著
  10. linux删除用户名命令,linux删除用户命令