在slack中协作调试python应用程序

slack-pdb的Python项目详细描述


https://travis-ci.org/coddingtonbear/slackpdb.svg?branch=master

slackpdb是rpdb的一种改编,它不是打开一个端口,而是 允许您通过telnet进行调试,连接到可配置的松弛 通道,以便可以协作远程调试应用程序。

import slackpdb
slackpdb.set_trace(
    token="<your slack token>",
    channel="#debugger_hangout",
)

当到达set_trace()时,脚本将“挂起”,这是获得 它将继续访问slackpdb,方法是与连接到 在IRC频道上方。

要与调试器交互,只需在加前缀的通道中发送消息 用这个用户名,它宣布自己为,或者简单地说“!“。

例如,以下两个命令是等效的,每个命令都将 显示pdb帮助屏幕(确保将“myhostname”替换为 用户名选定的机器人):

!help
slackpdb: help

安装

来自pip

pip install slackpdb

选项

  • token:用于连接slack的令牌;如果没有, 您可以在https://my.slack.com/services/new/bot快速生成一个。笔记 如果未指定,则可以从 SLACKPDB_API_TOKEN环境变量,或者,如果django选项是 从名为SLACKPDB_API_TOKEN的django设置设置为True
  • channel必需):通道的名称(以#开头)。
  • limit_access_to:昵称列表 允许与调试器交互。
  • {TT11}$:最大等待此秒数 以前在通道中与调试器交互的人 断开连接并继续执行。默认值:60秒。
  • django:(默认值:False)尝试从 名为SLACKPDB_API_TOKEN的django设置(如果未指定)。

安全免责声明

这个库的工作方式是固有的危险的;假设 您可以从调试器中执行任意python代码, 强烈建议您采取一切合理措施确保 您可以控制谁能够执行调试器命令。

只是为了确保这一点是明确的:你们都有责任 确定你愿意承担的风险水平,以及 采取适当行动降低风险。

如图书馆许可证所述(见附件 LICENSE.txt):

THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.

祝你好运,调试愉快!

故障排除

如果看不到机器人进入指定频道,请尝试增加 通过在跟踪上方添加以下行来收集日志级别 关于在 连接到IRC服务器:

import logging
logging.basicConfig(filename='/path/to/somewhere.log', level=logging.DEBUG)

作者

亚当·科丁顿<;me@adamcoddington.net>;-http://adamcoddington.net/

这个库是rpdb的一个分支,它的基础是 欠Bertrand Janin的b@janin.com>;-http://tamentis.com/rpdb<;https://github.com/tamentis/rpdb>;的所有其他贡献者 包括以下内容:

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java允许具有不同父类的类扩展类,而无需多重继承   java如何创建动态化的JScrollPane w/JPanel作为客户端?   java如何组织和命名包   在Java中读取属性文件   java无法解释的Android意图行为   在Java中动态执行多个BPEL文件的部署   ssl Java 6 SNI(服务器名称指示)?   java我们可以使用Robot框架自动化web和移动应用程序来执行并行执行   java for star pettern的循环   java为什么BinaryReader在线程中,从netty读取错误的数据包?   在java中将华氏度转换为摄氏度   使用Spark和java处理空值和引号编写CSV文件   Java中已排序日期到块的列表   visual studio代码VSCode Java不是linting或自动完成局部变量,而是自动完成Java快捷方式,如“sysout”