inventory-hunter - ⚡️ 在你的下一个 CPU、GPU 或游戏机有货时立即收到通知

Created at: 2020-11-17 06:15:42
Language: Python
License: MIT

库存猎人

建造 Docker 拉动 Docker 镜像大小(标签)

这个机器人帮我抢到了 RTX 3070...希望它能帮助你掌握你的下一个 CPU、GPU 或游戏机。

要求

  • Raspberry Pi 2 或更新版本(或者,你可以使用始终在线的 PC 或 Mac)
  • Docker教程

你还需要以下其中一项:

快速开始

有关特定于 Windows 的说明,请参阅本指南:Windows 说明

这些步骤应该适用于任何受支持的 Docker 平台,但它们已经在已安装 Docker 的 Raspberry Pi OS 上进行了专门测试。

  1. 克隆这个存储库并从Docker Hub拉取最新的镜像:

    pi@raspberrypi:~
    $ git clone https://github.com/EricJMarti/inventory-hunter
    
    pi@raspberrypi:~
    $ cd inventory-hunter
    
    pi@raspberrypi:~/inventory-hunter
    $ docker pull ericjmarti/inventory-hunter:latest
    
  2. 根据提供的示例之一创建你自己的配置文件:

  3. 使用提供的

    docker_run.bash
    脚本启动 Docker 容器,指定所需的参数。

    如果使用 Discord 或 Slack,你的命令格式将如下所示:

    $ ./docker_run.bash -c <config_file> -a <discord_or_slack> -w <webhook_url>
    
    # Discord example:
    pi@raspberrypi:~/inventory-hunter
    $ ./docker_run.bash -c ./config/newegg_rtx_3070.yaml -a discord -w https://discord.com/api/webhooks/...
    

    如果使用 SMTP 中继,你的命令格式将如下所示:

    $ ./docker_run.bash -c <config_file> -e <email_address> -r <relay_ip_address>
    
    # SMTP example:
    pi@raspberrypi:~/inventory-hunter
    $ ./docker_run.bash -c ./config/newegg_rtx_3070.yaml -e myemail@email.com -r 127.0.0.1
    

获取新代码

  1. 首先确定与库存猎人相关的任何正在运行的容器名称
    $ docker ps
    
  2. 停止并移除与库存猎人相关的所有容器
    $ docker stop CONTAINER_NAME
    $ docker rm CONTAINER_NAME
    
  3. 拉回购更新
    $ git pull
    
  4. 重新运行 docker_run.bash 命令以使用更新启动容器备份。
    $ ./docker_run.bash -c <config_file> -a <discord_or_slack> -w <webhook_url>
    

配置警报器

如果你有兴趣配置多个警报器或希望将警报器设置保存在文件中,你可以使用类似于现有刮刀配置的配置文件来配置库存猎人的警报机制。

  1. 在 config 目录中创建一个名为 alerters.yaml 的文件。

  2. 根据此示例配置你要使用的警报器:

    ---
    alerters:
      discord:
        webhook_url: https://discord.com/api/webhooks/XXXXXXXXXXXX...
        mentions:
          - XXXXXXXXXXXXXXX
          - XXXXXXXXXXXXXXX
      telegram:
        webhook_url: https://api.telegram.org/botXXXXXXXXXXXXXXXXXXXX/sendMessage
        chat_id: XXXXXXXX
      email:
        sender: myemail@email.com
        recipients:
          - myemail@email.com
          - myfriendsemail@email.com
        relay: 127.0.0.1
        password: XXXXXXXXXX   # optional
      slack:
        webhook_url: https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
        mentions:
          - XXXXXXXXXXXXXXX
          - XXXXXXXXXXXXXXX
    ...
    
  3. 将此配置文件添加到你的运行命令中:

    pi@raspberrypi:~/inventory-hunter
    $ ./docker_run.bash -c ./config/newegg_rtx_3070.yaml -q ./config/alerters.yaml
    

这个怎么运作

一般的想法是,如果你能在产品有库存时立即收到通知,你就有机会在黄牛清理库存之前购买它。该脚本不断刷新一组 URL,寻找“添加到购物车”短语。一旦检测到,就会发送自动警报,让你有机会做出 React 。

常问问题

这与现有的在线库存跟踪器有何不同?

在开发库存猎人之前,我使用了几个现有的服务,但没有任何运气。当我收到警报时,该产品已经被剥头皮。由于以下几个原因,该机器人比现有跟踪器发出警报的速度更快:

  • 它在你自己的硬件上运行,因此不会花费处理时间为其他用户服务
  • 你可以选择要跟踪的产品
  • 你可以控制刷新频率

如果库存猎人被黄牛使用怎么办?

我当然希望这不会发生……2020 年和 2021 年已经够糟糕了。我希望库存猎手能够为真正的客户提供比以前更好的机会,从而在一定程度上平衡竞争环境。严重的黄牛将继续使用自动结账机器人,在线零售商有责任打击这种恶意行为。

我真的需要 Docker 吗?

不,但我强烈推荐它。如果你了解 Python 和 pip/conda,那么你应该能够复制我使用 Docker 创建的环境。