【LikeCoin Grants Lite】基于 Discord 的 LikeCoin 提案查询和提醒机器人 (结案报告)
这是一个依靠 Discord 和 LikeCoin Chain 的聊天机器人,可以列出目前正在存入保证金和投票阶段的提案,获取特定提案的基本信息。以及在提案的特定时间点(例如存入保证金阶段,开始投票)时发送消息进行提醒的功能。专案的申请文件可以在 LikeCoin Grants 的 Notion 看到: https://likecoingrants.notion.site/L05-LikeCoin-Discord-LikeCoin-873747cb31d44d56938172533a32a215
有时候嘛……想要开始行动也许只需要临门一脚
例如咱会想到做这个机器人也只是一时兴起……(笑)
一直以来,都是 Phoebe 在 LikeCoin Discord 服务器的 propsal 频道广播提案更新的有关消息。
目前看来这些都是她手动完成的,难免会有延迟和错漏。(但还是辛苦她了啊)后来她也有问到有没有方法通过机器人在链上有新提案的时候发消息提醒大家、像是存入保证金或者投票什么的,然后咱就去查了一些资料。
Cosmos SDK 有 REST API 可以拿到链上的提案列表。于是接下来就是找个方法写机器人了。结果咱之前了解到的一个比较流行的 Python 绑定(咱也就稍微多会写一点 Python 了嘛……)因为 Discord 强行要求更新到 APIv2 而决定停止开发了(具体的细节可以看作者的 Gist),后面提及的几个完成实现的绑定里也就只有 JavaScript 咱还能算是用过了,于是就用 Discord.js 来做这个机器人了。
不过呢,因为咱一不是科班出身,二之前也没有写过很多 JavaScript,三又加上咱中间生病住了一段时间医院(但不是 COIVD-19 啦)。所以进度有些缓慢,原来计划一个月就能发布的于是就拖到了现在…… 😂 不过还好啦, Discord.js 和 Cosmos SDK 的文档都差不多还算整齐准确,算是帮咱降低了一些难度。
以及它的源代码在这里了 : https://github.com/KenOokamiHoro/LikeCoin-Helper-Discord 。如果大家有什么建议或者要报告 Bug 的话,可以在这里、那里、或者 LikeCoin 的 Discord 服务器和咱聊。
还有一些命令……
就是最基本的查询提案的命令啦。
- /actives 可以查找当前正在存入保证金或者正在投票的提案。
- /proposal <id> 可以查询指定序号的提案。
下面的按钮可以打开对应提案在 BigDipper 或 stake.like.co 的链接。
以及之前打算过做成从列表里选择的,但是 DIscord 限制了选择列表里的项目数(25 个),于是目前就放弃了,后面可能会考虑做成提供翻页选项的样式吧。
未来展望
在咱开始这个计划的时候,咱就说起来过这也许是另一个更大的计划的先行实验。(就是那个咱想到的为其它开发者整合情报的中继啦。)考虑到 Grants 因为自己要进行一些改变于是暂停了新提案的申请,咱也有时间再考虑一些细节了。
至于这个机器人自己呢……咱能想到的未来的发展方向大概有这几点。
- 允许通过和机器人的私聊运行某些命令,例如提案的查询这样的。
- 不只是在提案的状态变化时通知,也可以考虑加入在提案存入保证金阶段或者投票阶段结束的几个小时前提醒一下各位。
- 给它扩展提案查询以外的功能,例如关联钱包查询余额这样?
此外呢……要是大家有兴趣的话,咱以后可以再谈谈这个机器人制作过程中有关的一些技巧上的细节?