oclaw/scripts/switch_wecom_bot.py
oliver ba3836f00f 初始化:独立 oclaw 仓库首提交
- 在 oclaw/ 下重新初始化 Git 仓库
- 补齐子仓库 .gitignore,避免提交本地运行态数据(_local、node_modules、logs 等)
- 提交当前工程代码与配置

Made-with: Cursor
2026-04-24 22:31:22 +08:00

48 lines
1.2 KiB
Python

from __future__ import annotations
import sys
from oclaw.platform.config.paths import db_path
from oclaw.platform.persistence.sqlite_store import SqliteStore
_CLEAR_KEYS = [
"wecom_access_token_cache",
"wecom_last_msg_ts",
"wecom_last_from_user",
"wecom_recent_from_users",
"wecom_last_cmd",
"wecom_last_unknown_cmd_payload",
"wecom_last_raw_body",
"wecom_last_raw_from_user",
"wecom_last_parse_error",
]
def main() -> int:
args = [str(x).strip() for x in sys.argv[1:]]
if len(args) < 2:
print("usage: python -m scripts.switch_wecom_bot <bot_id> <bot_secret>")
return 2
bot_id, bot_secret = args[0], args[1]
if not bot_id or not bot_secret:
print("error=missing_required_args")
return 2
store = SqliteStore(db_path())
store.set_setting("wecom_mode", "bot_api")
store.set_setting("wecom_bot_id", bot_id)
store.set_secret("wecom_bot_secret", bot_secret)
for k in _CLEAR_KEYS:
store.delete_setting(k)
print("ok=1")
print("mode=bot_api")
print(f"bot_id={bot_id}")
print("cleared=" + ",".join(_CLEAR_KEYS))
print("next=python -m oclaw.ops stack up --channel wecom")
return 0
if __name__ == "__main__":
raise SystemExit(main())