python - 通过命令循环发送图像?
问题描述
所以我想做的是发送关于游戏角色(物品、符文等)的图片,如果用户输入带有角色名称的代码,(?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 扩展名之外,图片的命令和名称是相同的。
解决方案
你可以像这样传入一个参数:
@client.command()
async def character(ctx, num):
await ctx.send(file=discord.File(f'character{num}.png'))
这意味着命令格式将是,例如:
?character 1
参考:
- f-字符串- Python 3.6+
推荐阅读
- web - 浏览器在点击 localhost url 时出现白屏
- vue.js - 空字符串和斜杠作为 Vue Router 默认子路由的路径名的区别
- python - 我如何解决 np.loadtxt 的问题
- javascript - 获取首先做出反应的用户 discord.js
- puppeteer - 如何解决 Puppeteer:无法启动浏览器进程
- python - 按字谜排序以在 Python 中列出
- html - 无法让此颜色框留在其他框内并向右浮动
- python - (Discord.py) 如何检查机器人是否已经在语音通道中播放音频?
- python - 如何在 Python 中使用 tesseract 获得图像中最大的文本?
- javascript - 即使选中了一个,我也会收到单选按钮的输出值