我正在尝试制作一个让人们搜索维基百科的不和谐机器人,例如有人发送 /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'
答案 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
,这可能会导致错误。因此,我建议你改变它。