-
Notifications
You must be signed in to change notification settings - Fork 1
/
owo-counter.json
29 lines (29 loc) · 6.24 KB
/
owo-counter.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{
"signature": "b89ba31c9bcaa586a42839922e0a5182f2d6c06ab9696722d26a32b42eb6a0ca",
"payload": {
"cc": {
"lastowo": {
"content": "{func;ns;\r\n {params;0} {params;1}{if;{params;0};!=;1;s}\r\n}\r\n{func;diff;{void;\r\n {set;~r;}\r\n {if;{params};<;60;{set;~r;{func.ns;{params};second}};\r\n {if;{params};<;3600;\r\n {set;~r;{func.ns;{floor;{math;/;{params};60}};minute}};\r\n {if;{params};<;86400;\r\n {set;~r;{func.ns;{floor;{math;/;{params};3600}};hour}};\r\n {set;~r;{func.ns;{floor;{math;/;{params};86400}};day} {func.ns;{floor;{math;/;{math;%;{params};86400};3600}};hour}}\r\n }\r\n }\r\n }\r\n }{get;~r}\r\n}\r\n{//;Switch subcommands}\r\n{switch;{lower;{args;0}};\r\n history;\r\n {set;~out;[]}\r\n {foreach;~entry;_owo_history;\r\n {set;~u;{userid;{jget;~entry;endMessage.u};quiet}}\r\n \r\n {push;~out;{space}- `{time;L;{jget;~entry;endMessage.t};X}`: {func.diff;{jget;~entry;diff}} broken by **{if;{get;~u};!=;;{username;{get;~u}}#{userdiscrim;{get;~u}};Unknown User}**}\r\n }\r\n **Steak History**\r\n{join;~out;{newline}}{return};\r\n recent;\r\n {set;~out;[]}\r\n {for;~i;0;<;{length;{get;_lastowos-diff}};\r\n {push;~out;{set;~u;{get;_lastowos-user;{get;~i}}}{space}- {func.diff;{get;_lastowos-diff;{get;~i}}} broken by **{username;{get;~u}}#{userdiscrim;{get;~u}}**}{reverse;{get;~out}}\r\n}**Last {length;{get;_lastowos-diff}} Streaks Broken**\r\n{join;~out;{newline}}{return};\r\n top;\r\n {set;~i;0}\r\n {set;~board;{slice;_owosboard;0;10}}\r\n**Top {length;{get;~board}} Chain-Breakers**\r\n{foreach;~id;~board;\r\n {increment;~i}. **{username;{get;~id}}#{userdiscrim;{get;~id}}** - **{get;_owosbroken{get;~id}}** broken{newline}\r\n}{return};\r\n install;\r\nWant this tracker on your guild? Good news: installation is easy! Just run the following command:\r\n```\r\nb!cc install https://rawgit.com/Ratismal/bbtag-shrinkwraps/master/owo-counter.json\r\n```\r\nFor other shrinkwrapped modules, take a look at <https://github.com/Ratismal/bbtag-shrinkwraps>.{return};\r\n shrinkwrap;\r\n {if;{userid};==;103347843934212096;Seriously? You forgot how? Just do this ```b!cc shrinkwrap _autoresponse_10 lastowo _owo_process _updateboard```{return}}\r\n}\r\n{set;~diff;{math;-;{time;X};{get;_owo}}}\r\n{set;~span;{func.diff;{get;~diff}}}\r\n{if;{get;_owodiff};==;;{set;_owodiff;0}}\r\n{if;{get;~diff};>;{get;_owodiff};\r\n {set;~longest;{get;~span}};\r\n {set;~longest;{func.diff;{get;_owodiff}}}\r\n}\r\n{set;~breaker;{username;{get;_owobreaker}}#{userdiscrim;{get;_owobreaker}}}\r\n{set;~broken;{func.ns;{get;_owosbroken{get;_owobreaker}};streak}}\r\nℹ {randchoose;\r\n This is an owo-free workplace. It has been **{get;~span}** since the last incident.;\r\n It has been **{get;~span}** since the last owo-related incident.;\r\n This guild has gone **{get;~span}** without an owo.;\r\n This workplace has been proudly owo-free for **{get;~span}**.;\r\n There have been **{get;~span}** since the last owo.;\r\n **{get;~span}** since last owo.;\r\n We have worked **{get;~span}** since last owo.;\r\n Time owo-free: **{get;~span}**.\r\n}\r\n\r\n😾 {randchoose;\r\n Last streak broken by: **{get;~breaker}**. They've broken **{get;~broken}**.;\r\n Damnit, **{get;~breaker}**! You've ruined **{get;~broken}**!;\r\n **{get;~broken}** have been broken by **{get;~breaker}**.\r\n}\r\n\r\n🏆 {randchoose;\r\n Longest time owo-free: **{get;~longest}**.;\r\n Our longest streak is **{get;~longest}**.;\r\n The record is **{get;~longest}**.\r\n}"
},
"_owo_process": {
"content": "{void;{if;{userisbot};{return}}\r\n{if;{commandname};==;_owo_process;{return}}\r\n{if;{get;_owochannels};!=;;\r\n {if;{get;_owochannels};includes;{channelid};;{return}}\r\n}\r\n {if;{parseint;{get;_owodiff}};==;NaN;{set;_owodiff;0}}\r\n {if;{args};includes;lastowo;{return}}\r\n {func;add;{void;\r\n {if;{get;{params;0}};==;;{set;{params;0};[]}}\r\n {push;{params;0};{params;1}}\r\n {if;{length;{get;{params;0}}};>;10;{shift;{params;0}}}\r\n }}\r\n {set;~owo;{time;X}}\r\n {set;~diff;{math;-;{get;~owo};{get;_owo}}}\r\n {set;~current_owo;{j;{}}}\r\n {jset;~current_owo;i;{messageid}}\r\n {jset;~current_owo;u;{userid}}\r\n {jset;~current_owo;c;{channelid}}\r\n {jset;~current_owo;t;{time;X}}\r\n\r\n {if;{get;~diff};>;{get;_owodiff};\r\n {//;a new record was made}\r\n {set;_owodiff;{get;~diff}}\r\n {set;~entry;{j;{}}}\r\n {jset;~entry;diff;{get;~diff}}\r\n {jset;~entry;startMessage;{get;_owo_previous}}\r\n {jset;~entry;endMessage;{get;~current_owo}}\r\n \r\n {push;_owo_history;{get;~entry}}\r\n }\r\n {set;_owo_previous;{get;~current_owo}}\r\n\r\n {if;{get;_owosbroken{userid}};==;;\r\n {set;_owosbroken{userid};0}\r\n }\r\n {func.add;_lastowos-diff;{get;~diff}}\r\n {func.add;_lastowos-user;{userid}}\r\n {increment;_owosbroken{userid}}\r\n {if;{get;_owobreakers};includes;{userid};;{push;_owobreakers;{userid}}}\r\n {set;_owobreaker;{userid}}\r\n {set;_owo;{get;~owo}}\r\n \r\n {//;leaderboard stuff}\r\n {execcc;_updateboard;{userid}} \r\n}"
},
"_updateboard": {
"content": "{if;{get;_owosboard};==;;{set;_owosboard;[]}}\r\n\r\n{if;{get;_owosboard};includes;{args;0};\r\n {//;Remove current entry}\r\n {void;{splice;_owosboard;{indexof;{get;_owosboard};{args;0}};1}}\r\n}\r\n{set;~broken;{get;_owosbroken{args;0}}}\r\n{trim;{if;{get;~broken};==;;User has not broken any chains.;\r\n {set;~finished;false}\r\n {for;~i;0;<;{length;{get;_owosboard}};\r\n {set;~broken2;{get;_owosbroken{get;_owosboard;{get;~i}}}}\r\n {if;{get;~finished};;\r\n {if;{get;~broken};>=;{get;~broken2};\r\n {set;~finished;true}\r\n {void;{splice;_owosboard;{get;~i};0;{args;0}}}\r\n {userid} is now at position {get;~i}\r\n }\r\n }\r\n }\r\n {if;{get;~finished};==;false;\r\n {push;_owosboard;{args;0}} \r\n }\r\n}}\r\n\r\nLeaderboard:\r\n{set;~i;0}\r\n{foreach;~id;_owosboard;\r\n {increment;~i}. {get;~id} - {get;_owosbroken{get;~id}}{newline}\r\n}"
}
},
"ar": [
{
"executes": {
"content": "{void;{execcc;_owo_process}}",
"hidden": true,
"managed": true
},
"regex": true,
"term": "/(\\W|^)[ou0]\\W*w\\W*[ou0](\\W|$)/gi",
"weight": 1
}
],
"are": null
}
}