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
  • 各位富豪,续费了。各位续费,富号了。 / 各位扶豪,叙啡了。

标点、助词、连词、代词位置保持不动,不会乱飘;含数字 / 字母 / 符号的品牌与价格词(如 886vps9.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 状态文件保存路径(相对 bot 运行目录)

示例:

lsay_global_prob=5
lsay_default_mode=mix
lsay_state_file=lsay_state.json

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

🎉 功能

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

👉 命令

PS:本插件命令无需 / 前缀,直接输入即可。命令有无空格等价:lsay gl showlsayglshowlsay 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 各位富豪,续费了。lsayonlsay 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.8.1

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

版权声明

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nonebot_plugin_lsay-26.8.1.tar.gz (70.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nonebot_plugin_lsay-26.8.1-py3-none-any.whl (71.3 kB view details)

Uploaded Python 3

File details

Details for the file nonebot_plugin_lsay-26.8.1.tar.gz.

File metadata

  • Download URL: nonebot_plugin_lsay-26.8.1.tar.gz
  • Upload date:
  • Size: 70.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.7

File hashes

Hashes for nonebot_plugin_lsay-26.8.1.tar.gz
Algorithm Hash digest
SHA256 50f99821fa93516aa90fafa700fb08210326f8987de07d23944dd7dd34baa803
MD5 bd1956c4a4eeb3146cf46226c5c89c0f
BLAKE2b-256 8363c553404c19c11df1a7c5688f71d773421c5ad49f472da138b9e6859df99c

See more details on using hashes here.

File details

Details for the file nonebot_plugin_lsay-26.8.1-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_plugin_lsay-26.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0558be1ea12d713be8de1a08edfaaebc217d803adef66e2316653db3ca154fb7
MD5 53624c9aad00c743ffb2bfa84f4c5bbc
BLAKE2b-256 86b0272692224d5a4b77b3a15d4c5c6a861b1fd882405b971036acf5827675f1

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

26.8.1 This release

2 files

26.8.0

2 files

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