python - 我正在尝试制作一个搜索维基百科的不和谐机器人
问题描述
我正在尝试制作一个不和谐的机器人,让人们搜索维基百科,例如有人发送 /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'
解决方案
问题是您的函数名称与库本身具有相同的名称。因此,当您调用 时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
了 as sentances
,这可能会导致错误。因此,我建议你改变它。
推荐阅读
- flutter - 下拉菜单未显示所选值
- python - 使用单个值和元组的组合将字典映射到另一个字典
- matplotlib - seaborn 计数图中的色调传说 | 改变位置
- typescript - tsconfig 中是否有别名的简写?
- plotly - 轴顶视图布局
- node.js - 当 POST 请求成功注销用户并重定向到主页时,正确的状态代码是什么?
- c++ - C++ 复制构造函数导致内存错误
- css - 我可以隐藏吗
- c# - SyncFusion BoldReports ReportViewer 数据源有或没有以下两个:DataSourceReference 和 ConnectionProperties
- logstash - Logstash 配置基本身份验证过滤器未解析