如何让self bot从config.json读取token而非硬编码在代码中
从config.json读取Token的修改方案
第一步:创建配置文件
在机器人主代码同目录下新建config.json,写入如下内容,将字段值替换为你自己的实际Token:
{ "token": "替换为你的实际账号Token" }
安全提示:请将
config.json加入.gitignore规则,不要将该文件上传到公开代码仓库,避免Token泄露被盗号。
第二步:修改代码逻辑
- 在代码开头导入Python内置的
json模块,不需要额外安装第三方依赖 - 增加读取配置文件的代码段,替换原有硬编码传参的
bot.run语句
修改后的核心代码示例:
# 导入依赖,原有其他导入项保留 import json # 原有bot初始化等代码无需改动,比如bot实例初始化的代码保持原样 # 读取配置 with open("config.json", mode="r", encoding="utf-8") as conf_file: config = json.load(conf_file) # 替换原有的硬编码运行语句 bot.run(config["token"], bot=False)
可选容错优化
如果需要避免配置文件缺失、格式错误导致的程序崩溃,可以增加简单的异常判断:
import json import sys try: with open("config.json", mode="r", encoding="utf-8") as conf_file: config = json.load(conf_file) token = config["token"] except FileNotFoundError: print("错误:未找到同目录下的config.json配置文件") sys.exit(1) except json.JSONDecodeError: print("错误:config.json格式不符合JSON规范,请检查语法") sys.exit(1) except KeyError: print("错误:config.json中未配置token字段") sys.exit(1) bot.run(token, bot=False)
内容的提问来源于stack exchange,提问作者Kiwi
相关产品推荐
相关产品推荐

