Skip to main content

使用 Alliance Auth 和 Discord 运行 killmail 跟踪器的应用程序

项目描述

杀手追踪器

使用 Alliance Auth 和 Discord 运行 killmail 跟踪器的应用程序

发布 Python django 管道 编解码器 执照 预提交 代码风格:黑色 聊天

内容

概述

Killtracker 是一款使用 Alliance Auth 和 Discord 运行基于 killmail 的跟踪器的应用程序。Tracker 是小程序,它会根据一组预定义的条件自动选择 killmail,然后在它们出现在 zKillboard 上时立即将它们发布到 Discord 频道。

与类似应用程序相比,Killtracker 应用程序的主要优势在于它的高度可定制性,这使您可以消除许多误报的干扰,只获得您真正感兴趣的结果。

例如,您可能想知道更大的群体何时在您的区域漫游?设置一个跟踪器,显示在您有超过 20 名攻击者的舞台上 10 次跳跃内的所有击杀数。如果你愿意,它甚至会 ping 你。

或者您可能想了解您的跳跃范围内是否有任何活动的首都?只需在您的分期后 6 LY 内设置一个首杀追踪器即可。

主要特征

  • 符合一组条件的 killmail 在到达 zKillboard 后立即自动发布到 Discord 频道
  • 使用 20 多个子句准确定义您想要跟踪的内容,包括。位置、组织、授权状态和船舶类型的条款
  • “船舶类型”的条款包括船舶、结构、海关、战斗机和挖掘机无人机
  • 用于匹配 killmail 的可选频道和组 ping
  • 专为快速响应时间、高吞吐量和低资源要求而设计
  • 获取有关 killmail 的更多见解,例如与登台的距离
  • 查看您感兴趣的领域中活跃的车队/团体
  • 使用标题和颜色自定义 killmail 消息

截图

这是设置新跟踪器的示例:

追踪器1

以下是 Discord 上发布的 killmail 的外观:

不和谐

安装

