通知功能(Notification)是HIVE上一个比较有用的功能,在通知列表(Notifications)中我们可以看到最近发生了哪些和自己账户相关的事情,比如说谁给我点赞点赞价值又是多少、谁转发了我的帖子、谁回复了我等等。
(图源 :pixabay)
但是每当有新消息需要通知,我们的头像上就会多出来红色小椭圆,里边显示未读的消息数目,有时候几天不进通知列表里查看和设置已读,这个数字甚至会达到数千。
对于强迫症患者来讲,这是让人无法忍受的事情,看着红点就想消除,而且显示的数字越多就越烦躁,于是想如果有一种方式能自动消除红点,那到应该不错。
那么如何消除红点呢?其实就是之前我写过的custom_json
:
可见实际上就是用户广播一条id为notify
,内容为:["setLastRead",{"date":"2020-06-13T13:47:58"}]
的自定义JSON内容,知道了这点,我们就可以编程实现红点消除了。
核心代码以及逻辑大致如下:
获取当前时间字符串:
import datetime
date = datetime.datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%S')
定义并填充JSON内容:
json_clear_notifications = ["setLastRead",{"date":date}]
使用用户的Posting KEY广播:
client.custom_json("notify", json_data=json_clear_notifications, required_posting_auths=[user], wif=wif)
我使用oflyhigh.test 以及对应wif,广播出去的事务(transaction)大致这样:
广播成功后,在https://hiveblocks.com/中会查询到如下信息:
相应地,再刷新的时候,会发现头像上的红圈圈不见了。
以上代码只是实现了红点消除功能,如果需要定时消除红点(比如一天一次或者半天一次)那么可以考虑在Linux系统下设置对应的计划任务(crontab),这个一般大家都会,就不再赘述了。
(图源 :pixabay)
当然了,用红点消除功能不意味着不去看通知,通知还是蛮重要的,就是不喜欢头像上数额巨大的红圈圈而已。
相关链接
This page is synchronized from the post: ‘每天进步一点点:红点消除器’