第一期《2个小时内用Temporal能做到什么》-搭建Discord系统的机器人

RTradeTech
企业专栏
热度: 26146

欢迎阅读Rtrade的《2个小时内用Temporal能做到什么》系列的第一期我们将会每月持续更新。这是我们继续致力于帮助大家深度了解Rtrade公司的Temporal产品,以及IPFS和分布式网络的意识和教育的一部分,为以后的web3时代做好准备。

Discord系统的机器人

欢迎阅读Rtrade的《2个小时内用Temporal能做到什么》系列的第一期我们将会每月持续更新。这是我们继续致力于帮助大家深度了解Rtrade公司的Temporal产品,以及IPFS和分布式网络的意识和教育的一部分,为以后的web3时代做好准备。

完成以后,您将会制作一个Discord系统的机器人。它可以为您:

  • 使用warp上传并保留数据到IPFS
  • 通过IPFS的搜索引擎 Lens+Temporal来索引数据
  • 使用IPFS的搜索引擎 Lens+Temporal来搜索数据

使用的Golang 代码库:

准备工作:


好的,我们开始吧!

教程:

为了便于配置,dpinner附带了一个简单的配置包,可用于传递配置参数。

第一部分是为我们的机器人启动时设置身份验证。为此,您必须通过环境变量或通过使用配置文件提供值。

Discord系统的机器人

然后我们需要使用thc包对Temporal的v2开发环境进行身份验证:

Discord系统的机器人

在该示例中,函数GetJWT用于检索使用Temporal进行身份验证时生成的JWT。这是由thc包内部使用的,但是Warp我们的IPFS HTTP API端点也可以使用它。

接下来,您需要通过连接到Warp我们的高速IPFS HTTP API端点来建立IPFS HTTP API客户端。完成此操作后,您需要配置go-ipfs-api以自动为JWT提供所有请求。这是使用WithAuthorization函数完成的。

Discord系统的机器人

接下来的其余部分是来自discordgo的一些样板代码,它允许我们连接到Discord的服务器,并处理任何传入的消息。

Discord系统的机器人

在这里需要注意的一件事是dg.AddHandler(messageCreate)来指定一个函数,在这种情况下,messageCreate将在收到新消息时随时运行。它允许我们:

Discord系统的机器人


processLens 搜索

下面的代码调用了其他函数processLensSearchprocessUpload。这用于对镜头执行任何搜索,最多返回10个结果。如果返回的结果超过10个,我们会随机选择10个。

Discord系统的机器人

processUpload处理上传

这用于处理作为附件发送的任何上传,带有comment !dpinner upload 上载,将数据存储在IPFS上,并将哈希值返回给用户。

Discord系统的机器人

恭喜你完成了!

现在你有了一个可以固定并上传到IPFS,以及在Lens上搜索内容的discord 机器人!此外,你也可以使用命令!dpinner help显示一个简单的帮助菜单。

命令示例:

!dpinner pin QmNfpCMR8LN6NAnYgANnEFcFptcr2QnF46EbDWLwv2jvfQ QmdytmR4wULMd3SLo6ePF4s3WcRHWcpnJZ7bHhoj3QB13v

!dpinner upload(这项指令必须作为任何等待上传/附件的文件批注使用)

!dpinner index QmdytmR4wULMd3SLo6ePF4s3WcRHWcpnJZ7bHhoj3QB13v

!dpinner index QmdytmR4wULMd3SLo6ePF4s3WcRHWcpnJZ7bHhoj3QB13v reindex=true

!dpinner search blockchain

!dpinner search blockchain data

Click Here for a Demo Video示范


最后,我们希望你们能喜欢这个系列和你的discord 机器人!我们很感谢任何反馈,并一直在寻找下一个Temporal构建的请求。如果您有一个很酷的想法或只是一些问题,请加入RTrade的在线社区,TwitterTelegram和网站。也不要忘记在Github上给Temporal一些鼓励!

刚接触平台的人,都想知道Temporal是什么以及我们为什么要建造它,我们希望这个系 能解释一些这方面的问题。

对于非API用户,你们还可以轻松访问我们易用的用户界面,这是市场上功能最强大的第三方IPFS服务哦。

声明:本文为入驻“火星财经 专栏”作者作品,不代表火星财经官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
本内容旨在传递行业动态,不构成投资建议或承诺。