refactor: Organize mail, stripe, gift, and Claude authentication modules into a new core package and update imports.

This commit is contained in:
2026-02-13 04:15:46 +08:00
parent 34215222bf
commit ea852b7a4c
13 changed files with 28 additions and 22 deletions

23
bot.py
View File

@@ -32,12 +32,13 @@ from config import (
get_merged_permissions, get_merged_permissions,
MAIL_SYSTEMS, MAIL_SYSTEMS,
) )
from mail_service import MailPool, extract_magic_link from core.mail_service import MailPool, extract_magic_link
from stripe_token import StripeTokenizer from core.stripe_token import StripeTokenizer
from gift_checker import GiftChecker from core.gift_checker import GiftChecker
from claude_auth import attack_claude, finalize_login from core.claude_auth import attack_claude, finalize_login
import account_store from core import account_store
import proxy_pool from core import proxy_pool
from core import permissions
# --- 日志配置 --- # --- 日志配置 ---
logging.basicConfig( logging.basicConfig(
@@ -327,7 +328,7 @@ async def cmd_proxystatus(update: Update, context: ContextTypes.DEFAULT_TYPE):
# 用户权限管理(仅管理员) # 用户权限管理(仅管理员)
# ============================================================ # ============================================================
import permissions from core import permissions
def _admin_only(func): def _admin_only(func):
"""管理员专属装饰器:只有 config.toml 中 commands=["*"] 的用户可使用""" """管理员专属装饰器:只有 config.toml 中 commands=["*"] 的用户可使用"""
@@ -1017,8 +1018,8 @@ def _check_worker(loop: asyncio.AbstractEventLoop, status_msg, card_line: str, a
acc_parts = account_line.split("|") acc_parts = account_line.split("|")
email, session_key, org_uuid = acc_parts[0], acc_parts[1], acc_parts[2] email, session_key, org_uuid = acc_parts[0], acc_parts[1], acc_parts[2]
from models import ClaudeAccount from core.models import ClaudeAccount
from identity import random_ua from core.identity import random_ua
account = ClaudeAccount(email, session_key, org_uuid, random_ua()) account = ClaudeAccount(email, session_key, org_uuid, random_ua())
masked = f"{cc[:4]}****{cc[-4:]}" masked = f"{cc[:4]}****{cc[-4:]}"
@@ -1153,8 +1154,8 @@ async def handle_document(update: Update, context: ContextTypes.DEFAULT_TYPE):
def _batch_check_worker(loop: asyncio.AbstractEventLoop, status_msg, cards: list, acc_lines: list): def _batch_check_worker(loop: asyncio.AbstractEventLoop, status_msg, cards: list, acc_lines: list):
"""批量 CC 检查工作线程round-robin 轮询账号)""" """批量 CC 检查工作线程round-robin 轮询账号)"""
from models import ClaudeAccount from core.models import ClaudeAccount
from identity import random_ua from core.identity import random_ua
results = [] results = []
total = len(cards) total = len(cards)

View File

@@ -58,7 +58,7 @@ ADMIN_USERS: set[int] = {
def get_merged_permissions() -> dict[int, set[str]]: def get_merged_permissions() -> dict[int, set[str]]:
"""合并 config.toml 静态权限 + permissions.json 运行时权限""" """合并 config.toml 静态权限 + permissions.json 运行时权限"""
import permissions as perm_mod from core import permissions as perm_mod
merged = dict(_STATIC_PERMISSIONS) merged = dict(_STATIC_PERMISSIONS)
for uid, cmds in perm_mod.get_permissions_map().items(): for uid, cmds in perm_mod.get_permissions_map().items():
merged.setdefault(uid, set()).update(cmds) merged.setdefault(uid, set()).update(cmds)
@@ -73,4 +73,4 @@ MAIL_SYSTEMS: list[dict] = _cfg.get("mail", [])
# --- 代理池 --- # --- 代理池 ---
# 代理逻辑统一由 proxy_pool.py 管理,这里只做 re-export 保持兼容 # 代理逻辑统一由 proxy_pool.py 管理,这里只做 re-export 保持兼容
from proxy_pool import get_proxy, get_proxy_count # noqa: E402, F401 from core.proxy_pool import get_proxy, get_proxy_count # noqa: E402, F401

5
core/__init__.py Normal file
View File

@@ -0,0 +1,5 @@
"""
autoClaude 核心模块包
包含认证、检查、邮件、代理、账号存储等业务逻辑。
"""

View File

@@ -3,8 +3,8 @@ import base64
from curl_cffi import requests # 用于模拟指纹 from curl_cffi import requests # 用于模拟指纹
from config import CLAUDE_URL, get_proxy from config import CLAUDE_URL, get_proxy
from models import ClaudeAccount from core.models import ClaudeAccount
from identity import random_ua from core.identity import random_ua
def attack_claude(target_email): def attack_claude(target_email):

View File

@@ -1,8 +1,8 @@
from curl_cffi import requests # 用于模拟指纹 from curl_cffi import requests # 用于模拟指纹
from config import PRODUCT_ID, get_proxy from config import PRODUCT_ID, get_proxy
from models import ClaudeAccount from core.models import ClaudeAccount
from identity import random_address from core.identity import random_address
class GiftChecker: class GiftChecker:

View File

@@ -3,7 +3,7 @@ import random
from curl_cffi import requests # 用于模拟指纹 from curl_cffi import requests # 用于模拟指纹
from config import STRIPE_PK, get_proxy from config import STRIPE_PK, get_proxy
from identity import random_address, random_name from core.identity import random_address, random_name
class StripeTokenizer: class StripeTokenizer:

View File

@@ -3,10 +3,10 @@ import random
import string import string
from config import MAIL_SYSTEMS from config import MAIL_SYSTEMS
from mail_service import MailPool, extract_magic_link from core.mail_service import MailPool, extract_magic_link
from stripe_token import StripeTokenizer from core.stripe_token import StripeTokenizer
from gift_checker import GiftChecker from core.gift_checker import GiftChecker
from claude_auth import attack_claude, finalize_login from core.claude_auth import attack_claude, finalize_login
# --- 主流程 (The Ritual) --- # --- 主流程 (The Ritual) ---