Skip to main content
胡乱说 Logo
Logo 版权:Chaichaisi 版权所有,严禁商用

nonebot-plugin-lsay

✨ 胡乱说 —— 插这件说都不会话了:谐音恶搞 + 语义块乱序的整活机器人 ✨

GitHub stars GitHub issues GitHub forks license pypi python

🙏 致谢

📖 前言及介绍

通过谐音替换 + 语义块乱序,把群聊 / 私聊里的文本魔改成"说都不会话了"的整活版本。支持被动监听(按概率触发)与主动 lsay 命令,命令有没有空格都能识别,是纯整活插件,请勿用于任何正式场合。

魔改示例:

  • 今天天气不错 → 不错今天天气 / 今舔天奇部错
  • 我明天去学校上课 → 学校明天去上课 / 我薛校铭天上课娶
  • 催盼云-886vps 日本9.9/月补货 → 日本9.9/月补货 催盼云-886vps
  • 各位富豪,续费了。 → 各位续费,富号了。 / 各位扶豪,叙啡了。

标点、助词、连词、代词位置保持不动,不会乱飘;含数字 / 字母 / 符号的品牌与价格词(如 886vps、9.9/月)会整块移动,不会被拆碎。

🔧 开发环境

  • NoneBot2:2.x
  • Python:3.9+
  • 操作系统:Linux / Windows / macOS
  • 适配器:OneBot V11(NapCat / LLOneBot / Go-CQHTTP 等)

💿 安装

1. nb-cli 安装(推荐)

在你 bot 工程的文件夹下运行:

nb plugin install nonebot-plugin-lsay

2. pip 安装

pip install nonebot-plugin-lsay

若是默认 nb-cli 创建的 nonebot2 工程,在 pyproject.toml 的 [tool.nonebot.plugins] 中添加一行:

[tool.nonebot.plugins]
nonebot-plugin-lsay = ["nonebot_plugin_lsay"]

3. 本地安装(不推荐)

下载源码后,将 nonebot_plugin_lsay 目录放到 你的bot/src/plugins/ 下即可。

⚙️ 配置

在 nonebot2 项目的 .env 文件中添加以下配置项(全部可选,不填用默认值):

配置项 默认值 说明
lsay_global_enabled True 全局默认开启状态
lsay_global_prob 5 全局触发概率(1~50,越大越易触发)
lsay_user_prob_min 1 普通用户可设置的概率下限
lsay_user_prob_max 15 普通用户可设置的概率上限
lsay_global_prob_min 1 全局概率下限
lsay_global_prob_max 50 全局概率上限
lsay_homo_prob 0.35 谐音替换概率(0~1,内部参数)
lsay_default_mode mix 魔改模式:shuffle(仅乱序)/ homo(仅谐音)/ mix(混合)
lsay_state_file lsay_state.json 状态文件名(保存在 localstore 插件数据目录)

示例:

lsay_global_prob=5
lsay_default_mode=mix
lsay_state_file=lsay_state.json

机器人超管使用 nonebot 内置配置 SUPERUSERS,配置后即可使用超管命令。本插件的命令不依赖 / 前缀,直接输入 lsay 即可(无需设置 COMMAND_START)。

🎉 功能

  1. 被动整活:监听文本消息,按概率输出魔改文本;概率单用户独立隔离、互不干扰
  2. 随机混搭魔改:每次触发随机在「纯乱序 / 部分谐音 / 全谐音 / 乱序+谐音」间切换,效果不重样
  3. 主动命令:lsay 文本 直接魔改输出;命令有没有空格都行(lsay on、lsayon、lsay on 等价)
  4. 命令别名:lsay / luan说 / ssay / sao说
  5. 超管控制:全局开关、全局概率、代用户开启 / 关闭(被 asoff 关闭的用户无法自行开启,需联系超管)
  6. 语义块乱序:名词、动词、形容词、时间词参与乱序,标点助词固定,数字 / 英文 / 符号品牌词整块移动
  7. 谐音字典外部化:字典存于 data/homophone.json,可用生成脚本重新生成或替换

👉 命令

PS:本插件命令无需 / 前缀,直接输入即可。命令有无空格等价:lsay gl show、lsayglshow、lsay gl show 均能识别。

用户命令

