跳转到主要内容

简介

  • 本指南假设你已在 top.gg 上拥有一个已通过审核的机器人,并且你的项目使用 Node.js 或 Python。
  • 接下来,你需要在 Square Cloud 上创建一个账户,这可以通过注册页面完成。你可以使用你的电子邮件来创建账户。
  • 最后,你的账户需要有一个有效的付费方案。你可以在这里查看我们的方案并根据你的需求购买。

设置环境

  1. 在开始之前,请确保你的系统上已安装 Node.js 和 npm。如果你还没有安装,可以从 Node.js 官方网站下载。
  2. 使用以下命令启动一个新的 Node.js 项目:
Terminal
npm init -y
此命令会在当前目录中创建一个 package.json 文件。
  1. 安装所需的库:
Terminal
npm install @top-gg/sdk express

设置项目

1. 获取你的 webhook 身份验证:
  • 前往你的 Top.gg 个人资料这里
  • 点击你想要接收投票通知的机器人上的 “edit”。
  • 在 “GENERAL” 下,选择 “webhook” 选项。
  • 在 “Authorization” 中设置 webhook 身份验证。在本示例中,我们使用了 “myappsquare”。
2. 实现 webhook 监听器: 以下部分提供了 Javascript 和 Python 两种代码示例:
我们将使用 top.gg 文档这里提供的示例,并做一些修改。
index.js
// Import libraries
const Topgg = require("@top-gg/sdk");
const express = require("express");

// Create Express app and Top.gg webhook instances
const app = express();
const webhook = new Topgg.Webhook("YOUR_AUTHORIZATION_TOKEN");

// Define route for '/topgg' endpoint (POST requests)
app.post("/topgg", webhook.listener((vote) => {
  // Log vote received message with user ID
  console.log(`Vote received successfully! User ID: ${vote.user}`);
}));

// Start server on port 80 (default HTTP)
app.listen(80);

创建 squarecloud 配置文件

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

squarecloud.app 文件是一个配置文件,用于配置你的应用程序;它将用于定义名称、描述、版本、主文件等内容。

将你的应用程序上传到 Square Cloud

完成所有步骤后,将你的应用程序文件放入一个 .zip 文件中,包括配置文件。 如果你的应用程序是 Node.js 项目,请查看我们关于 Node.js 的文章。 如果你的应用程序是 Python 项目,请查看我们关于 Python 的文章。
访问 Square Cloud 控制面板 并上传你的项目 文件。
正在上传应用到 Square Cloud

开始测试

如果你正确地完成了所有操作,请尝试使用配置文件中定义的子域名访问你的网站。如果你将其定义为 “mysite”,那么访问地址将是 mysite.squareweb.app。当你访问后仅出现 “Cannot GET /” 或 “Method Not Allowed” 时,说明一切正常。 现在,你需要返回到之前定义授权的上一个页面。在 Webhook URL 字段中,你应该填入你网站的 URL 以及将接收投票的路由。
  • 对于我们使用 app.post("/topgg", webhook.listener((vote) => {...}) 创建的 JavaScript 代码,接收投票的路由是 “/topgg”。因此,如果你的网站是 “mysite.squareweb.app”,你应该将 “mysite.squareweb.app/topgg” 填入 Webhook URL。
  • 对于我们使用 @app.route("/topgg", methods=["POST"]) 创建的 Python 代码,接收投票的路由同样是 “/topgg”。因此,Webhook URL 也将是相同的 “mysite.squareweb.app/topgg”。
Top.gg webhook URL 配置示例
最后,点击 “Send Test” 按钮。之后,检查终端。如果一切顺利,你在 console.logprint 中定义的消息应该会出现在终端中。
Top.gg webhook 发送测试示例
这样,如果一切都配置正确,你的 webhook 就准备好在你的机器人在 top.gg 上收到投票时发送通知了。

故障排除

自定义域名

若要使用自定义域名(例如 mysite.com)来代替默认 URL mysite.squareweb.app,你需要 Standard 计划或更高等级。子域名由配置文件中的 SUBDOMAIN 字段定义。

最低内存要求

简单网站/API 的最低要求为 512MB RAM。对于使用框架的站点(Next.JS、React、Vue、Angular 等),我们始终建议至少 1GB RAM。对于更大型的应用,请分配更多 RAM,以防止应用内存耗尽而崩溃。

找不到此站点。

请检查子域名/域名是否与 SUBDOMAIN 字段或自定义域名设置中配置的内容一致。如果你刚上传站点,请等待最多 60 秒,让 Square 启用首次访问

站点响应超时……

请检查你是否在应用中正确配置了端口 80主机 0.0.0.0。我们建议使用 Square 强制注入的环境变量:来自 .env 文件的 PORTHOST

联系我们

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