No Description

chendeben 8460fb7fa8 fix: exclude deployment secrets from image 2 months ago
.vim 1966456fbf Deepsource (#109) 5 years ago
admin-web dd88f06d8f feat: add technician service fulfillment flow 2 months ago
assets 71ab35d0ad Changed file permissions 5 years ago
tests dd88f06d8f feat: add technician service fulfillment flow 2 months ago
wbb dd88f06d8f feat: add technician service fulfillment flow 2 months ago
.deepsource.toml acf058069e Add .deepsource.toml 5 years ago
.dockerignore 8460fb7fa8 fix: exclude deployment secrets from image 2 months ago
.gitignore c9c306132f feat: add Telegram administration platform 2 months ago
.python-version 516cb180ff fix: don't ignore .python-version 7 months ago
CODE_OF_CONDUCT.md 71ab35d0ad Changed file permissions 5 years ago
CONTRIBUTING.md 71ab35d0ad Changed file permissions 5 years ago
Dockerfile c9c306132f feat: add Telegram administration platform 2 months ago
LICENSE 96ba66a6ea refactor: License changes etc (#266) 2 years ago
LOCAL_SETUP.md fda014d800 feat: add teacher directory and nearby discovery 2 months ago
README.md dd88f06d8f feat: add technician service fulfillment flow 2 months ago
config.env.template dd88f06d8f feat: add technician service fulfillment flow 2 months ago
docker-compose.yml c9c306132f feat: add Telegram administration platform 2 months ago
launcher.py fda014d800 feat: add teacher directory and nearby discovery 2 months ago
pyproject.toml dd88f06d8f feat: add technician service fulfillment flow 2 months ago
sample_config.env 1f98610f80 Change ARQ api URL 2 years ago
sample_config.py dd88f06d8f feat: add technician service fulfillment flow 2 months ago
str_gen.py 39e703dd4b Pyrogram 2.0 (#205) 3 years ago
uv.lock dd88f06d8f feat: add technician service fulfillment flow 2 months ago

README.md

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