基于Nonebot框架的QQ机器人词库生成器
基于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机器人词库生成器相关推荐
- 基于Mirai框架的QQ机器人使用文档----郑大科协2021招新群
目录 1. 引言 1.1 编写目的 1.2 项目背景 1.3 参考链接 2. 使用说明 2.1 关于插件 2.2 自动功能 2.3 交互功能 2.4 插件链接 3. 出错与恢复 3.1 自动功能出错 ...
- 用Python开发基于Mirai框架的QQ机器人-1. 安装与搭建
首先,要安装mirai-console-loader,以下简称mcl,github仓库位置:mirai-console-loader. 下载解压后,用cmd进入mcl的目录,运行mcl就可以了,设置就 ...
- 第一章:基于 SpringBoot 快速搭建QQ机器人,并监听群事件
第一章:基于 SpringBoot 快速搭建QQ机器人 前言:知识与储备 这个QQ机器人能干什么? 第一步:搭建Maven项目环境 第二步:编写pom文件 第三步:编写启动类 第四步:创建配置文件 第 ...
- 新版nonebot,go-cqhttp搭建qq机器人保姆级教程
前言 前段时间QQ进行了更新,所以导致了非手表协议扫码登陆报错的问题,不过好在大佬已经推出rc5版本的go-cqhttp,解决了这一头疼的问题 在开始之前,我需要说明一下,本文章是针对没有经验和基础的 ...
- QQRobot一款基于Java的娱乐qq机器人
QQRobot一款基于Java的娱乐qq机器人 git地址:https://gitee.com/tysong1/QQRobot/tree/master AD:上QQ群214580864购买服务器享优惠 ...
- 商家编号_caiji_004 机器人词库
聊天机器人词库 查看全文 http://www.taodudu.cc/news/show-4777447.html 相关文章: [PHP + MySQL][分享]搭建网站自动回复机器人 英语不好影响考 ...
- 基于Lua框架下Air103使用U8g2库驱动I2C OLED图像显示
基于Lua框架下Air103使用U8g2库驱动I2C OLED屏幕图像演示
- QBot:基于SmartQQ协议的QQ机器人
一.介绍 qqbot 是一个用 python 实现的.基于腾讯 SmartQQ 协议的 QQ 机器人框架,可运行在 Linux . Windows 和 Mac OSX 平台下. 本项目 github ...
- 基于Rasa框架搭建中文机器人对话系统
Rasa是一个能用于构建机器人对话系统的框架,基于Rasa框架搭建机器人对话系统,可以使用于工业各类语音智能服务场景,如:远程医疗问诊.智能客户服务.保险产品销售.金融催收服务.手机智能助手等领域.支 ...
- 【Arduino】TFT LCD显示屏显示gif小电视太空人动图(基于Arduino框架ESP8266/ESP32、TFT_eSPI库、使用python脚本GIF转十六进制文件)
前言 之前使用ESP32 来控制TFT屏幕显示动图时,找到现有的工具,需要先将动图gif格式一帧帧转为jpg格式,再将一帧帧的jgp转为hex十六进制格式,整个过程好麻烦.现用python写了脚本 ...
最新文章
- RPA如何助力电信业数字化转型?
- Struts2——namespace、action、以及path问题
- mysql 字段等于select_mysql_select_计算字段_数据处理函数_5
- 内网监控利器——Nagios
- vnr懒人版教程_凉皮懒人做法,不揉面不洗面,配方配料无保留,简单快速又好吃...
- 【STL源码剖析】STL六大组件功能与运用(目录)
- FireMonkey v1.1的WinSoft WinRT-10.3-SEO-狼术
- javascript广告漂浮效果代码
- 使用chrome浏览器插件抢小米8
- ACE反应器框架简介
- java socket 实现原理_java socket原理
- 【渝粤教育】电大中专计算机网络基础 (2)作业 题库
- 【Python】杂记
- matlab零序五次谐波,基于5次谐波的小电流接地系统故障选线方法仿真与分析.docx...
- 什么是web服务器?有哪些作用?
- 数学与造芯片_“芯片砸钱不行,得砸数学家”!8本书助你成为数学家
- JMeter直连数据库报错Uncaught Exception java.lang.AbstractMethodError: com.mysql.jdbc.Connection.isValid(I)Z
- 经典遗传算法编写总结
- Centos 7 安装 wget
- 京东H5小游戏《疯狂足球》Android外挂实现
热门文章
- keli下载报错,是因为没有找到相对应的型号
- 钢结构计算机模拟拼装,钢结构技术-钢结构虚拟预拼装技术
- STC单片机免冷启/自动下载原理DIY免冷启烧录器(纯硬件版和软件版)
- 【产品经验谈】详解Axure中的默认元件库
- 最好用的 7 款 Vue 3 富文本编辑器
- 【技术】Java打印菱形
- wps for linux alpha 15 语言包,WPS For Linux Alpha 16 发布下载
- linux点亮桌面,教你如何点亮自己的Ubuntu 屏幕
- 【最详细】数据结构(C语言版 第2版)课后习题答案全集 严蔚敏 等 编著
- linux删除用户名命令,linux删除用户命令