> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# 机器人托管

> 在拉丁美洲最大的平台上托管你的 Discord、WhatsApp 和 Telegram 机器人。为你的项目提供企业级性能、高级安全性和开发工具。

<Frame>
  <img src="https://squarecloud.app/banners/zh/bots.png" alt="Square Cloud Bots 服务概览" style={{ borderRadius: "0.2rem" }} />
</Frame>

## 为什么选择 Square Cloud？

我们是**拉丁美洲最大的机器人托管平台**，深受**巴西 100 大 Discord 服务器中 80 家**的信赖。机器人的存亡取决于其正常运行时间以及它与 Discord、WhatsApp 和 Telegram 网关之间的延迟，因此我们技术栈的每一层，从硬件到网络边缘，都经过精心调优，以保持你的进程 24/7 在线且响应迅速。

<CardGroup cols={2}>
  <Card title="专为性能打造" icon="bolt">
    每个机器人都运行在配备 **10Gbps** 上行链路的**企业级三星 NVMe SSD** 之上，处于具备**内核强制 CPU 与 RAM** 限制的隔离容器中，让相邻用户的流量激增永远不会变成你的延迟问题。
  </Card>

  <Card title="完整的开发者生态" icon="code">
    **CLI**、**JavaScript 与 Python SDK**、**VSCode 扩展**以及用于 CI/CD 的 **GitHub Actions/Webhooks**。从你的终端、编辑器或一次 `git push` 即可部署。
  </Card>

  <Card title="Square Shield + Cloudflare" icon="shield-halved">
    **由 Cloudflare 前置**的边缘再加上 **Square Shield**，让你的机器人保持在平台 API 速率限制（Discord 及其他平台）之内，避免那些会让机器人下线的封禁与冷却。
  </Card>

  <Card title="即时 snapshot" icon="server">
    **一键还原点**，免费包含。几秒内即可回滚损坏的 deploy，无数据丢失、无停机。
  </Card>
</CardGroup>

<Info>
  \*\*大规模验证：\*\*我们的声誉源自运行拉丁美洲部分最繁忙社区背后的机器人，正是那种持续、高事件速率的负载会悄然暴露薄弱的基础设施。你的机器人运行在同样的集群上。
</Info>

***

## 支持的环境

我们提供广泛的兼容性，让你可以使用自己偏好的技术进行开发。

### 平台

<CardGroup cols={4}>
  <Card title="Discord" icon="discord" />

  <Card title="WhatsApp" icon="whatsapp" />

  <Card title="Telegram" icon="telegram" />

  <Card title="Twitter" icon="twitter" />

  <Card title="Instagram" icon="instagram" />

  <Card title="Facebook" icon="facebook" />

  <Card title="Slack" icon="slack" />

  <Card title="YouTube" icon="youtube" />
</CardGroup>

### 语言

<CardGroup cols={3}>
  <Card title="JavaScript" icon="node-js" href="../articles/getting-started-with-nodejs" />

  <Card title="Python" icon="python" href="../articles/getting-started-with-python" />

  <Card title="Java" icon="java" href="../articles/getting-started-with-java" />

  <Card title="Rust" icon="rust" href="../articles/getting-started-with-rust" />

  <Card title="Elixir" icon="droplet" href="../articles/getting-started-with-elixir" />

  <Card title="PHP" icon="php" href="../articles/getting-started-with-php" />

  <Card title="Go" icon="golang" href="../articles/getting-started-with-go" />

  <Card title="C#" icon="c" href="../articles/getting-started-with-csharp" />

  <Card title="Ruby" icon="gem" href="../articles/getting-started-with-ruby" />
</CardGroup>

<Info>
  除此之外，我们还支持多种其他语言和库。我们的基础设施十分灵活，可适应你项目的需求。
</Info>

***

## 主要特性

### 为常驻工作负载打造的基础设施

每个集群都运行在配备 **10Gbps 上行链路**的企业级**三星 NVMe SSD** 上，你的机器人则运行在具有专属 CPU 与 RAM 上限的隔离、非特权容器中。隔离正是把"纸面上的快"变成生产中真正的快的关键：你的进程永远不必与吵闹的邻居争抢 I/O 或 CPU，因此即使在持续的事件负载下，响应时间也能保持在低位。

### Square Shield：始终保持在速率限制之内

