✨ WilliamButcherBot ✨

Telegram Group Manager Bot + Userbot Written In Python Using Pyrogram.

## 技师服务最小履约闭环 当前版本要求 Python 3.12,并提供技师展示、附近查找、服务请求、最终报价、 状态流转、完成评价二维码、主动评价、审核评价排行和对应管理后台。 首期不处理支付、退款或预约时间。 启用服务地址前必须配置独立 Fernet 密钥: ```console uv run python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())" ``` 将输出写入 `SERVICE_ADDRESS_ENCRYPTION_KEY`。精确地址不会进入二维码、评价或 普通接口,服务单进入终态 7 天后由后台任务自动脱敏。常用顾客/技师命令: 技师套餐默认通过 Telegram Mini App 快速创建,入口地址由 `SERVICE_TECHNICIAN_MINI_APP_URL` 配置。自助接口会校验 Telegram `initData` 签名并绑定当前技师,不能通过请求参数修改其他技师资料。系统首次启动时会幂等 内置快速到店、快速上门和按小时服务模板;管理员可以继续编辑、停用或归档, 后续启动不会覆盖管理员修改。 - `/find_technician`:查找附近技师并发起服务请求。 - `/my_services`:查看服务单并继续报价、确认、开始、取消或争议流程。 - `/technician_profile`:技师选择后台模板或自建套餐并发布服务资料。 - `/review_qr`:技师为服务中的订单生成完成确认二维码。 - `/review_teacher`:顾客主动评价技师。 - `/technician_top`:查看审核评价排行。 旧 `/teacher_*` 命令继续作为兼容别名。

made-with-python built-with-love
LICENSE Contributors Repository Size
Python Version Issues Forks Stars

Ready to use method

A Support Group and ready-to-use running instance of this bot can be found on Telegram
WilliamButcherBot | WbbSupport

⇝ Requirements ⇜

Python3.9 | Telegram API Key | Telegram Bot Token | MongoDB URI

⇝ Install Locally Or On A VPS ⇜

```console thehamkercat@arch:~$ git clone https://github.com/thehamkercat/WilliamButcherBot thehamkercat@arch:~$ cd WilliamButcherBot thehamkercat@arch:~$ pip3 install -U -r requirements.txt thehamkercat@arch:~$ cp sample_config.py config.py ```

Edit config.py with your own values

⇝ Run Directly ⇜

```console thehamkercat@arch:~$ python3 -m wbb ```

Generating Pyrogram Session For Heroku

```console thehamkercat@arch:~$ git clone https://github.com/thehamkercat/WilliamButcherBot thehamkercat@arch:~$ cd WilliamButcherBot thehamkercat@arch:~$ pip3 install pyrogram TgCrypto thehamkercat@arch:~$ python3 str_gen.py ```

⇝ Docker ⇜

```console thehamkercat@arch:~$ git clone https://github.com/thehamkercat/WilliamButcherBot thehamkercat@arch:~$ cd WilliamButcherBot thehamkercat@arch:~$ cp sample_config.env config.env ```

Edit config.env with your own values

```console thehamkercat@arch:~$ sudo docker build . -t wbb thehamkercat@arch:~$ sudo docker run wbb ```

⇝ Write new modules ⇜

```py # Add license text here, get it from below from wbb import app # This is bot's client from wbb import app2 # userbot client, import it if module is related to userbot from pyrogram import filters # pyrogram filters ... # For /help menu __MODULE__ = "Module Name" __HELP__ = "Module help message" @app.on_message(filters.command("start")) async def some_function(_, message): await message.reply_text("I'm already up!!") # Many useful functions are in, wbb/utils/, wbb, and wbb/core/ ```

And put that file in wbb/modules/, restart and test your bot.

Discover more awesome plugin add-ons for this repo [@WilliamButcherBot-Add-ons](https://github.com/si-nn-er-ls/WilliamButcherBot-Add-ons).