命令 说明
lsay 文本 魔改并输出该文本;非文本类型(图片 / 表情等)直接抛弃
lsay on 开启插件(默认开启)
lsay off 关闭插件
lsay gl show 查看你的触发概率(未自定义则显示全局概率)
lsay gl set N 自定义触发概率(N: 1~15,0/100 不允许)
lsay gl noset 恢复使用全局默认概率
lsay help 功能菜单(超管会附加超管菜单)
lsay info 插件信息

例如:lsay 各位富豪,续费了。、lsayon、lsay gl set 8。

管理员命令(超管可用)

命令 说明
lsay allon 全局开启(默认开启)
lsay alloff 全局关闭
lsay showgl 查看全局状态与概率
lsay setgl N 设置全局概率(N: 1~50)
lsay nosetgl 恢复插件默认概率(5)
lsay ason ID 代用户开启插件
lsay asoff ID 代用户关闭插件(被关闭用户无法自行开启,需联系超管)

🚀 高阶玩法:谐音字典

插件从 nonebot_plugin_lsay/data/homophone.json 读取谐音字典,该字典可用 generate_homophone_json.py 生成或替换,从而自定义恶搞风格(如加入方言谐音、网络黑话)。

内置字典(开箱即用)

默认 homophone.json 为 GB2312 一级常用字(约 3700 字),覆盖日常高频字。

重新生成字典

python nonebot_plugin_lsay/data/generate_homophone_json.py --level common     # 常用字(默认)
python nonebot_plugin_lsay/data/generate_homophone_json.py --level extended   # 扩展字集
python nonebot_plugin_lsay/data/generate_homophone_json.py --level all        # 全部字
python nonebot_plugin_lsay/data/generate_homophone_json.py --level all --polyphonic   # 含多音字
python nonebot_plugin_lsay/data/generate_homophone_json.py --compact          # 紧凑格式

把生成的 homophone.json 放回 nonebot_plugin_lsay/data/ 即可生效。

📝 更新日志

展开/收起

26.10.1

  • 状态数据改由 nonebot-plugin-localstore 的 get_plugin_data_dir() 管理存储目录
  • 版本号更新至 26.10.1

26.8.1

  • 插件初次发布:谐音恶搞 + 语义块乱序整活机器人
  • 被动监听(单用户独立概率)+ 主动 lsay 命令(有无空格均可)
  • 命令别名:lsay / luan说 / ssay / sao说
  • 超管全局开关、全局概率、代用户开启 / 关闭(asoff 后无法自行开启)
  • 语义块乱序:名词 / 动词 / 形容词 / 时间词参与,标点助词固定,品牌价格词整块移动
  • 谐音字典外部化:data/homophone.json + 生成脚本,支持 common / extended / all / 多音字

版权声明

Logo 与插件本体版权归 Chaichaisi 所有,基于 LGPL-2.1 协议开源,严禁商用。

Metadata

Release files for nonebot-plugin-lsay 26.10.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nonebot-plugin-lsay 26.10.1
File Size Uploaded Provenance
nonebot_plugin_lsay-26.10.1.tar.gz 70.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for nonebot-plugin-lsay 26.10.1
File Interpreter ABI Platform
nonebot_plugin_lsay-26.10.1-py3-none-any.whl Python 3 none any Details

Total release size: 142.0 kB

Release files / nonebot_plugin_lsay-26.10.1.tar.gz

Download URL nonebot_plugin_lsay-26.10.1.tar.gz
Size 70.4 kB
Tags Source
SHA-256 checksum
How to use checksums
52c8404bec2e2aa2d9c7e4e1501a23f639b69f844a279255abd2c57cf1ef2082
BLAKE2b-256 checksum
How to use checksums
e468f0a9644a0d879e168c20a97744409cb7131fc020e90fc8aa43fb272a735f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / nonebot_plugin_lsay-26.10.1-py3-none-any.whl

Download URL nonebot_plugin_lsay-26.10.1-py3-none-any.whl
Size 71.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5b519381dd61020673b9d6b58f54cc3045a3efa1294727c37a3caedbda05ae09
BLAKE2b-256 checksum
How to use checksums
39cc83a1e85190265322506a19f81cc7eb87f368e8c8890fd7e9434ed408a682
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Security for nonebot-plugin-lsay 26.10.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page