在Python中编程Discord机器人如何使机器人重复图像?

2024-06-09 16:24:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我想让我的机器人重复某人发送的图像(当提到某个特定短语时)。这是我的密码:

submission_triggers = ['#submission', '#Submission']

@client.event
async def on_message(message):
  if message.author == client.user:
   return
  
  if any(word in msg for word in submission_triggers):
    channel = client.get_channel(800476409587171369)
    image = message.content
    channel.send(file=discord.File(image))

此代码不起作用,我收到以下错误: No such file or directory: '#submission' 不太确定如何修复此问题。我是编程新手,因此任何有见识的人都将不胜感激


Tags: in图像imageclientevent密码messagesubmission
2条回答

您可以使用message对象的.attachment属性来访问提供的附件。然后可以访问.url属性并发送该属性

您还错过了channel.send()上的await

submission_triggers = ['#submission', '#Submission']

@client.event
async def on_message(message):
  if message.author == client.user:
   return
  
  if any(word in msg for word in submission_triggers):
    channel = client.get_channel(800476409587171369)
    image_url = message.attachments[0].url # Attachments are stored in a list, so get the first one.
    await channel.send("{url}")

顺便说一句,您可以通过更改if语句摆脱提交触发器列表:

if "#submission" in msg.lower().split():

message.content还包含消息的文本部分#submission。预处理message.content以排除文本部分以消除错误

相关问题 更多 >