# advx-shit-offline
一个用于随机输出AdventureX文案的Python包(离线版本)
## 🚀 快速开始
### 安装
```bash
pip install advx-shit-offline
```
### 使用
```python
from advx_shit_offline import advx
print(advx.random)
```
## 📦 功能特性
- ✅ **离线使用** - 无需网络连接
- ✅ **智能解析** - 自动提取和过滤文案
- ✅ **随机输出** - 从165条文案中随机选择
- ✅ **缓存机制** - 提高性能
- ✅ **完整文案** - 保证多行文案的完整性
- ✅ **自定义路径** - 支持自定义文件路径
## 📖 详细用法
### 基本用法
```python
from advx_shit_offline import advx
# 随机输出一条文案
print(advx.random)
```
### 获取所有文案
```python
from advx_shit_offline import advx
# 获取所有文案
all_texts = advx.get_all()
print(f"总共有 {len(all_texts)} 条文案")
# 显示前5条文案
for i, text in enumerate(all_texts[:5], 1):
print(f"{i}. {text}")
```
### 自定义文件路径
```python
from advx_shit_offline import AdvXShitOffline
# 使用自定义文件
custom_advx = AdvXShitOffline("your_file.md")
print(custom_advx.random)
```
### 刷新缓存
```python
from advx_shit_offline import advx
# 刷新缓存
advx.refresh()
print(advx.random)
```
## 🎯 示例输出
```
是谁杀死了找💩比赛
原来是可以自行移动的 AI 马桶
再也不用到处找厕所了,更不会有溢出风险
```
## 📁 项目结构
```
advx-shit-offline/
├── advx_shit_offline/
│ └── __init__.py # 核心代码
├── setup.py # 安装配置
├── README.md # 说明文档
├── LICENSE # 许可证
├── requirements.txt # 依赖文件
└── MANIFEST.in # 打包配置
```
## 🔧 开发
### 克隆仓库
```bash
git clone https://github.com/RATING3PRO/advx-shit-offline.git
cd advx-shit-offline
```
### 安装开发依赖
```bash
cd advx_shit_offline
pip install -e .[dev]
```
### 构建包
```bash
python setup.py sdist bdist_wheel
```
## 📦 发布
### 手动发布
```bash
# 构建包
python setup.py sdist bdist_wheel
# 检查包
twine check dist/*
# 上传到PyPI
twine upload dist/*
```
### 自动发布
使用GitHub Actions自动发布:
```bash
# 创建标签
git tag v1.0.0
git push origin v1.0.0
```
## 🤝 贡献
欢迎提交Issue和Pull Request!
1. Fork 本仓库
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 打开 Pull Request
## 📄 许可证
本项目采用 MIT 许可证 - 查看 [LICENSE](advx_shit_offline/LICENSE) 文件了解详情
## 🔗 相关链接
- [GitHub仓库](https://github.com/RATING3PRO/advx-shit-offline)
- [PyPI包](https://pypi.org/project/advx-shit-offline/)
## ⭐ 支持
如果这个项目对您有帮助,请给我们一个星标!
---
**注意**: 这个包是AdventureX活动的娱乐项目,仅供学习和娱乐使用。
Raw data
{
"_id": null,
"home_page": "https://github.com/RATING3PRO/advx-shit-offline",
"name": "advx-shit-offline",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "adventurex, shit, random, text, offline",
"author": "AdventureX",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/51/2c/4023ccfa8878b0873c2f0b2fa602da34ded4ed6d912297b5e21d1fcc72e0/advx_shit_offline-1.0.14.tar.gz",
"platform": null,
"description": "# advx-shit-offline\n\n\u4e00\u4e2a\u7528\u4e8e\u968f\u673a\u8f93\u51faAdventureX\u6587\u6848\u7684Python\u5305\uff08\u79bb\u7ebf\u7248\u672c\uff09\n\n## \ud83d\ude80 \u5feb\u901f\u5f00\u59cb\n\n### \u5b89\u88c5\n\n```bash\npip install advx-shit-offline\n```\n\n### \u4f7f\u7528\n\n```python\nfrom advx_shit_offline import advx\nprint(advx.random)\n```\n\n## \ud83d\udce6 \u529f\u80fd\u7279\u6027\n\n- \u2705 **\u79bb\u7ebf\u4f7f\u7528** - \u65e0\u9700\u7f51\u7edc\u8fde\u63a5\n- \u2705 **\u667a\u80fd\u89e3\u6790** - \u81ea\u52a8\u63d0\u53d6\u548c\u8fc7\u6ee4\u6587\u6848\n- \u2705 **\u968f\u673a\u8f93\u51fa** - \u4ece165\u6761\u6587\u6848\u4e2d\u968f\u673a\u9009\u62e9\n- \u2705 **\u7f13\u5b58\u673a\u5236** - \u63d0\u9ad8\u6027\u80fd\n- \u2705 **\u5b8c\u6574\u6587\u6848** - \u4fdd\u8bc1\u591a\u884c\u6587\u6848\u7684\u5b8c\u6574\u6027\n- \u2705 **\u81ea\u5b9a\u4e49\u8def\u5f84** - \u652f\u6301\u81ea\u5b9a\u4e49\u6587\u4ef6\u8def\u5f84\n\n## \ud83d\udcd6 \u8be6\u7ec6\u7528\u6cd5\n\n### \u57fa\u672c\u7528\u6cd5\n\n```python\nfrom advx_shit_offline import advx\n\n# \u968f\u673a\u8f93\u51fa\u4e00\u6761\u6587\u6848\nprint(advx.random)\n```\n\n### \u83b7\u53d6\u6240\u6709\u6587\u6848\n\n```python\nfrom advx_shit_offline import advx\n\n# \u83b7\u53d6\u6240\u6709\u6587\u6848\nall_texts = advx.get_all()\nprint(f\"\u603b\u5171\u6709 {len(all_texts)} \u6761\u6587\u6848\")\n\n# \u663e\u793a\u524d5\u6761\u6587\u6848\nfor i, text in enumerate(all_texts[:5], 1):\n print(f\"{i}. {text}\")\n```\n\n### \u81ea\u5b9a\u4e49\u6587\u4ef6\u8def\u5f84\n\n```python\nfrom advx_shit_offline import AdvXShitOffline\n\n# \u4f7f\u7528\u81ea\u5b9a\u4e49\u6587\u4ef6\ncustom_advx = AdvXShitOffline(\"your_file.md\")\nprint(custom_advx.random)\n```\n\n### \u5237\u65b0\u7f13\u5b58\n\n```python\nfrom advx_shit_offline import advx\n\n# \u5237\u65b0\u7f13\u5b58\nadvx.refresh()\nprint(advx.random)\n```\n\n## \ud83c\udfaf \u793a\u4f8b\u8f93\u51fa\n\n```\n\u662f\u8c01\u6740\u6b7b\u4e86\u627e\ud83d\udca9\u6bd4\u8d5b\n\u539f\u6765\u662f\u53ef\u4ee5\u81ea\u884c\u79fb\u52a8\u7684 AI \u9a6c\u6876\n\u518d\u4e5f\u4e0d\u7528\u5230\u5904\u627e\u5395\u6240\u4e86\uff0c\u66f4\u4e0d\u4f1a\u6709\u6ea2\u51fa\u98ce\u9669\n```\n\n## \ud83d\udcc1 \u9879\u76ee\u7ed3\u6784\n\n```\nadvx-shit-offline/\n\u251c\u2500\u2500 advx_shit_offline/\n\u2502 \u2514\u2500\u2500 __init__.py # \u6838\u5fc3\u4ee3\u7801\n\u251c\u2500\u2500 setup.py # \u5b89\u88c5\u914d\u7f6e\n\u251c\u2500\u2500 README.md # \u8bf4\u660e\u6587\u6863\n\u251c\u2500\u2500 LICENSE # \u8bb8\u53ef\u8bc1\n\u251c\u2500\u2500 requirements.txt # \u4f9d\u8d56\u6587\u4ef6\n\u2514\u2500\u2500 MANIFEST.in # \u6253\u5305\u914d\u7f6e\n```\n\n## \ud83d\udd27 \u5f00\u53d1\n\n### \u514b\u9686\u4ed3\u5e93\n\n```bash\ngit clone https://github.com/RATING3PRO/advx-shit-offline.git\ncd advx-shit-offline\n```\n\n### \u5b89\u88c5\u5f00\u53d1\u4f9d\u8d56\n\n```bash\ncd advx_shit_offline\npip install -e .[dev]\n```\n\n### \u6784\u5efa\u5305\n\n```bash\npython setup.py sdist bdist_wheel\n```\n\n## \ud83d\udce6 \u53d1\u5e03\n\n### \u624b\u52a8\u53d1\u5e03\n\n```bash\n# \u6784\u5efa\u5305\npython setup.py sdist bdist_wheel\n\n# \u68c0\u67e5\u5305\ntwine check dist/*\n\n# \u4e0a\u4f20\u5230PyPI\ntwine upload dist/*\n```\n\n### \u81ea\u52a8\u53d1\u5e03\n\n\u4f7f\u7528GitHub Actions\u81ea\u52a8\u53d1\u5e03\uff1a\n\n```bash\n# \u521b\u5efa\u6807\u7b7e\ngit tag v1.0.0\ngit push origin v1.0.0\n```\n\n## \ud83e\udd1d \u8d21\u732e\n\n\u6b22\u8fce\u63d0\u4ea4Issue\u548cPull Request\uff01\n\n1. Fork \u672c\u4ed3\u5e93\n2. \u521b\u5efa\u7279\u6027\u5206\u652f (`git checkout -b feature/AmazingFeature`)\n3. \u63d0\u4ea4\u66f4\u6539 (`git commit -m 'Add some AmazingFeature'`)\n4. \u63a8\u9001\u5230\u5206\u652f (`git push origin feature/AmazingFeature`)\n5. \u6253\u5f00 Pull Request\n\n## \ud83d\udcc4 \u8bb8\u53ef\u8bc1\n\n\u672c\u9879\u76ee\u91c7\u7528 MIT \u8bb8\u53ef\u8bc1 - \u67e5\u770b [LICENSE](advx_shit_offline/LICENSE) \u6587\u4ef6\u4e86\u89e3\u8be6\u60c5\n\n## \ud83d\udd17 \u76f8\u5173\u94fe\u63a5\n\n- [GitHub\u4ed3\u5e93](https://github.com/RATING3PRO/advx-shit-offline)\n- [PyPI\u5305](https://pypi.org/project/advx-shit-offline/)\n\n## \u2b50 \u652f\u6301\n\n\u5982\u679c\u8fd9\u4e2a\u9879\u76ee\u5bf9\u60a8\u6709\u5e2e\u52a9\uff0c\u8bf7\u7ed9\u6211\u4eec\u4e00\u4e2a\u661f\u6807\uff01\n\n---\n\n**\u6ce8\u610f**: \u8fd9\u4e2a\u5305\u662fAdventureX\u6d3b\u52a8\u7684\u5a31\u4e50\u9879\u76ee\uff0c\u4ec5\u4f9b\u5b66\u4e60\u548c\u5a31\u4e50\u4f7f\u7528\u3002 \n",
"bugtrack_url": null,
"license": null,
"summary": "\u4e00\u4e2a\u7528\u4e8e\u968f\u673a\u8f93\u51faAdventureX\u6587\u6848\u7684Python\u5305\uff08\u79bb\u7ebf\u7248\u672c\uff09",
"version": "1.0.14",
"project_urls": {
"Bug Reports": "https://github.com/RATING3PRO/advx-shit-offline/issues",
"Documentation": "https://github.com/RATING3PRO/advx-shit-offline#readme",
"Homepage": "https://github.com/RATING3PRO/advx-shit-offline",
"Source": "https://github.com/RATING3PRO/advx-shit-offline"
},
"split_keywords": [
"adventurex",
" shit",
" random",
" text",
" offline"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "37c165423649e18061e9d941a5f80af913f6e79aaa1100815ef8464ef8e6b99f",
"md5": "6c13b75baf8e7ff56612f083a93733a6",
"sha256": "fe778f291678a5520dc06e8ea73f2315219c57b3b0520eb23f335abbf9ddfd65"
},
"downloads": -1,
"filename": "advx_shit_offline-1.0.14-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6c13b75baf8e7ff56612f083a93733a6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 3945,
"upload_time": "2025-07-25T20:32:17",
"upload_time_iso_8601": "2025-07-25T20:32:17.651211Z",
"url": "https://files.pythonhosted.org/packages/37/c1/65423649e18061e9d941a5f80af913f6e79aaa1100815ef8464ef8e6b99f/advx_shit_offline-1.0.14-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "512c4023ccfa8878b0873c2f0b2fa602da34ded4ed6d912297b5e21d1fcc72e0",
"md5": "054ccaaaf93b63971ad92f8b56fa1c44",
"sha256": "e30cf41c3c4705c4390aac1451940fba4d5334ea0d08faaff4469f667dafbf70"
},
"downloads": -1,
"filename": "advx_shit_offline-1.0.14.tar.gz",
"has_sig": false,
"md5_digest": "054ccaaaf93b63971ad92f8b56fa1c44",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 4377,
"upload_time": "2025-07-25T20:32:18",
"upload_time_iso_8601": "2025-07-25T20:32:18.698329Z",
"url": "https://files.pythonhosted.org/packages/51/2c/4023ccfa8878b0873c2f0b2fa602da34ded4ed6d912297b5e21d1fcc72e0/advx_shit_offline-1.0.14.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-25 20:32:18",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "RATING3PRO",
"github_project": "advx-shit-offline",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "advx-shit-offline"
}