我正在尝试制作一个搜索维基百科的不和谐机器人

时间:2020-12-25 01:23:14

标签: python discord.py-rewrite

我正在尝试制作一个让人们搜索维基百科的不和谐机器人,例如有人发送 /wikipedia [他们的搜索],它会搜索它并将结果发送到聊天中。这是我第一次尝试制作机器人。这是我到目前为止得到的,但我经常出错。

import wikipedia
def search():
    search = wikipedia.summary(question, sentances=2)
    return search

[some other code]

@client.command()
async def wikipedia(ctx,*,question):
    await ctx.send(search())

我收到错误提示

discord.ext.commands.errors.CommandInvokeError: Command raised an exception: 
 AttributeError: 'Command' object has no attribute 'summary' 

1 个答案:

答案 0 :(得分:0)

问题在于您的函数名称与库本身的名称相同。因此,当您调用 wikipedia.summary 时,您的代码认为您正在尝试访问 wikipedia 函数的 summary 属性。

据我所知,您有两种方法可以解决此问题。你可以

  • 更改命令名称
  • 使用 import x as y 来更改维基百科库的名称

对于第一个,您可以将其更改为 wikipedia_search 而不是 wikipedia,因此它看起来像这样:

@client.command()
async def wikipedia_search(ctx,*,question):
    await ctx.send(search())

对于第二个选项,您可以将导入行从 import wikipedia 更改为 import wikipedia as wikipedia_lib。然后,当您尝试使用该库时,您可以改为执行 wikipedia_lib.summary(question, sentances=2)

另外,作为旁注,您将 sentences 拼错为 sentances,这可能会导致错误。因此,我建议你改变它。