1
1
// ==UserScript==
2
2
// @name Mod EVERYTHING better, because reasons!
3
3
// @namespace http://not.jew.dance/
4
- // @version 3
4
+ // @version 4
5
5
// @description try to take over the world!
6
6
// @author You
7
7
// @match https://volafile.org/r/*
@@ -92,8 +92,12 @@ dry.once("dom", () => {
92
92
if ( ! isOwner || ! data || ! data . id ) {
93
93
return ;
94
94
}
95
-
96
- if ( rekt . has ( nick . toLowerCase ( ) . trim ( ) ) ) {
95
+ nick = nick . toLowerCase ( ) . trim ( ) ;
96
+ if ( options . user && rekt . has ( `@${ nick } ` ) ) {
97
+ dry . exts . connection . call ( "timeoutChat" , data . id , 3600 * 24 ) ;
98
+ return ;
99
+ }
100
+ if ( ! options . user && rekt . has ( nick ) ) {
97
101
dry . exts . connection . call ( "timeoutChat" , data . id , 3600 * 24 ) ;
98
102
return ;
99
103
}
@@ -114,6 +118,10 @@ dry.once("dom", () => {
114
118
return true ;
115
119
}
116
120
user = user . toLowerCase ( ) . trim ( ) ;
121
+ if ( rekt . has ( user ) ) {
122
+ dry . appendMessage ( "Rekt" , `${ user } is already rekt!` ) ;
123
+ return true ;
124
+ }
117
125
if ( user !== "" ) {
118
126
dry . appendMessage ( "Rekt" , `${ user } got rekt` ) ;
119
127
rekt . add ( user ) ;
@@ -130,6 +138,10 @@ dry.once("dom", () => {
130
138
return true ;
131
139
}
132
140
user = user . toLowerCase ( ) . trim ( ) ;
141
+ if ( ! rekt . has ( user ) ) {
142
+ dry . appendMessage ( "Unrekt" , `${ user } is not on rektlist!` ) ;
143
+ return true ;
144
+ }
133
145
if ( user !== "" ) {
134
146
dry . appendMessage ( "Unrekt" , `${ user } got unrekt` ) ;
135
147
rekt . delete ( user ) ;
@@ -145,6 +157,10 @@ dry.once("dom", () => {
145
157
if ( ! isOwner ) {
146
158
return true ;
147
159
}
160
+ if ( ! rekt . size ) {
161
+ dry . appendMessage ( "Showrekts" , "Rektlist is empty!" ) ;
162
+ return true ;
163
+ }
148
164
dry . unsafeWindow . alert (
149
165
`Rekt boys:\n${ Array . from ( rekt . values ( ) ) . filter ( el => el !== whitePurge ) } `
150
166
) ;
@@ -174,7 +190,7 @@ dry.once("load", () => {
174
190
const pool = new PromisePool ( 6 ) ;
175
191
176
192
const checksums = ( function ( ) {
177
- const rv = sessionStorage . getItem ( "ownerChecksums" ) ;
193
+ const rv = dry . unsafeWindow . sessionStorage . getItem ( "ownerChecksums" ) ;
178
194
try {
179
195
return new Map ( rv && JSON . parse ( rv ) ) ;
180
196
}
@@ -183,7 +199,7 @@ dry.once("load", () => {
183
199
}
184
200
} ( ) ) ;
185
201
const save_checksums = debounce ( function ( ) {
186
- sessionStorage . setItem ( "ownerChecksums" , JSON . stringify ( Array . from ( checksums ) ) ) ;
202
+ dry . unsafeWindow . sessionStorage . setItem ( "ownerChecksums" , JSON . stringify ( Array . from ( checksums ) ) ) ;
187
203
} , 1000 ) ;
188
204
const find_file = function ( file ) {
189
205
const { id} = file ;
@@ -212,6 +228,7 @@ dry.once("load", () => {
212
228
const { checksum} = info ;
213
229
checksums . set ( file . id , checksum ) ;
214
230
file . checksum = checksum ;
231
+ save_checksums ( ) ;
215
232
}
216
233
catch ( e ) {
217
234
console . error ( e ) ;
@@ -259,10 +276,16 @@ dry.once("load", () => {
259
276
if ( ! file . id ) {
260
277
return ;
261
278
}
262
- if ( file . tags && ( file . tags . user || file . tags . nick ) &&
263
- rekt . has ( ( file . tags . user || file . tags . nick ) . toLowerCase ( ) . trim ( ) ) ) {
264
- dry . exts . connection . call ( "timeoutFile" , file . id , 3600 * 24 ) ;
265
- dry . exts . connection . call ( "deleteFiles" , [ file . id ] ) ;
279
+ if ( file . tags ) {
280
+ let subject = ( file . tags . user || file . tags . nick ) . toLowerCase ( ) . trim ( ) ;
281
+ if ( rekt . has ( subject ) ) {
282
+ dry . exts . connection . call ( "timeoutFile" , file . id , 3600 * 24 ) ;
283
+ dry . exts . connection . call ( "deleteFiles" , [ file . id ] ) ;
284
+ }
285
+ if ( rekt . has ( `@${ subject } ` ) ) {
286
+ dry . exts . connection . call ( "timeoutFile" , file . id , 3600 * 24 ) ;
287
+ dry . exts . connection . call ( "deleteFiles" , [ file . id ] ) ;
288
+ }
266
289
}
267
290
const fe = file . dom . fileElement ;
268
291
if ( ownerFiles . has ( fe ) ) {
@@ -278,7 +301,6 @@ dry.once("load", () => {
278
301
}
279
302
else {
280
303
pool . schedule ( getInfo , file ) ;
281
- save_checksums ( ) ;
282
304
}
283
305
}
284
306
fe . addEventListener ( "click" , file_click , true ) ;
0 commit comments