第 1 步 - 检查先决条件

  1. Killtracker 是 Alliance Auth 的插件。如果您还没有运行 Alliance Auth,请在继续之前先安装它。(详见官方AA安装指南

  2. Killtracker 需要应用程序django-eveuniverse才能运行。请确保已安装,然后再继续。

第 2 步 - 安装应用程序

确保您处于 Alliance Auth 安装的虚拟环境 (venv) 中。然后从 PyPI 安装最新版本:

pip install aa-killtracker

第 3 步 - 配置设置

如下配置您的身份验证设置 ( local.py):

  • 添加'killtracker'INSTALLED_APPS
  • 将以下行添加到您的设置文件中:
CELERYBEAT_SCHEDULE['killtracker_run_killtracker'] = {
    'task': 'killtracker.tasks.run_killtracker',
    'schedule': crontab(minute='*/1'),
}
  • 可选:如果要更改任何默认值,请添加其他设置。有关完整列表,请参阅设置

第 4 步 - 完成安装

运行迁移并复制静态文件

python manage.py migrate
python manage.py collectstatic

重新启动您的主管服务以进行 Auth

第 5 步 - 加载 Eve Universe 地图数据

为了能够为跟踪器选择太阳能系统和类型,您需要从 ESI 加载该数据一次。

加载 Eve Online 地图:(如果您已经使用其他应用程序运行此命令,则可以跳过此步骤)

python manage.py eveuniverse_load_data map

加载应用特定类型:

python manage.py killtracker_load_eve

您可能需要等到加载完成后再开始创建新的跟踪器。

第 6 步 - 设置跟踪器

跟踪器的设置和配置在Killtracker下的管理页面上完成。

首先需要添加指向您希望 killmail 出现在Webhooks的频道的 Discord webhook 。您可以为所有跟踪器使用一个 webhook,但通常最好为每个跟踪器创建一个新通道/webhook。

要测试您的 webhook 是否正常工作,您可以发送测试通知。

接下来,您可以在Tracker下创建您的跟踪器。确保将每个跟踪器链接到正确的 webhook。保存启用的跟踪器后,它将开始工作。

作为您的设置是否正确的最终测试,您可能需要创建一个“Catch all”跟踪器。为此,只需在没有任何条件的情况下创建一个新的跟踪器,它就会在收到所有 killmail 时将它们转发到您的 Discord 频道。

恭喜您现在可以使用 killtracker 了!

追踪器

所有跟踪器都在Killtracker下的管理站点上设置和配置。

每个跟踪器都有一个名称,链接到一个 webhook,并具有一组条件,这些条件定义了哪些 killmail 被选择并显示在 Discord 频道中。请注意,如果您在没有任何条件的情况下定义跟踪器 tan,您将获得一个“catch all”跟踪器,它将在 Discord 上发布任何 killmail。

20 多个条件中的每一个都属于两个类别之一,并相应地命名:

  • require : 要求条件必须由 killmail 满足。例如,条件为require min attackers = 10的跟踪器将仅在 Discord 上发布至少有 10 个攻击者的 killmail。
  • exclude:排除条件与要求相反。满足此条件的 Killmail 将永远不会被此跟踪器发布。例如,具有排除高秒的跟踪器将永远不会显示来自高秒的任何killmail。

您可以结合多个条件来创建您想要的跟踪器。请注意,条件总是与布尔 AND 组合在一起。例如:如果您的跟踪器将要求最小攻击者设置为 10 并启用排除高秒,那么您将只会收到至少有 10 名攻击者且不处于高秒的 killmail。

以下是每个跟踪器当前支持的所有条件的列表:

姓名 描述
需要最大跳跃 要求所有的 killmails 是最大 x 跳离原始太阳系
需要最大距离 要求所有 killmail 距离原始太阳系最大 x LY
需要最小攻击者 要求 killmail 至少有给定数量的攻击者
需要最大攻击者 要求 killmail 的攻击者数量不超过最大数量
排除高秒 从高秒排除killmails。还排除了路线查找器中的高 sec 系统,用于从原点跳转。
排除低秒 从低秒排除killmails
排除空秒 从 null sec 中排除 killmails
排除 w 空间 从 WH 空间中排除 killmails
要求最小值 要求 killmail 的值大于或等于 M ISK 中的给定值
排除npc击杀 排除npc击杀
需要npc击杀 仅包括被 npc 杀死的 killmail
排除攻击者联盟 从这些联盟之一中排除与攻击者的杀戮邮件
排除攻击者公司 排除来自这些公司之一的攻击者的 killmail
需要攻击者联盟 仅包括来自这些联盟之一的攻击者的杀戮邮件
要求攻击者公司 仅包括来自这些公司之一的攻击者的 killmail
需要受害者联盟 仅包括受害者属于这些联盟之一的 killmail
要求受害公司 仅包括受害者属于这些公司之一的 killmail
exclude_attacker_states 排除具有这些身份验证状态的用户的字符的 killmail
要求攻击者状态 仅包含属于具有这些身份验证状态的用户的字符的 killmail
要求受害者状态 仅包括受害者字符属于具有这些身份验证状态的用户的 killmail
需要区域 仅包括在这些区域之一中发生的 killmail
需要星座 仅包括在这些区域之一中发生的 killmail
需要太阳能系统 仅包括在这些区域之一中发生的 killmail
要求攻击者运送团体 仅包括至少一名攻击者正在驾驶这些船群之一的杀戮邮件
要求攻击者船型 仅包括至少一名攻击者驾驶这些船型之一的杀戮邮件
需要受害者船组 仅包括受害者驾驶这些船组之一的杀戮邮件
需要受害者船型 仅包括受害者驾驶其中一种船型的杀戮邮件

设置

这是此应用程序的可用设置列表。可以通过将它们添加到您的 AA 设置文件 ( local.py) 来配置它们。

请注意,所有设置都是可选的,如果不使用,应用程序将使用记录的默认设置。

姓名 描述 默认
KILLTRACKER_KILLMAIL_MAX_AGE_FOR_TRACKER 忽略以分钟为单位超过给定数字的killmail。有时 killmail 在 ZKB 上出现迟到,此功能可确保它们不会创建新警报 60
KILLTRACKER_MAX_KILLMAILS_PER_RUN 任务运行从 ZKB 检索到的最大 killmail 数。应该设置这个值,以便每分钟从 ZKB 获取新的 killmail 的任务将在一分钟内可靠地完成。要对此进行测试,请运行“Catch all”跟踪器并查看您的系统能够处理多少 killmail。请注意,您可以从工作人员的日志文件中获取该信息。它看起来像这样:Total killmails received from ZKB in 49 secs: 251 250
KILLTRACKER_PURGE_KILLMAILS_AFTER_DAYS 超过设定天数的 Killmail 将从数据库中清除。如果您想保留所有的killmails,请将其设置为0。请注意,此设置仅在您启用了存储killmails 时才相关。 30
KILLTRACKER_WEBHOOK_SET_AVATAR Wether 应用设置 webhook 的名称和头像图标。当 False 时,webhook 将使用它自己在平台上设置的值 True
KILLTRACKER_STORING_KILLMAILS_ENABLED 如果设置为 true,Killtracker 将自动将所有收到的 killmail 存储在本地数据库中。如果您想对 killmail 等运行分析,这可能很有用。但是,请注意,Killtracker 本身目前不以任何方式使用存储的 killmail。 False

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

aa-killtracker-0.8.1.tar.gz (245.5 kB 查看哈希

已上传 source

内置分布

aa_killtracker-0.8.1-py3-none-any.whl (269.3 kB 查看哈希

已上传 py3