问题标签 [errbot]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何使用 Errbot 修补(模拟)测试?
我正在尝试使用我的errbot测试来修补依赖项。我遇到的问题是 errbot 如何导入模块。它不是静态的,并且在我添加测试或它们以不同的顺序测试时会破坏我的补丁装饰器。
我有一个名为 EDB (edb.py) 的插件。在 edb.py 中,我使用import pyedb
. 这位于我的site-packages
.
我有我的测试文件 test_edb.py 我尝试像这样修补我的测试方法
Errbotyapsy_loaded_plugin_EDB_<xx>
为模块导入添加了此路径,但 xx 取决于运行测试的顺序。这不起作用,我需要一些静态导入路径mypath.pyedb
。
我希望有一种不同的方法来解决这个问题。也许我可以更改导入模块的方式,使其不依赖于 errbot 导入?
这是Errbot 测试的链接以供参考。
errbot - 连接时如何告诉管理员(或其他人?)
我正在使用在 docker 容器中运行的 errbot,并希望它在部署新版本时宣布。我的一个插件实现了一些用于健康检查的自定义命令,所以我在该插件中实现了一个 callback_connected 方法并从那里调用 warn_admins:
我知道其他管理员警告有效(因为当我把事情搞砸时,我会收到有关它的消息),我知道我的 _say_version 方法有效,因为它在插件中的其他一些响应者中使用。
我也尝试使用相同方法的发送:
...但两者都没有为我提供任何信息。我正在使用 Slack 后端,以防万一。
我应该把这个放在其他地方吗?
python - 如何将 Slack 反应添加到 send_card
我有一个发送 Slack 卡的 Errbot 功能。然后如何向卡片添加反应而不是收到的原始消息(msg)?
python-3.x - 将输入传递给python3中的Curl命令
我目前正在使用 errbot,但在允许用户输入要与 curl 命令一起传递的消息时遇到了问题。我的插件如下所示:
我的问题是这一行:
这似乎完全使命令崩溃,我希望用户可以执行一个命令,例如“!oncall page team_name --message”
任何帮助,将不胜感激:)
python - 如何在 Errbot 中正确设置插件的配置?
我尝试遵循文档给出的示例:
但是,我无法取回设置为的插件的配置'NoneType'
这是我的插件代码sample.py
我不确定这是错误还是配置错误。
解决方案
一旦给定配置,我就不得不打电话
@gbin 谢谢你的帮助
python - 如何使用 Errbot 正确配置单元测试?
我尝试遵循本指南http://errbot.io/en/latest/user_guide/plugin_development/testing.html
我安装pytest
并启动它
但我有以下错误:
看起来像是pytest
尝试在图形模式下运行 Errbot,而我正在使用带有文本后端的 Errbot。
由于插件在某些时候可能需要使用提供给 Errbot 的配置文件,我想知道如何在使用pytest
...
我在主机上重现了在Docker 图像上发现的树木
然后,我errbot
使用我的后端运行 - 在我的情况下是 Mattermost - 像这样:
对于text
as 后端
在run.sh
中,我注入一些环境变量并venv
在调用之前激活errbot
。
实际上,我可以通过errbot
以图形模式启动来重现我的单元测试问题
因此,我想知道如何在运行时为单元测试注入正确的配置errbot
。
python - 无法使用 errbot 命令创建聊天室,导致 not_allowed_token_type 错误
当我打电话
在懈怠中,我得到了回应:
Slack API(此处:https ://api.slack.com/methods/channels.create )听起来好像不允许机器人调用聊天室方法,但我认为由于存在 !room create 命令一定有办法。有人可以帮我创建一个松弛的聊天室吗?
errbot - 如何忽略errbot中的特定消息或用户?
我将当前配置与 IRC freenode 服务器一起使用:
我对 IRC 服务使用身份验证。
但是当 bot 登录时,它有一个问题:当它用 NickServ 标识自己时,bot 从 NickServ 获取消息,其中包括它的 nick 并将它们视为命令(因为BOT_PREFIX_OPTIONAL_ON_CHAT
and BOT_ALT_PREFIXES
)。然后 errbot 向 NickServ 发送关于“错误命令”的错误消息,NickServ 回复说它不理解“错误命令”到 bot 的私有并重新开始......
所以在这些机器人通过这个对话吃掉所有互联网流量之前,我怎样才能从这个对话中排除 NickServ 或导致 errbot 不回复“错误命令”或任何其他解决方案?
目前我在我的插件中使用肮脏的黑客来覆盖来自 NickServ 的“无效命令”:
这可以防止 errbot 回复 NickServ。还需要使用
但我正在寻找更好的解决方案。提前致谢!
来自机器人对话的日志:
python - 是否可以从 errbot 命令中获取用户输入?
运行命令时是否可以接受用户输入?例如,我希望用户能够运行!hello bot
并让机器人问他们一个问题,而用户在不调用另一个!
命令的情况下回答它。标准的 input() python 命令似乎不适用于这种情况。我希望能起作用的例子:
我似乎无法让上述内容在 Slack 中工作,因为当命令运行时,输入提示将出现在控制台中。但是,当我从控制台运行命令时,这确实有效,errbot -T
因为提示出现在那里并允许我输入它。我怎样才能在 Slack 和其他聊天频道中获得同样的效果?
errbot - 如何从另一个 err-bot 插件的 err-bot 插件发出命令?
如何从另一个 err-bot 插件的 err-bot 插件发出命令?
在某种调度程序上从另一个插件运行“!dosomething”。