复制以下json代码片段,然后粘贴到神奇弹幕里。
[
{
"anchor_key": "神奇弹幕:TimerTask",
"enabled": false,
"interval": 10,
"text": "/// 此定时任务 相当与一个全局线程 很短时间触发一次,下面应该触发各种需要周期检测的事件。\n/// 即使程序运行中突然退出,崩溃。重新启动后,此定时任务也会触发,各个事件,然后事件里检测更新。\n/// 例如,更新跨天,跨月,跨年的数据更新\n/// 天选暂定欢迎弹幕的截止\n// 更新跨天,跨月,跨年的数据更新\n[%living%+1]>triggerEvent(CHECK_LAST_TIME)"
},
{
"anchor_key": "神奇弹幕:AutoReply",
"enabled": false,
"key": "^今日直播间盲盒$",
"reply": "[%uid%==%up_uid% || %uid%==%my_uid%]@%uid%>今日直播间盲盒数量:%[%{blind_gift_num_today_up_%up_uid%}%+0]%,盈亏:%[%{blind_gift_sum_today_up_%up_uid%}%+0]%电池"
},
{
"anchor_key": "神奇弹幕:AutoReply",
"enabled": false,
"key": "^本月直播间盲盒$",
"reply": "[%uid%==%up_uid% || %uid%==%my_uid%]@%uid%>本月(%time_month%月)直播间盲盒数量:%[%{blind_gift_num_up_month_%up_uid%_%time_month%}%+0]%,盈亏:%[%{blind_gift_sum_up_month_%up_uid%_%time_month%}%+0]%电池"
},
{
"anchor_key": "神奇弹幕:AutoReply",
"enabled": false,
"key": "^(\\d+)月直播间盲盒$",
"reply": "[%uid%==%up_uid% || %uid%==%my_uid%]@%uid%>%$1%月直播间盲盒数量:%[%{blind_gift_num_up_month_%up_uid%_%$1%}%+0]%,盈亏:%[%{blind_gift_sum_up_month_%up_uid%_%$1%}%+0]%电池"
},
{
"anchor_key": "神奇弹幕:AutoReply",
"enabled": false,
"key": "^今日盲盒$",
"reply": "@%uid%>您今日盲盒数量:%[%{blind_gift_num_today_user_%up_uid%_%uid%}%+0]%,盈亏:%[%{blind_gift_sum_today_user_%up_uid%_%uid%}%+0]%电池"
},
{
"anchor_key": "神奇弹幕:AutoReply",
"enabled": false,
"key": "^本月盲盒$",
"reply": "@%uid%>本月(%time_month%月)盲盒数量:%[%{blind_gift_num_user_month_%up_uid%_%uid%_%time_month%}%+0]%,盈亏:%[%{blind_gift_sum_user_month_%up_uid%_%uid%_%time_month%}%+0]%电池"
},
{
"anchor_key": "神奇弹幕:AutoReply",
"enabled": false,
"key": "^(\\d+)月盲盒$",
"reply": "@%uid%>%$1%月盲盒数量:%[%{blind_gift_num_user_month_%up_uid%_%uid%_%$1%}%+0]%,盈亏:%[%{blind_gift_sum_user_month_%up_uid%_%uid%_%$1%}%+0]%电池"
},
{
"action": "// update_last\n/// 定时查询并且更新上次处理某些事务的时间点\n/// 还没有上次更新记录, 以当前时间作为初次记录,但是不处理更新逻辑\n[%living%+1 && %[%{last_update_year_%up_uid%}%+0]%==0]>triggerEvent(UPDATE_LAST_TIME)\n/// 跨年了,那肯定也跨月了,跨天了\n[%living%+1 && %[%{last_update_year_%up_uid%}%+0]%!=0 && %[%{last_update_year_%up_uid%}%+0]% != %time_year%]>triggerEvent(UPDATE_YEAR)\\n\\\n>triggerEvent(UPDATE_MONTH)\\n\\\n>triggerEvent(UPDATE_DAY)\\n\\\n>triggerEvent(UPDATE_LAST_TIME)\n/// 没跨年 跨月了,那肯定也跨天了\n[%living%+1 && %[%{last_update_year_%up_uid%}%+0]%!=0 && %[%{last_update_year_%up_uid%}%+0]% == %time_year% && %[%{last_update_month_%up_uid%}%+0]% != %time_month%]>triggerEvent(UPDATE_MONTH)\\n\\\n>triggerEvent(UPDATE_DAY)\\n\\\n>triggerEvent(UPDATE_LAST_TIME)\n/// 没跨年,没跨月,只跨天了\n[%living%+1 && %[%{last_update_year_%up_uid%}%+0]%!=0 && %[%{last_update_year_%up_uid%}%+0]% == %time_year% && %[%{last_update_month_%up_uid%}%+0]% == %time_month% && %[%{last_update_day_%up_uid%}%+0]% != %time_day%]>triggerEvent(UPDATE_DAY)\\n\\\n>triggerEvent(UPDATE_LAST_TIME)",
"anchor_key": "神奇弹幕:EventAction",
"enabled": false,
"event": "CHECK_LAST_TIME"
},
{
"action": "[%living%+1]>removeValues(blind_gift_num_up_month_%up_uid%)\\n\\\t\t// 重置当前主播直播间每月盲盒数量\n>removeValues(blind_gift_sum_up_month_%up_uid%)\\n\\\t\t// 重置当前主播直播间每月盲盒盈亏\n>removeValues(blind_gift_num_user_month_%up_uid%_\\d+)\\n\\\t\t// 重置当前主播直播间所有用户每月盲盒数量\n>removeValues(blind_gift_sum_user_month_%up_uid%_\\d+)\t\t// 重置当前主播直播间所有用户每月盲盒盈亏",
"anchor_key": "神奇弹幕:EventAction",
"enabled": false,
"event": "UPDATE_YEAR"
},
{
"action": "",
"anchor_key": "神奇弹幕:EventAction",
"enabled": false,
"event": "UPDATE_MONTH"
},
{
"action": "[%living%+1]>removeValues(blind_gift_num_today_up_%up_uid%)\\n\\\t\t// 重置当前主播直播间今天的盲盒数量\n>removeValues(blind_gift_sum_today_up_%up_uid%)\\n\\\t\t// 重置当前主播直播间今天的盲盒盈亏\n>removeValues(blind_gift_num_today_user_%up_uid%_\\d+)\\n\\\t// 重置当前主播_所有用户今天的盲盒数量\n>removeValues(blind_gift_sum_today_user_%up_uid%_\\d+)\t// 重置当前主播_所有用户今天的盲盒盈亏",
"anchor_key": "神奇弹幕:EventAction",
"enabled": false,
"event": "UPDATE_DAY"
},
{
"action": "[%living%+1]>setValue(last_update_year_%up_uid%, %time_year%)\\n\\\n>setValue(last_update_month_%up_uid%, %time_month%)\\n\\\n>setValue(last_update_day_%up_uid%, %time_day%)",
"anchor_key": "神奇弹幕:EventAction",
"enabled": false,
"event": "UPDATE_LAST_TIME"
},
{
"action": "// 忽略非盲盒\n[\"%.data.batch_combo_send?.blind_gift?.original_gift_name?%\" == \"\"]***\n// 盲盒礼物,原本价格 与 爆出价格\n[\"%.data.batch_combo_send?.blind_gift?.original_gift_name?%\" != \"\" && %[%.data.batch_combo_send?.blind_gift?.original_gift_price?%+0]% != 0 && %discount_price% != %[%.data.batch_combo_send?.blind_gift?.original_gift_price?%+0]%]>triggerEvent(BLIND_GIFT_ADD)",
"anchor_key": "神奇弹幕:EventAction",
"enabled": false,
"event": "SEND_GIFT"
},
{
"action": "// 累计盲盒盈亏\n>addValue(blind_gift_num_today_user_%up_uid%_%uid%, %gift_num%)\\n\\ // 添加直播间用户今日盲盒数量\n>addValue(blind_gift_sum_today_user_%up_uid%_%uid%, %[%[%[%discount_price% * %gift_num%]% - %gift_gold%]% / 100]%)\\n\\ //添加直播间用户今日盲盒盈亏\n>addValue(blind_gift_num_today_up_%up_uid%, %gift_num%)\\n\\\t// 添加主播直播间今日盲盒数量\n>addValue(blind_gift_sum_today_up_%up_uid%, %[%[%[%discount_price% * %gift_num%]% - %gift_gold%]% / 100]%)\\n\\\t// 添加主播直播间今日盲盒盈亏\n>addValue(blind_gift_num_up_month_%up_uid%_%time_month%, %gift_num%)\\n\\\t// 添加主播直播间当月盲盒数量\n>addValue(blind_gift_sum_up_month_%up_uid%_%time_month%, %[%[%[%discount_price% * %gift_num%]% - %gift_gold%]% / 100]%)\\n\\\t\t// 添加主播直播间当月盲盒盈亏\n>addValue(blind_gift_num_user_month_%up_uid%_%uid%_%time_month%, %gift_num%)\\n\\\t//添加直播间用户当月盲盒数量\n>addValue(blind_gift_sum_user_month_%up_uid%_%uid%_%time_month%, %[%[%[%discount_price% * %gift_num%]% - %gift_gold%]% / 100]%)\t\t// 添加直播间用户当月盈亏",
"anchor_key": "神奇弹幕:EventAction",
"enabled": false,
"event": "BLIND_GIFT_ADD"
}
]
在"定时任务"里会新增一个每10秒触发的事件。并且在未开播状态下也会触发。其目的是用于周期检测处理一些逻辑。
在"自动回复"里会新增如下指令:
X月盲盒(X为1-12)
本月盲盒
今日盲盒
X月直播间盲盒(X为1-12)
本月直播间盲盒
今日直播间盲盒
其中"X月盲盒",“本月盲盒”,"今日盲盒"是面向所有直播间观众的,查询的是每个观众的盲盒盈亏情况,无任何条件限制;
“X月直播间盲盒”,“本月直播间盲盒”,"今日直播间盲盒"是面向直播间主播的,查询的是这个主播的直播间整体盲盒盈亏情况,限制为只有主播和机器人本人可以使用。
在"事件动作"里会新增如下事件:
CHECK_LAST_TIME 用于检测处理一些过时需要处理的逻辑事件和数据。
UPDATE_YEAR 处理跨年的逻辑。目前应该只处理跨年后的X月盲盒数据了。当在CHECK_LAST_TIME事件里发现跨年时触发。
UPDATE_MONTH 处理跨月的逻辑。此处无任何逻辑。
UPDATE_DAY 处理跨天的逻辑。目前应该只处理了跨天后的今日盲盒数据了。当在CHECK_LAST_TIME事件里发现跨天时触发。
UPDATE_LAST_TIME 更新上次处理的时间,也就是上次处理的年份,月份,天数。
SEND_GIFT 当直播间送礼时触发的时间,此处会再次触发BLIND_GIFT_ADD事件
BLIND_GIFT_ADD 用于统计盲盒盈亏,包含直播间的,用户