我正在配置一个机器人以从Zabbix发送警报,因此我安装了Python和这些模块:
sudo apt install python python-pip python-setuptools
然后,我安装了要在Zabbix上使用的机器人API:
python -m pip install --user pyTelegramBotAPI
在 / usr / lib / zabbix / alertscripts / 中创建脚本:
#!/usr/bin/env python
import telebot,sys
BOT_TOKEN='123TOKENAQUI321'
DESTINATION=sys.argv[1]
SUBJECT=sys.argv[2]
MESSAGE=sys.argv[3]
MESSAGE = MESSAGE.replace('/n','\n')
tb = telebot.TeleBot(BOT_TOKEN)
tb.send_message(DESTINATION,SUBJECT + '\n' + MESSAGE)
更改的权限:
sudo chmod +x telegram
sudo chown -R zabbix telegram
并且在终端或Zabbix上测试脚本时,会出现以下错误:
回溯(最近通话最近):文件 “ / usr / lib / zabbix / alertscripts / telegram”,第2行,在 import telebot,sys ImportError:没有名为“ telebot”的模块
我试图通过安装模块来解决:
python -m pip install --user telebot
安装模块无法解决问题,因此我尝试使用python3,并且终端上的脚本可以运行,但是在Zabbix中仍然显示相同的错误。我最终回到了python。
仅在使用命令pip list
的python终端中,远程机器人模块不会与help ("modules")
一起出现。
有人知道这可能是导致问题的原因吗?
答案 0 :(得分:0)
我设法使用python3
来解决它,但是这次我完全删除了python
的其他版本,然后再次安装,步骤如下:
sudo python -m pip uninstall pyTelegramBotAPI
sudo apt remove python python-pip python-setuptools
sudo apt install python3 python3-pip python3-setuptools python3-six
sudo python3 -m pip install pyTelegramBotAPI six
sudo pip install six