我怎么只能从PRAW获取图片
How do I only get a picture from PRAW
我正在尝试将 PRAW 用于 discord.py 命令。但是我不希望在执行命令时播放视频,所以有没有一种方法可以让我只能在收到 post?
时获取图片?
这是我的资料:
@commands.command()
async def aww(self, ctx):
subreddit = reddit.subreddit("aww")
allsubs = []
top = subreddit.top(limit = 50)
for submission in top:
allsubs.append(submission)
randomsub = random.choice(allsubs)
name = randomsub.title
url = randomsub.url
em = discord.Embed(
title = name,
color = discord.Color.blurple()
)
em.set_image(url = url)
await ctx.send(embed = em)
任何帮助将不胜感激,谢谢!
因为PRAW api只给你一个url (str) 而没有任何关于URL的信息,我建议添加一些条件来确保[=18] =] 是照片而不是视频。
例如
randomsub = random.choice(allsubs)
extension = randomsub.url[len(randomsub.url) - 3 :].lower()
while "jpg" not in extension or "png" not in extension:
randomsub = random.choice(allsubs)
extension = randomsub.url[len(randomsub.url) - 3 :].lower()
然后从那里开始。显然有更优雅的方法来解决这个问题,但基本点是相同的。
我正在尝试将 PRAW 用于 discord.py 命令。但是我不希望在执行命令时播放视频,所以有没有一种方法可以让我只能在收到 post?
时获取图片?这是我的资料:
@commands.command()
async def aww(self, ctx):
subreddit = reddit.subreddit("aww")
allsubs = []
top = subreddit.top(limit = 50)
for submission in top:
allsubs.append(submission)
randomsub = random.choice(allsubs)
name = randomsub.title
url = randomsub.url
em = discord.Embed(
title = name,
color = discord.Color.blurple()
)
em.set_image(url = url)
await ctx.send(embed = em)
任何帮助将不胜感激,谢谢!
因为PRAW api只给你一个url (str) 而没有任何关于URL的信息,我建议添加一些条件来确保[=18] =] 是照片而不是视频。
例如
randomsub = random.choice(allsubs)
extension = randomsub.url[len(randomsub.url) - 3 :].lower()
while "jpg" not in extension or "png" not in extension:
randomsub = random.choice(allsubs)
extension = randomsub.url[len(randomsub.url) - 3 :].lower()
然后从那里开始。显然有更优雅的方法来解决这个问题,但基本点是相同的。