电报防广告机器人 telegram antispam bot 重构产生问题和回答的方式

上一期我们实现了防广告机器人的基本框架 如果我们想实现丰富的 问题-答案 生成方式, 怎么做呢? 看一下目前的代码. 是生成了 问题-答案 后, 保存起来, 然后新成员再回答问题, 并检查答案. 那么, 我们来做这样一件事. 在一个python文件 main.py 的目录下, 有一个 pset 目录. pset 目录下有多份 .py 文件. 这些 .py 文件中, 都至少包含1个函数. buildQA buildQA 返回2个字符串, 一个是 question, 一个是 correct_answer 我要在 main.py 中随机调用 pset 目录下的一个 .py 文件中的 buildQA 函数 把这段文字丢给 M$ copilot (或者你手边的任意一个GPT), 很容易就得到答案. 把修改方案应用到项目中. 主 py 文件中. 增加这样一个函数 def get_random_module(): # 找出 pset 目录下的所有 .py 文件(排除 __init__.py) files = [ f[:-3] for f in os.listdir("pset") if f.endswith(".py") and f != "__init__.py" ] # 随机选择一个 chosen = random.choice(files) # 动态导入 module = importlib.import_module(f"pset.{chosen}") return module 再把原来生成 问题-答案的地方改成这样 # 生成验证问题和答案 mod = get_random_module() question, correct_answer = mod.buildQA() 然后在 pset 目录下, 新建一个 add.py 文件. 内容如下: import random def buildQA():...