Python Discord Bot命令匹配问题:需支持小写输入
解决Discord机器人!ubi命令大小写敏感问题
你的问题核心是字符串匹配的大小写敏感性:原代码直接用用户输入的args和API返回的api["name"]做包含匹配,二者大小写不一致时就会匹配失败。
修改方案很简单,把匹配的双方统一转成小写(或大写),消除大小写差异:
@bot.command() async def ubi(ctx, *, args): response = requests.get('https://jose89fcb.es/apifortnite/api.io.php') data = response.json() # 将用户输入转为小写,统一匹配规则 args_lower = args.lower() for api in data['list']: # 将API返回的名称也转为小写,进行不区分大小写的包含匹配 if args_lower in api["name"].lower(): await ctx.send(f'{api["images"][0]["url"]}')
关键修改点:
- 把用户输入的
args转为小写存入args_lower - 匹配时把
api["name"]也转为小写,再判断args_lower是否包含其中
这样不管用户输入大写、小写还是混合大小写的参数,都能和API里的名称正确匹配,返回对应的图片链接。
内容的提问来源于stack exchange,提问作者juancarlos5487
相关产品推荐
相关产品推荐

