假设有一个机器人(由 制造aiogram
)支持多种语言的选择。
在正常情况下,为了响应用户,我会执行以下操作:
@dp.message(Command('start'))
async def start(message: Message):
await message.answer('Hello, world!')
但如果用户有多种语言,我们将需要使用一个数据库来存储用户的语言。为此,我们将创建过滤器,在其中我们将立即跟踪语言(如果此方法也无效则正确),使用大约以下逻辑:首先我们访问数据库,读取它使用的语言以及它是否与过滤器不匹配,然后返回False
,然后我们检查下一个路由器,直到过滤器返回True
。
接下来,用户需要给出某种答案,而这里根本不清楚文本应该如何存储,以便响应速度高。一开始想到的是使用 JSON,但是如果有很多文本并且需要异步访问文件怎么办?