跳转到主要内容

简介

要在 Square Cloud 上开发和托管 ,遵循一套结构化的配置和前置条件流程至关重要。本技术指南将涵盖整个过程,从初始设置到生产环境部署。

前置条件

  • Square Cloud 账户:通过注册页面使用你的邮箱进行注册。
  • 有效的付费套餐:为你的应用提供专属资源和优化的性能。查看我们可用的套餐,选择最适合你需求的方案。

创建项目

机器人的身份验证和绑定需要已安装并配置好的 WhatsApp。如果你还没有该应用,请访问 WhatsApp 官方网站 下载并设置。
如果你的实现需要访问 WhatsApp Web 版本的远程路径,请按照以下技术流程操作:
  1. 访问 wa-version 仓库
  2. 选择所需的版本(始终建议使用最新版本)
  3. 点击 “Raw” 以查看文件
  4. 复制生成的 URL 以备后用
配置好的 URL 示例:
https://raw.githubusercontent.com/wppconnect-team/wa-version/main/html/2.2412.54.html

开发项目

  1. Node.js 检查:确认你的系统已安装 Node.js。否则,请从 Node.js 官方网站 下载。
  2. 项目初始化:运行初始化命令来搭建一个新的 Node.js 项目:
Terminal
npm init -y
  1. 安装依赖:安装机器人功能所需的核心库:
Terminal
npm install whatsapp-web.js qrcode
  1. 创建主文件:编写包含机器人基础结构的 index.js 文件:
index.js
// Import necessary modules
const { Client } = require("whatsapp-web.js");
const qrcode = require("qrcode");

// Create a new WhatsApp client instance
const client = new Client({
  puppeteer: {
    // Run Chrome in headless mode (without graphical interface)
    headless: true,
    args: [
      // Disable Chrome sandboxing features
      // Required for execution in containerized environments
      "--no-sandbox",
      // Additional sandboxing flag to disable setuid sandbox
      "--disable-setuid-sandbox",
    ],
  },
  // Web version cache configuration
  webVersionCache: {
    // Type "remote" indicates WhatsApp Web version will be fetched from remote URL
    type: "remote",
    // Remote path for WhatsApp Web version
    remotePath: "INSERT_YOUR_URL_HERE",
  },
});

// Event listener for QR Code generation
client.on("qr", async (qr) => {
  // Use qrcode library to generate and save QR Code
  try {
    await qrcode.toFile("./qrcode.png", qr);
    console.log("QR Code generated and saved as qrcode.png");
  } catch (err) {
    console.error("Error generating QR Code:", err);
  }
});

// Event listener for client ready
client.on("ready", () => {
  // Confirmation log when WhatsApp Web session is established
  console.log("WhatsApp client successfully initialized!");
});

// Event listener for created messages
client.on("message_create", (msg) => {
  // Log message content to console
  console.log("Message received:", msg.body);
  
  // Test command implementation
  if (msg.body === "!ping") {
    // Automatic response for ping command
    msg.reply("pong - Bot working correctly!");
  }
});

// Initialize WhatsApp client
client.initialize();

部署

准备好项目文件后,你现在可以将它们上传到 Square Cloud 并托管你的项目。 为此,请创建一个包含所有项目文件的 ZIP 文件。

通过控制面板

1

访问上传页面

访问上传页面并上传你的项目 zip 文件。
2

配置你的环境

上传 zip 后,你需要为项目配置名称、主文件或运行时环境以及其他设置。
如果你上传的是 Web 项目,请务必选择 “Web Publication” 并为项目设置子域名。
3

部署你的项目

最后,点击 “Deploy” 按钮,即可将项目托管到 Square Cloud。
部署完成后,你可以在控制面板中监控项目的状态和日志。
正在上传应用到 Square Cloud

通过 CLI

要使用此方法,你需要在项目根目录中创建一个名为 squarecloud.app 的配置文件。该文件将包含项目所需的配置。

了解更多:如何为 Square Cloud 创建配置文件。

squarecloud.app 文件是一个配置文件,用于配置你的应用;它将用于定义你的环境。
1

安装 CLI

首先,你的环境中需要已安装 CLI。如果尚未安装,请在终端中运行以下命令:
npm install -g @squarecloud/cli
如果你已经安装,我们建议对其进行更新。为此,请在终端中运行以下命令:
squarecloud update
2

进行身份验证

现在,要进行身份验证并使用其他 CLI 命令,你可以在此处点击 “Request API Key” 找到你的授权密钥。获取授权密钥后,运行以下命令:
squarecloud auth login
3

上传你的项目

最后,要使用 CLI 将应用部署到 Square Cloud,你需要运行以下命令:
squarecloud upload 
或者,如果你手动创建了 zip 文件,可以使用:
squarecloud upload --file <path/to/zip> 

更多资源

要深入了解使用 whatsapp-web.js 进行 WhatsApp 机器人开发,请查阅 whatsapp-web.js 官方库文档。该文档提供了详细的技术指南、进阶教程以及完整的 API 参考,以最大化实现潜力。

联系我们

如果你仍然遇到技术问题,我们的专业支持团队可以为你提供帮助。联系我们,我们很乐意协助你解决任何问题。