使用 discord.py 制作一个不和谐的机器人通过嵌入发送图像

Posted

技术标签:

【中文标题】使用 discord.py 制作一个不和谐的机器人通过嵌入发送图像【英文标题】:Making a discord bot to send an image through an embed with discord.py 【发布时间】:2021-09-09 02:52:38 【问题描述】:

我尝试使用 discord.py 制作一个不和谐机器人,当它看到命令“.pic”时会发送图片。当我运行程序并尝试 .pic 命令时,图片不发送,嵌入也不发送。我有一个做冷却的小程序。即使嵌入和图片不存在,我确实看到冷却功能起作用。我在控制台中也没有收到错误代码 这是我的代码:

import discord
import random
from discord.ext import commands

client = commands.Bot(command_prefix = ".")


@client.event
async def on_command_error(ctx, error):
    if isinstance(error, commands.errors.CommandOnCooldown):  
        return await ctx.send('The command **** is still on cooldown for :.2f'.format(ctx.command.name, error.retry_after))

pictures =["https://i.imgur.com/LAmHP4K.jpg","https://i.imgur.com/sXS290O.jpg","https://i.imgur.com/Ar7Ihs5.jpg"]

@client.command()
@commands.cooldown(1, 2, commands.BucketType.user)  
async def pic(ctx):
  embed = discord.Embed(color = discord.colour.red())
  random_link = random.choice(pictures)
  embed.set_image(url = random_link)
  await ctx.send(embed = embed)

client.run("TOKEN")
 

【问题讨论】:

ctx.send 是协程,应该等待 我将代码更改为 ctx.send(embed = embed) 但仍然无法正常工作 【参考方案1】:

discord.color 是模块,discord.Color() 是类。请记住,区分大小写在 python 中非常重要。你需要discord.Color.red(),因为你需要discord.Color类的红色方法。

【讨论】:

谢谢!它修复了它。我一直试图让它工作几个小时,这只是一个愚蠢的错误(像往常一样)哈哈。 Np,如果有帮助,请记住接受解决方案。

以上是关于使用 discord.py 制作一个不和谐的机器人通过嵌入发送图像的主要内容,如果未能解决你的问题,请参考以下文章

使用 Discord py 使用 Discord 按钮编辑嵌入描述

Discord.py 谷歌图片搜索

如何使用 discord.py 制作一个检查某个服务器通道中所有消息的机器人

如何使用 discord.py 使用我的不和谐机器人编辑嵌入颜色

如何让不和谐机器人使用 discord.py 向消息添加表情符号反应?

我的前缀命令不起作用(不和谐机器人) discord.py