我的 meme 命令很慢。如何让它响应更快?

时间:2021-05-30 08:05:15

标签: python discord discord.py

我有两个 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 并尝试命令。 (只是一个测试服务器)

  1. -meme
  2. -nmeme

如果上面的链接不起作用,请使用这个

https://discord.gg/RDtmjTz87H

2 个答案:

答案 0 :(得分:0)

原因是praw和asyncpraw。由于它们不是为获取帖子而制作的,因此您不应该使用它们。您可以使用 RedditEasy,它比 praw 获取帖子快 2 倍。

答案 1 :(得分:0)

这主要是关于你的机器人延迟(ping)和你请求它的地方。我还建议您使用 reddit api(json)。