首页 > 解决方案 > 通过命令循环发送图像?

问题描述

所以我想做的是发送关于游戏角色(物品、符文等)的图片,如果用户输入带有角色名称的代码,(?character1)机器人发送图片。这很容易。

@client.command()
async def character1(ctx):
    await ctx.send(file=discord.File('character1.png'))

@client.command()
async def character2(ctx):
    await ctx.send(file=discord.File('character2.png'))

@client.command
async def character3(ctx):
    await ctx.send(file=discord.File('character3.png'))

但是有很多字符,我想知道是否可以通过查看用户发送的命令并检查是否有带有命令名称的图片然后发送它的方法来节省一些时间。因为就像在我的示例中一样,除了 .png 扩展名之外,图片的命令和名称是相同的。

标签: pythondiscorddiscord.py

解决方案


你可以像这样传入一个参数:

@client.command()
async def character(ctx, num):
    await ctx.send(file=discord.File(f'character{num}.png'))

这意味着命令格式将是,例如:
?character 1


参考:


推荐阅读