我有两个 meme 命令。他们有两个 subreddit,从中随机抽取模因。
这是我的代码
sreddits_list = ['dankruto', 'narutomemes']
@bot.command(aliases=['narutomeme', 'narmeme', 'nmeme'])
async def Nmeme(ctx):
subreddit = await reddit.subreddit(random.choice(sreddits_list))
all_subs = []
top = subreddit.top(limit = 50)
async for submission in top:
all_subs.append(submission)
random_subs = random.choice(all_subs)
name = random_subs.title
url = random_subs.url
em = discord.Embed(title = name, colour = discord.Colour.random(), timestamp = ctx.message.created_at, url = url)
em.set_image(url = url)
await ctx.send(embed = em)
#meme cmd
sreddits2_list = ['memes', 'dankmemes']
@bot.command(aliases=['Meme'])
async def meme(ctx):
subreddit = await reddit.subreddit(random.choice(sreddits2_list))
all_subs = []
top = subreddit.top(limit = 50)
async for submission in top:
all_subs.append(submission)
random_subs = random.choice(all_subs)
name = random_subs.title
url = random_subs.url
em = discord.Embed(title = name, colour = discord.Colour.random(), timestamp = ctx.message.created_at, url = url)
em.set_image(url = url)
await ctx.send(embed = em)
我之前用过大虾。但是后来有人告诉我使用 asyncpraw。我试过了,速度更快。但这还不够。
请告诉我如何使它更快? 问题是机器人需要一些时间来响应并发送嵌入内容。
如果您想测试命令,请加入Discord Server 并尝试命令。 (只是一个测试服务器)
-meme
-nmeme
如果上面的链接不起作用,请使用这个
答案 0 :(得分:0)
原因是praw和asyncpraw。由于它们不是为获取帖子而制作的,因此您不应该使用它们。您可以使用 RedditEasy,它比 praw 获取帖子快 2 倍。
答案 1 :(得分:0)
这主要是关于你的机器人延迟(ping)和你请求它的地方。我还建议您使用 reddit api(json)。