python - discord.py discord.Message 在函数内部而不是作为参数
问题描述
编码新手,对术语不太熟悉。目前我设置的是用户必须在命令中输入消息 ID 才能对其进行编辑,但我希望它每次都是相同的消息 ID,因为用户不需要在命令。当我尝试在函数内部分配消息 ID 时,我遇到了一个需要 1 个位置参数,但给了 2 个错误。
这有效:当用户执行 !editembed msgID test test
@bot.command()
async def editembed(ctx, message: discord.Message, vols, *, title):
embed = message.embeds[0]
embed.add_field(name=title, value=vols, inline=False)
await message.edit(embed=embed)
我想要的是这样的: !editembed test test
@bot.command()
async def editembed(ctx, vols, *, title):
message = discord.Message(msgID)
embed = message.embeds[0]
embed.add_field(name=title, value=vols, inline=False)
await message.edit(embed=embed)
msgID 是正在更新的消息的 id
解决方案
解决方案是添加
channel = bot.get_channel(channelID)
message = await channel.fetch_message(msgID)
@bot.command()
async def editembed(ctx, vols, *, title):
channel = bot.get_channel(903012463283417138)
message = await channel.fetch_message(903091631618674688)
embed = message.embeds[0]
embed.add_field(name=title, value=vols, inline=False)
await message.edit(embed=embed)
推荐阅读
- javascript - 是否有一个 Git Bash 命令可以一次停用所有活动的本地主机?
- python - 如何在 while 循环中打印其他内容?
- python - 关于如何在熊猫数据框中生成新键的问题
- amazon-web-services - 通过 Terraform 创建 AWS 数据库实例时出错
- r - 子集数据框海湾在 r 中每 16 天选择行数据
- node.js - 如何让 npm start 在 Chrome 上打开特定配置文件?
- php - root 和用户的不同 CURL 版本
- c# - Visual Studio:如何确定方法 A 是否可以从方法 B 到达?
- javascript - JOI 上调用的多个函数如何工作?
- wso2 - CARBON 在 macOS Catalina 中无法执行 /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/bin/java