README.md 5.1 KB

✨ WilliamButcherBot ✨

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

技师服务最小履约闭环

当前版本要求 Python 3.12,并提供技师展示、附近查找、服务请求、最终报价、 状态流转、完成评价二维码、主动评价、审核评价排行和对应管理后台。 首期不处理支付、退款或预约时间。

启用服务地址前必须配置独立 Fernet 密钥:

uv run python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"

将输出写入 SERVICE_ADDRESS_ENCRYPTION_KEY。精确地址不会进入二维码、评价或 普通接口,服务单进入终态 7 天后由后台任务自动脱敏。常用顾客/技师命令:

  • /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 ⇜

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 ⇜

thehamkercat@arch:~$ python3 -m wbb

Generating Pyrogram Session For Heroku

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 ⇜

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

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

⇝ Write new modules ⇜

# 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.