制作可以上传,固定和搜索IPFS的Discord Bot

2019-04-24 16:09:50

1_IGQZE9ivW36uoljdzFGiKw.jpeg


  欢迎阅读我们每月的第一版“您可以在2小时或更短时间内使用Temporal构建的内容”系列!这是我们不断的使命,以帮助认识并不仅是教育的一部分RTrades平台时间的,而且IPFS和分布式网络,我们迁移到网络3的伟大奇迹。


  完成后

  你将有一个不和谐的机器人,可以:

  使用warp将数据上传并固定到IPFS

  通过IPFS搜索引擎Lens + Temporal索引数据

  通过镜头+时间搜索IPFS数据


  使用的Golang库:

  临时HTTP客户端

  discordgo

  RTradeLtd /复IPF问题-API


  在开始之前,您需要:

  使用discord注册帐户,以便您可以为机器人生成令牌以供使用。

  在dev.temporal.cloud注册我们的开发环境。

  本教程的代码位于此处:https://github.com/RTradeLtd/dpinner




  现在让我们开始吧!


  教程:

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

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


1.png            


  然后我们需要使用thc包来验证Temporal的v2开发环境:


2.jpeg   


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

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


         3.png      


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


      4.jpeg


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




 

  processLensSearch

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


  processUpload

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


  恭喜你完成了!

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


  命令示例

  !dpinner pin QmNfpCMR8LN6NAnYgANnEFcFptcr2QnF46EbDWLwv2jvfQ QmdytmR4wULMd3SLo6ePF4s3WcRHWcpnJZ7bHhoj3QB13v


  !dpinner upload (这必须用作要处理的任何上传/附件的注释)


  !dpinner index QmdytmR4wULMd3SLo6ePF4s3WcRHWcpnJZ7bHhoj3QB13v


  !dpinner index QmdytmR4wULMd3SLo6ePF4s3WcRHWcpnJZ7bHhoj3QB13v reindex=true


  !dpinner search blockchain


  !dpinner search blockchain data


  点击这里观看演示视频



  我们希望你喜欢这个月系列和你的新discord bot!我们很感激任何反馈,并一直在寻找下一个Temporal构建的请求。如果您有一个很酷的想法或只是一些问题,请加入RTrade的在线社区,Twitter或电报和网站。也不要忘记在Github上展示Temporal的一些爱情!

  对于刚接触平台的人来说,无论如何都想知道Temporal是什么以及我们为什么要建造它,我们希望这能解释事情。

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


最新推荐