使用Shyft API构建Discord机器人:及时了解压缩NFT!

  • Shyft_to
  • 发布于 2023-08-03 19:15
  • 阅读 12

本文介绍了如何使用Shyft API创建一个Discord机器人,以便实时接收Solana区块链上压缩NFT的铸造、转移和销毁的更新。通过设置Shyft API的回调,并配置Discord Webhook,可以轻松地将链上事件推送到Discord频道,并格式化显示NFT的相关信息,例如名称、符号、描述和图像。

本文阐述了我们如何在 Solana Discord Bot 上获取关于新 cNFT 的铸造、转移和销毁的实时更新。

你是否对 Solana 区块链上的压缩 NFT 好奇?想要获得关于新铸造、转移和销毁的即时更新?别再犹豫了!在本文中,我们将展示如何使用 Shyft API 创建一个 Discord Bot。 它会实时通知你最新的压缩 NFT 事件。无需成为专家,我们将一步一步地指导你。让我们一起探索 NFT 的世界!

在此处阅读 SHYFT API 文档 here

开始之前

要开始,我们需要准备一些东西。

注册你的 Shyft 账户并获取你自己的 Shyft API 密钥。

x-api-key 是一个身份验证参数,它使你有权访问 Shyft API。你可以从 Shyft 网站 获取你自己的 API 密钥。 只需在此处 用你的电子邮件 id 注册,你就可以 免费获得它。如果你已经拥有 Shyft API 密钥,请跳过此步骤。

设置 Discord Webhook

  • 转到你的 Discord 服务器并选择所需的文本频道。(你需要管理员权限)
  • 单击频道名称旁边的齿轮图标以访问服务器设置。

Discord Bot 频道

  • 导航到“集成”,然后单击“Webhooks”,再选择“创建 Webhook”。

Discord 上的 Webhooks

在 Discord 上创建新的 Webhook

  • 通过提供名称、头像(可选)来配置 webhook,并选择 webhook 消息的频道(可选)。保存 webhook 并复制唯一 URL 以发送自动消息。

在 Discord 上创建一个新的机器人

创建一个新的 Bot

设置回调

要接收你的 Merkle 树 的链上事件,你需要注册 callback最简单的方法是使用 Shyft Swagger UI

要开始,请按照以下步骤操作:

  1. 转到 https://api.shyft.to/sol/api/explore 并向下滚动到 callback 部分。

Shyft 的 swagger UI

SHYFT swagger UI 上的回调部分

  1. 切换 create 部分并输入参数:
  • x-api-key:使用从上一步获得的 Shyft API 密钥。
  • network:指定 Solana 区块链环境(testnet / devnet / mainnet-beta)。
  • addresses:提供要监视的地址数组。在本教程中,我们将输入我们要监听的 Merkle 树的地址,但你可以根据自己的要求进行调整。
  • callback_url:输入应发送交易更新的 URL。对于本教程,使用在上一步中准备的 webhook URL,以便 Shyft 可以将事件发送到你的 Discord 频道。
  • events (optional):要通知的事件数组。如果未设置,则回调将发送每个交易的更新。此处提供了事件的有效值 here。对于本教程,我们想监听关于压缩 Merkle 树的铸造、转移和销毁的事件,因此我们将输入三个事件:COMPRESSED_NFT_MINTCOMPRESSED_NFT_TRANSFERCOMPRESSED_NFT_BURN
  • enable_raw (optional):此选项允许你将原始交易信息与解析的数据一起包含在回调中。
  • type (optional):有效值为 DISCORDCALLBACK。将其设置为 DISCORD 会将 Discord webhook 格式的数据发送到回调 URL。如果选择 DISCORD,则忽略 enable_raw。将此选项设置为 CALLBACK 会将已解析的交易信息和帐户相关信息发送到指定的 callback_url。默认值为 CALLBACK。在本教程中,我们将输入 DISCORD

有关 Shyft Callback API 的更多信息,请通过以下 link 进一步阅读。

  1. 单击 execute 按钮以完成该过程。结果将如下所示:

回调 API 响应

新创建的回调

从现在开始,每次你从回调中指定的 Merkle 树中铸造、转移或销毁压缩 NFT 时,都会将事件发送到你的 Discord 频道。

设置服务器

我们的 Discord 设置看起来不错,但它缺少关于 NFT 的有用信息,例如名称、符号、描述和图像。为了自定义 Discord 频道中的数据展示,我们需要设置一个 Web 服务器,该服务器将从 Shyft API 接收回调数据,然后将其发送到我们的 Discord 频道。

首先,你可以从 https://replit.com/@VyKhac/ShyftDiscordServer fork 源代码,并将 DISCORD_WEBHOOK_URL 和 SHYFT_API_KEY 变量替换为你自己的值。然后单击“运行”按钮。 服务器成功运行后,在右侧,你将找到一个包含服务器 URL 的“Webview”选项卡。我们需要在注册 Shyft 回调时使用此 URL。

Replit 演示

如果你不想在 Replit 中运行服务器,则可以创建自己的后端并将其部署在你喜欢的任何服务中。

接下来,我们必须注册新的回调。按照上述说明中的相同步骤操作,但这次,我们需要更改两个参数

  • callback_url:你必须输入你的后端 URL,而不是 Discord webhook URL,以便 Shyft 可以将回调数据发送到你的后端服务器。
  • type:将其设置为 CALLBACK

通过进行这些更改,设置将完成,你将能够在你的 Discord 频道中收到关于 compressed NFTs 的必要信息。

Discord 更新

Discord 上的格式化交易

结论

本文提供了使用 Shyft API 构建 Discord Bot 的综合指南,以便及时了解 Solana 区块链中的压缩 NFT 事件。通过按照分步说明进行操作,你可以轻松注册回调、设置 Discord webhook,并使用 Express.js 创建 Web 服务器,以接收实时数据并将其转发到你的 Discord 频道。有了这些知识,任何人都可以探索 NFT 的迷人世界,并在其 Discord 服务器上接收即时通知,而无需高级技术专业知识。让我们深入研究并开始一起探索 compressed NFTs 的激动人心的可能性!

资源

  • 原文链接: blogs.shyft.to/building-...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Shyft_to
Shyft_to
在 Solana上更快更智能地构建,使用Shyft的SuperIndexer、gRPC、RPC、API和SDK