Python 如何编码我的机器人从一个命令生成随机图像

Python 如何编码我的机器人从一个命令生成随机图像,python,discord.py,Python,Discord.py,在决定发表这篇文章之前,我已经考虑过了。我试过答案中的一些代码,但它们对我不起作用。请注意,我是新的编码一般;我开始使用Python大约一周了。我成功地编写了Discord机器人代码,从一个命令生成随机图像,但我认为我做得不对。图像是随机发送的,但是它们的链接显示在机器人的消息中。以下是我的代码: client = Bot(command_prefix=BOT_PREFIX) @client.event async def on_message(message): if message

在决定发表这篇文章之前,我已经考虑过了。我试过答案中的一些代码,但它们对我不起作用。请注意,我是新的编码一般;我开始使用Python大约一周了。我成功地编写了Discord机器人代码,从一个命令生成随机图像,但我认为我做得不对。图像是随机发送的,但是它们的链接显示在机器人的消息中。以下是我的代码:

client = Bot(command_prefix=BOT_PREFIX)

@client.event
async def on_message(message):
    if message.content.upper().startswith("?DOG"):
        jessie1 = "https://cdn.discordapp.com/attachments/432563417887277060/484484259386621993/22B25E7A-3157-4C23-B889-47ECFE8A15A9.jpg"
        snowy = "https://cdn.discordapp.com/attachments/487045791697862666/487390822485065749/824B6151-E818-49A4-A564-C2C752ED6384.jpg"
        await client.send_message(message.channel, random.choice([snowy, jessie1]))
我现在用两张图片作为例子,因为我不想一次包含更多的图片

我可以使用一个命令随机生成这两个图像,但我不知道如何编码,以便在机器人发送图像时,它们的链接不会出现在机器人的消息中

我想知道是否有一种方法可以做到这一点,而无需对我目前拥有的代码进行重大更改。然而,如果有一种有效/正确的方法,我将乐意接受你的建议,以获得更好的体验

如果一切顺利,我还想为机器人添加一条消息,告诉它何时发送这些图像。我确实对如何做到这一点有一个想法,但我需要先解决我的第一个问题xD

关于“不和谐”我所知道的是我在过去30年代读到的,但我想到了一些事情:

“客户机”对象来自哪里?如果像显示链接和不显示链接这样的事情在您的端甚至是可控的,我敢打赌这是您可以在客户端设置的选项。是否有
客户端。someattr
?像
client.show\u link=False
?或者,有什么东西可以传递给构造函数吗

client = Client(foo, bar, show_links=False)
或者。。。也许,您不想发送文本(这就是您正在做的),而是想构造并发送某种“图像”对象

img1 = Image(url='...')
img2 = Image(local_file='...')
client.send_message(message.channel, random.choice([img2, img1]))
注意,这些都是100%的猜测,没有阅读文档。这一切都是基于对许多不同库、API的熟悉

我猜关于通知你的问题也是如此。我需要看更多的文件。也有可能这不是您可以控制的,另一端将看到这一点,无论您是否喜欢它

根据,您不能像从本地源上传图像那样,因此您可以

使用
send\u文件从本地源上传

await client.send_file(message.channel, 'my_image.png')

嵌入URL

import discord

embed = discord.Embed()  
embed.set_image(url = random.choice([jessie1,snowy]))  
await client.send_message(message.channel,embed=embed)

在命令中,您应该创建一个图像对象列表,并选择它

如上所述,在询问之前,您应该先阅读文档。此外,堆栈溢出不是快速获得答案的方法,这是位于的discord.py支持服务器。
最后要注意的是,一个新版本的库即将发布,它介绍了一些可以被阅读的突破性变化。

请考虑编辑这个问题来解决代码格式化。它在python中很重要,因为不同的缩进具有不同的含义,但即使不重要,也会使潜在的回答者更容易阅读代码。谢谢你通知我。谢谢你的编辑。你能不能再看一遍,因为它目前包含一个语法错误(请看if语句后面的那一行)。啊,我不太确定是什么问题。我复制并粘贴了它,在之前运行它时没有收到任何语法错误。我已经得到了我的答案,但是我很高兴你得到了你的答案,但是StackOverflow不仅仅是帮助提出问题的人,还帮助其他有同样问题的人。所以,为了其他有同样问题的人,我编辑了你的问题。请快速查看您的学习差异。:)