Discord、WhatsApp 和 Telegram 会封禁超出其网关和 REST 速率限制的机器人。**Square Shield** 位于你的机器人与这些 API 之间，监控请求模式，让你保持在允许的预算之内，这正是一个能干净扩展的机器人与一个在最糟糕时刻被冷却下线的机器人之间的区别。

### 全面可视化地运维

<AccordionGroup>
  <Accordion title="一键 snapshot">
    还原点让你能在几秒内回滚糟糕的 deploy，无数据丢失、无停机。Pro 和 Enterprise 套餐还额外提供每日自动 snapshot。
  </Accordion>

  <Accordion title="实时日志">
    将你应用的 stdout/stderr 实时流式输出，在异常发生的那一刻即可在生产环境中调试，无需重新部署。
  </Accordion>

  <Accordion title="实时分析">
    从直观的面板实时跟踪 CPU、RAM 和网络消耗，让你能合理调整资源规模，并在用户发现之前捕捉到性能回退。
  </Accordion>
</AccordionGroup>

### 开发工具

为优化你的工作流，我们提供了一整套完整的工具生态：

<Steps>
  <Step title="Square Cloud CLI">
    直接从终端管理你的应用。快速便捷地部署、查看日志等等。

    ```bash theme={null}
    npm install -g @squarecloud/cli
    squarecloud auth login
    ```
  </Step>

  <Step title="VSCode 扩展">
    将托管管理集成到你喜爱的代码编辑器中，简化开发和部署流程。
  </Step>

  <Step title="GitHub Actions">
    自动化你机器人的持续部署（CI/CD）。每次向仓库 `push` 时，你的应用都会在我们的平台上自动更新。
  </Step>
</Steps>

<Warning>
  \*\*注意：\*\*要使用通过 GitHub Actions 的部署，你需要在仓库的 secrets 中配置一个 API `token`。请查阅我们相应的文档以获取分步指南。
</Warning>

## 如何托管我的机器人？

<Steps>
  <Step title="配置文件" icon="file">
    在 **Square Cloud** 上托管机器人的第一步是创建一个详尽的配置文件。这个文件不仅仅是一份简单的文本文档，而是一份定义应用在 **Square Cloud** 上各项设置的全面指南。它的作用就像你项目在平台上的架构蓝图。

    一旦你购买了套餐，就需要创建这个文件，详细说明每一项配置并正确填写。关于如何创建该文件的详细信息可在[此处](https://docs.squarecloud.app/zh/getting-started/config-file)查阅，其中包含分步指南。
  </Step>

  <Step title="创建 ZIP 文件" icon="file-zip">
    配置文件准备好后，下一步是为上传准备你的应用。这包括将应用文件和 **Square Cloud** 配置文件放入一个 .zip 文件中。

    不过，并非所有文件都需要包含在这个 .zip 中。像 `node_modules`、`package-lock.json`、`pyproject.toml` 和 `poetry.lock` 这样的文件不是必需的，因为它们可以在服务器端自动生成。
  </Step>

  <Step title="依赖文件" icon="box">
    另一个关键方面是将依赖文件包含在 .zip 中。这个文件告诉 **Square Cloud** 平台为你的项目安装哪些依赖。对于 Node.js 项目，这个文件是 `package.json`；对于 Python 项目，则是 `requirements.txt`。

    这些文件列出了应用正确运行所需的库和包。保持这些文件的更新对于避免安装错误至关重要。此外，需要注意的是，像 Node.js 中的 `node-fetch` 和 Python 中的 `random` 这样的原生依赖不应包含在这些文件中，因为它们是原生库。
  </Step>

  <Step title="上传机器人" icon="arrow-up">
    在完成所有步骤并为 **Square Cloud** 配置好项目之后，就该上传你的机器人了。访问 **Square Cloud** 网站上的上传页面，[在此处](https://squarecloud.app/zh/dashboard/new)发送你的 .zip 文件。

    流程很简单：选择你的 .zip 文件并点击上传按钮。**Square Cloud** 平台将启动部署流程，安装必要的依赖并根据配置文件配置环境。

    <Frame>
      <img src="https://cdn.squarecloud.app/docs/articles/dashboard/uploading.gif" alt="正在上传应用到 Square Cloud" style={{ borderRadius: "0.2rem" }} />
    </Frame>
  </Step>
</Steps>
