如何初始化Python Slackbot模块?

2024-05-18 12:35:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Slack bots(熟悉不和谐.py). 我正在使用Slackbot包(https://github.com/lins05/slackbot)创建Python Slackbot。你知道吗

按照他们页面上的示例,使用pip install slackbot安装包,转到安装路径,在主目录和mybot.py中创建slackbot_settings.py(使用他们提到的指定标记)和run.py(使用他们页面上显示的示例命令进行测试),但是我无法初始化bot。我尝试使用pythonrun.py运行bot,但出现以下错误:

Traceback (most recent call last):
File "run.py", line 23, in
main()
File "run.py", line 20, in main
bot.run()
File "/Users/xxx/anaconda3/lib/python3.5/site-packages/slackbot/bot.py", line 32, in run
self._plugins.init_plugins()
File "/Users/xxx/anaconda3/lib/python3.5/site-packages/slackbot/manager.py", line 31, in init_plugins
self._load_plugins(plugin)
File "/Users/xxx/anaconda3/lib/python3.5/site-packages/slackbot/manager.py", line 47, in _load_plugins
path_name = importlib_find(plugin)
File "/Users/xxx/anaconda3/lib/python3.5/importlib/util.py", line 89, in find_spec
return _find_spec(fullname, parent.path)
AttributeError: module 'mybot' has no attribute 'path'

mybot.py有以下几行:

from slackbot.bot import respond_to
from slackbot.bot import listen_to
import re

@respond_to('hi', re.IGNORECASE)
def hi(message):
    message.reply('I can understand hi or HI!')
    # react with thumb up emoji
    message.react('+1')

@respond_to('I love you')
def love(message):
    message.reply('I love you too!')

@listen_to('Can someone help me?')
def help(message):
    # Message is replied to the sender (prefixed with @user)
    message.reply('Yes, I can!')

    # Message is sent on the channel
    message.send('I can help everybody!')

    # Start a thread on the original message
    message.reply("Here's a threaded reply", in_thread=True)

我哪里出错了?我试过问开发商,但没有得到答复。你知道吗


Tags: toruninpymessagelibbotline
1条回答
网友
1楼 · 发布于 2024-05-18 12:35:03

机器人显然找不到你的mybot插件。假设mybot.pyrun.py在同一个文件夹中,将PLUGINS中的条目更改为'mybot'。那就行了。你知道吗

slackbot_settings.py的完整示例:

DEFAULT_REPLY = "Sorry but I didn't understand you"

PLUGINS = [    
    'mybot' 
]

相关问题 更多 >

    热门问题