391 lines
14 KiB
Dart
391 lines
14 KiB
Dart
import 'dart:async';
|
|
import 'dart:convert';
|
|
|
|
import 'slash_command.dart';
|
|
|
|
const Duration _frameDelay = Duration(milliseconds: 100);
|
|
const Duration _holdBeforeText = Duration(seconds: 1);
|
|
const String _endText = 'I Always Watching You';
|
|
|
|
const String _art = r'''
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$@bd$$$$$$$$$$M&B$$$$$$$$$$$$$$
|
|
$$$$$$$%kdOW$$$$;$t$$$$$kqda$$$$$$$$$$$$
|
|
$$$$$$WwmYX@$$$$$$$$$$$$kCCO*%$$$$$$$$$$
|
|
$$$$$WwJQYXd$$$$$$$$$$$$q0LOqaM&@$@$$$$$
|
|
$$$$BhamCXUUZ$$$$$$$$$$w0QQOqa%W8&&$$$$$
|
|
$$$$$@#dpOUYzX0&$$$$BdO00waoM8@$$$$$$$$$
|
|
$$$$$$$@W*bmwwmmZpqbwpb*&B$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$8&%$$$$$$$$$$hmhoZ$kmC$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$W$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$%B%$$$$$$$$$$$$$$$
|
|
$$$$$$$$$WaQq$$$$$$$$$@aoMB$$$$$$$$$$$$$
|
|
$$$$$$$kq0Uo$$$$'$l$$B$$OLQh8@$$$$$$$$$$
|
|
$$$$$BkQUuc@$$$$$$$$$$$$wCJmaM$$$$$$$$$$
|
|
$$$$&o0XYzc*$$$$$$$$$$$$OOQOpaW&8$8$$$$$
|
|
$$$$%hhmCYJXq$$$$$$$$$@m0QQOq*B*8#M@$$$$
|
|
$$$$$B*pqQYUzXZ8$$$$&dO00Zboo&B$$$$$$$$$
|
|
$$$$$$$@W*pwwmZZOpqbubkoW8@$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$%&%$$$$$$$$$$hmhoZ$kmC$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$&*oa@$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$u$$$$&ZczLm*%$$$$$$$$$$$$$
|
|
$$$$$$$o$$$$$$$$$$$&OuruXJOk&$$$$$$$$$$$
|
|
$$$$$$h0q$$$$$$$$$$pCunnvzJwbhW$$$$$$$$$
|
|
$$$$$8wJz0@$$$$$$&Ocrxxxuz0wdk&8%&$$$$$$
|
|
$$$$$#dZJzuzwoawJznfjjxvU0mdo&B8WW@$$$$$
|
|
$$$$$$BommYccvurrjrnvzQmpkM8B$$$$$$$$$$$
|
|
$$$$$$$$$@W*abppZwbaWW&B$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$hmhoZ$kmC$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$@$X$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$hCJXx0wW$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$%$$$Bc{[[1fuOhB$$$$$$$$$$$$
|
|
$$$$$$$@$$$$$$$$$$x|(/nnzJJzOo$$$$$$$$$$
|
|
$$$$$$dp$$$$$$$$$q(1|txucJ0QOqW8$$$$$$$$
|
|
$$$$@8qJM$$$$$$@zj/|(|jnz0Zwbo#8$&$$$$$$
|
|
$$$$$WdmUvqWWpYutt(|rvvvJmph8%@$(8@$$$$$
|
|
$$$$$$BomwJvcrrfrnxxvvLOdaM%@$$$$$$$$$$$
|
|
$$$$$$$$$@WahpqpwpwaMW&B$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$hmhoZ$kmC$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$B@Q0$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$wLXvvqpB$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$b/}[[(jnZMB$$$$$$$$$$$$
|
|
$$$$$$8$$$$$$$$$$hf(1fnvJYUzq8$$$$$$$$$$
|
|
$$$$$@ZM$$$$$$$$$J|{/rrnXQCQOhh$$$$$$$$$
|
|
$$$$88OC@$$$$$$@zjtt(tuvL0ZqboM@8M$$$$$$
|
|
$$$$$#pZYJ#%&pYnf||jnvuzCwd*8@@8UB@$$$$$
|
|
$$$$$$%aqOYzvrjrjrvuzX0qbaWB@$$$$$$$$$$$
|
|
$$$$$$$$$B&Wopppqwd#MWB@$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$hmhoZ$kmC$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$hZYnrJZkB$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$@$$oj{-_?(xYh#$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$@8f{[1|nvzzzJhB$$$$$$$$$$
|
|
$$$$$$d$$$$$$$$$mjj1fxruUJJCmh*$$$$$$$$$
|
|
$$$$8&wd$$$$$$$krt|)(jvXQQwqkWM$Bq$$$$$$
|
|
$$$$$#pZQa$$$wUnt|trnuuU0pkM%@@Bk%$$$$$$
|
|
$$$$$$BopOYUcnrxxuvXXYQwh#&B$$$$$$$$$$$$
|
|
$$$$$$$$$B&&*hpddp0MW&%@$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$hmhoZ$kmC$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$Moo&k@B$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$dYrj|Xwh%$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$%$$@0l'~~[}nQd#@$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$w/11(ruzzXvCb@$$$$$$$$$$
|
|
$$$$$&k$$$$$$$$$U/|1jfuXJCQ0w&M$$$$$$$$$
|
|
$$$$&WZ*$$$$$$BYjjf/fxcQ0Owp##%$Qp$$$$$$
|
|
$$$$$MpOCdB&oJujtfrxnucCwdo&@$$%&@$$$$$$
|
|
$$$$$$B*qqJzzuuvuXXJQZdbo8%$$$$$$$$$$$$$
|
|
$$$$$$$$$$B8&*#M&M8%B@$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$hmhoZ$kmC$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$##MkkB%$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$hJXv(rZq&$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$*@Wof<>_?{/zw*8$$$$$$$$$$$$
|
|
$$$$$$@$$$$$$$$$8x{1)juczXcJq&$$$$$$$$$$
|
|
$$$$$@p$$$$$$$$$Zt||tnnzUUCQq*h$$$$$$$$$
|
|
$$$$%MqZ$$$$$$$wxjf1|fcU0Omq*#W$hx$$$$$$
|
|
$$$$$WbwJqB@#OvrftfxuucU0daW@@$8&@$$$$$$
|
|
$$$$$$@#ppLYcuvcvzXUCOpkoW8@$$$$$$$$$$$$
|
|
$$$$$$$$$$@8W#**#%W88B$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$hmhoZ$kmC$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$8**Qao8$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$WYrn|uYQo$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$t0r|)1ruXUYLa$$$$$$$$$$$$
|
|
$$$$$$%$$$$$$$$$n{[1{|jzYXJLpW$$$$$$$$$$
|
|
$$$$$@O8$$$$$$8u{[{[}/nUCCZZbh#$$$$$$$$$
|
|
$$$$8oZUZ8$B*v/[}]{1f/nvLmw#BBB$ut$$$$$$
|
|
$$$$$&hwYvunf((()ttjnxvzUmbM%@&W$$$$$$$$
|
|
$$$$$$$WbwOXzXvvuvzJQmqk*&%$$$$$$$$$$$$$
|
|
$$$$$$$$$$@$8MW&%&%B@$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$hmhoZ$kmC$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$*kkwqk@$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$wx|)(nuJh%$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$@B(^(1(jrvYXYQ*$$$$$$$$$$$$
|
|
$$$$$W$$$$$$$$$Ott[}(|rzJUQZob$$$$$$$$$$
|
|
$$$$$OC$$$$$$Mv]]{}}{fuCQmqdhM$$$$$$$$$$
|
|
$$$BWpCvJkaLx([[[[}1jzUJ0mpM%%$th8$$$$$$
|
|
$$$$B*dJvunt){11)t//xnucCwa8@$&MB$$$$$$$
|
|
$$$$$$%awqYvJUvvvvULmmh*&%@$$$$$$$$$$$$$
|
|
$$$$$$$$$$B8&W&8&BWB$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$hmhoZ$kmC$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$MW@$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$BhZwpW$$$$$$$$$$$$$$$
|
|
$$$$$$$%M@$$$$$$$$$$aLcvcUw&$$$$$$$$$$$$
|
|
$$$$$$dCp$$$$$$$$$$$*0vzYwOpb#$$$$$$$$$$
|
|
$$$$$WJXOB$$$$$$$$$$pLYXXJOmpk*&$$$$$$$$
|
|
$$$$#kQzJ0&$$$$$$$%QvuvvcU0wda#@$%$$$$$$
|
|
$$$$BobOUccYOo*o0UuxnnvcY0qk#%$$$X8$$$$$$
|
|
$$$$$@8hpQUzczcvnuuvzU0wk#%B$$$$$$$$$$$$
|
|
$$$$$$$$$B&M*hdqwqa#M8B$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$hmhoZ$kmC$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$hm@$$$$$$$$$$MB$$$$$$$$$$$$$$$
|
|
$$$$$$$%pYX@$$$$$$$$$$$@wmwo$$$$$$$$$$$$
|
|
$$$$$$pcxrc$$$$$$$$$$$$$ZCLda%$$$$$$$$$$
|
|
$$$$$*Jvuuna$$$$$$$$$$$kqOJZd*8B$$$$$$$$
|
|
$$$@opZCJcYuC@$$$$$$$B0JLLJLwo8W&$$$$$$$
|
|
$$$$BabUcYvvnncCkkd0CvvzzCLq#%BB$8$$$$$$
|
|
$$$$$$8aw0UzcczYccvvzU0qk#%B$$$$$$$$$$$$
|
|
$$$$$$$$$%&#obdqqZboW&@$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$hmhoZ$kmC$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$%$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$#ZqqB$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$#mcv(na$$$$$$$$$$$$MB$$$$$$$$$$$$
|
|
$$$$$@Zzf}1{u&$$$B$$$$$$$$Wko@$$$$$$$$$$
|
|
$$$$@wXnrjjfnB$$$$$$$$$$$$ohoWB$$$$$$$$$
|
|
$$$@WZQQJcuxuUM$$$$$$$$$@kqpaM8W]$$$$$$$
|
|
$$$$%haQXuvUvuncw@$$$$8bmZZb#%8%b#$$$$$$
|
|
$$$$$@WdpOYYzczzUUJLLZmphW%@$$$$$$$$$$$$
|
|
$$$$$$$$$8&*abpqZbk*#8@$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$hmhoZ$kmC$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$@M&pwkmpdB$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$8dZqLJnY{uq$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$8pX//[]?++]p`$@$$$|$$$$$$$$$$$$$$$
|
|
$$$$$%hJYf(}__-]U$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$hZYXcnnrrrjjC$$$$$$$$$$$$$$$$@$@$$$$
|
|
$$$$8hbmZmOYXcuvXp@$$$$$$$$$$$$$$m8$$$$$
|
|
$$$$$$WkbmJccLJUUUQo$$$$$$$&8@$$$$$$$$$$
|
|
$$$$$$$$%MoqbkbrOwdqdkoMWB$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$@B$$$$$$$$$$$hmhoZ$kmC$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$Bq*YqmCqb&$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$%baQXJuOvzJJpY$$$@$$$$$$$$$$$$$
|
|
$$$$$$$88kZXY/t)|j/nh$$$$$$$$$$$$$$$$$$$
|
|
$$$$$@@kZwCvuj/1)|/C$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$@&#dZqLUYYXzvcZ$$$$$$$$$$$$$$$B@$$$$
|
|
$$$$$$@WhMkqq0QCLCQZbB$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$%MkwppqZwwqpko$$$@%8B@$$$$$$$$$$
|
|
$$$$$$$$$$$$$$B%8W8&&%B@$$$hmhoZ$kmC$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$<&Wp8$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$akqCZmbY0d%$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$*oqYJjxfxYp$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$hwwCzvj/jfq$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$8&dpOLLUzuXk$$$$$$$$$$$$$$$$$B$$$$
|
|
$$$$$$$&oopww0LJCmW$$$$$$$$$$$%@$$$$$$$$
|
|
$$$$$$$$$BMaqpdwmpqa$$$$$$W&B@$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$%8a&&M&8%@$$hmhaZ$kmC$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$%kqO."0CucOZkW$$$$$$$$$$$$$$
|
|
$$$$$$$$BabJL(zjC({Xx/8@$$$$$$$$$$$$$$$$
|
|
$$$$$$$**qCfr1{{}?[{C$$$$$$$$$$$$$$$$$$$
|
|
$$$$$@$bJ0vnxf[][}}O$$$$$$$$$$$$$$$@$$$$
|
|
$$$$$@M*pZwJUvzuvnn&$$$$$$$$$$$$$$$@$$$$
|
|
$$$$$$@WaooqkOQQCUUZ@$$$$$$$$$$@$$$$$$$$
|
|
$$$$$$$$$BWawbqqqwmwp#$$$$@&B$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$@88#8B&W&@$$$hmhaZ$kmC$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$%Wb$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$@#wQtnW$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$p0r}({tB$$$$$$$$$$$$kdB$$$$$$$$$
|
|
$$$$$$$hXn(()||Z$$$$$$$$$$$%kdh8$$$$$$$$
|
|
$$$$$@oLJXcujfrrQ$$$$$$$$@dOOwqo&&$$$$$$
|
|
$$$$$&#qO0nrfrjj(jxQoWWb0UzcULda*k8#B$$$
|
|
$$$$$$@*bqYvxvjrrrrvnnrnvzJwhM88@@@$$$$$
|
|
$$$$$$$$@8#bdbqqO0Lpdkh*8B$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$@$$$@$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$hmhaZ$kmC$$$$
|
|
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$WwB@$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$&*oqwZbwZ00M$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$%ao*dqQcXYOvd$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$%$Mhow0CUYzUC$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$%###kdbwm0QL@$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$@&kqkbqpwdbB$$$$$$BB@$$$$$$$$$$
|
|
$$$$$$$$$$$$$@B%###&MW&M8B@hmhaZ$kmC$$$$
|
|
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$8*&WaB$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$BQnv/vZZ&@$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$@Bpl`+]}/z0h&$$$$$$$$$$$
|
|
$$$$$$$B$$$$$$$$$$kx11(fuzzYCq&$$$$$$$$$
|
|
$$$$$$$wk$$$$$$$$%buftfuuzJJ0OaoB$$$$$$$
|
|
$$$$$@aq0$$$$$$$$dzrf/fncCQ0wpo&@#O@$$$$
|
|
$$$$$$&ddLp$$$$oCujfrnuuvJZqoM%$&Q&@$$$$
|
|
$$$$$$$@#dqJUJzvunnvcXCOdh#WB@$$$$$$$$$$
|
|
$$$$$$$$$$@%W#okkbdk*#8@$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$hmhaZ$kmC$$$$
|
|
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$@pUcuQwa@$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$8r/{{xUmkM$$$$$$$$$$$$
|
|
$$$$$$$@B$$$$$$$$$$Ct|1/rcJ0ma@$$$$$$$$$
|
|
$$$$$$$bm$$$$$$$$$$Lr/jnuXJCQZa88$$$$$$$
|
|
$$$$$@&bLB$$$$$$$$#znrjnXYUQZph*8$a8$$$$
|
|
$$$$$$8bdCa$$$$$$qvuucnncJ0dh*@$@YMB$$$$
|
|
$$$$$$$@MdwLOOQLzuuuvcJ0ma*W8B$@$$$$$$$$
|
|
$$$$$$$$$$@&W#akdddh#W&B%$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$hmhaZ$kmC$$$$
|
|
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$Bo0awdd@$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$hvztzQd*%$$$$$$$$$$$$$
|
|
$$$$$$$BB$$$$$b$@$$J/t{/uzZoW@$$$$$$$$$$
|
|
$$$$$$$ma$$$$$$$$$$dxrruJCLQ0qM$$$$$$$$$
|
|
$$$$$@@Ow$$$$$$$$$$wcvuXYJ0ZZpo*B$@$$$$$
|
|
$$$$$$#amZ$$$$$$$$wJYXzzULZkko$$$J#B$$$$
|
|
$$$$$$$8kpOp%$$8qOUXzUJ0wh#W&B@@$$$$$$$$
|
|
$$$$$$$$$$Wohqpdw0ZdkboW8@$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$hmhaZ$kmC$$$$
|
|
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$@*YpJhwa%$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$*rz//zJW8$$$$$$$$$$$$$
|
|
$$$$$$$M@$$$$$$$$$$0f/|xuuqba8$$$$$$$$$$
|
|
$$$$$$$Q#$$$$$$$$$$knrrcYJ00ZwM@$$$$$$$$
|
|
$$$$$88OO$$$$$$$$$@QvvczUCQZwd#*B$%$$$$$
|
|
$$$$$$#bw0$$$$$$$@OXzXvcYLmha#$$$q%$$$$$
|
|
$$$$$$$8od00o#Wk0JzXXXCmk*MW8B$$$$$$$$$$
|
|
$$$$$$$$$$8#*kqpwmdbka#88@$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$hmhaZ$kmC$$$$
|
|
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$@%pohqbo&$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$apz0Q$$$$$$@wwpo$$$$$$$$$$$$$
|
|
$$$$$$$$Mpzrtj$$$$$$$$$$@QQ0q&$$$$$$$$$$
|
|
$$$$$$$WXu|//$$$$$@$$$$@$BCULOh@$$$$$$$$
|
|
$$$$$$BOcxnju$$$$$$$$$$$$@0JLwa#%B$$$$$$
|
|
$$$$$&bp0QXnz#$$$$$$$$$$$dZZ0wbk*&%@$$$$
|
|
$$$$$$8kp0YUYz0$$$$$$$$@bZOmwq*&%@@@$$$$
|
|
$$$$$$$$WamqQUXzCw*WWhqqqkoM&%$$$$$$$$$$
|
|
$$$$$$$$$$$B8W#oobdo#M&%@$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$hmhaZ$kmC$$$$
|
|
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$pkwaC0mXzZwk@$$$$$$$$$$$$$$
|
|
$$$$$$$$$$oLL/un%$$$$$8UzOw#@$$$$$$$$$$$
|
|
$$$$$$$$wOf{1(@$$$$$$$$$@JJcLd$$$$$$$$$$
|
|
$$$$$$$bn/1)($$$$$$$$$$@$@UzU0mW@$$$$$$$
|
|
$$$$$B%Qcnufx$$$$$$$$$$$$@0JCZbM%&$$$$$$
|
|
$$$$$%hpOQYvva$$$$$$$$$$$km0Qmdko&%&@$$$
|
|
$$$$$$@apZYUYzL@$$$$$$$@bOOmZwo&%@@@$$$$
|
|
$$$$$$$$8omp0JUXJwM8&apqphoW&%@$$$$$$$$$
|
|
$$$$$$$$$$$@%&###kk#MW8B$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$hmhaZ$kmC$$$$
|
|
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$hdwaLmmXUQqp%$$$$$$$$$$$$$$
|
|
$$$$$$$$$$#Q0tut#$$$$$@Jc0Z*B$$$$$$$$$$$
|
|
$$$$$$$$pOt{{}a$$$$$$$$$$UUzYZB$$$$$$$$$
|
|
$$$$$$$#c/111B$$$$$%$$$$$$QzUQZ*@$$$$$$$
|
|
$$$$$@&Qzunfr$$$$$$$$$$$$$wJC0bM&W$$$$$$
|
|
$$$$$BadZ0zvup$$$$$$$$$$$8mO0mbh*MW%W$$$
|
|
$$$$$$@*qmYJUzU@$$$$$$$$*mOOZwo8%@@%$$$$
|
|
$$$$$$$$8ompLCUXUmW%%#dqqka*&%@$$$$$$$$$
|
|
$$$$$$$$$$@@%&##*kko*W88@$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$hmhaZ$kmC$$$$
|
|
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$&h*qqh0qpW*$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$@aZvntL%$$$$#Jc0pW$$$$$$$$$$$$
|
|
$$$$$$$$@wz1(}z$$$$$$$$$@UJYUb@$$$$$$$$$
|
|
$$$$$$$$Un{11O$$$$+$k$$$$@0vzCp#@$$$$$$$
|
|
$$$$$$&pcnrfj8$$$$$$$$$$$$dLLCba&%@$$$$$
|
|
$$$$$@#bOCUzvZ$$$$$$$$$$$$p0QZd**WW$%$$$
|
|
$$$$$$@*pmCUQXC@$$$$$$$$@qZOZwkW%B@BB$$$
|
|
$$$$$$$$%amdLCYzJd$$$$#qwwdo*&B$$$$$$$$$
|
|
$$$$$$$$$$$@&MokqOzh*o#&B@$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$hmhaZ$kmC$$$$
|
|
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$qbad#M@$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$$kOnUrqa@$@#CJwq#@$$$$$$$$$$$$
|
|
$$$$$$$$@pvjx[O$$$$$$$$$kUCUqW$$$$$$$$$$
|
|
$$$$$$$@Ux({1B$$$B`$%$$Z@MYucJo8$$$$$$$$
|
|
$$$$$$%wvrf|j$$$$$$$$$$$$$0JJZboWB@$$$$$
|
|
$$$$$BodLzYzvB$$$$$$$$$$$%Z00Zqko#1$B$$$
|
|
$$$$$$Bohw0YCYo$$$$$$$$$@m0QLZpM%%B8@$$$
|
|
$$$$$$$$WkpZJJXYq@$$$$WbwZmh*M%$$$$$$$$$
|
|
$$$$$$$$$$$8Wodpq1vbhZ*#WBB$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$hmhaZ$kmC$$$$
|
|
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
$$$$$$$$$$@dq$$$$$$$$$$M8@$$$$$$$$$$$$$$
|
|
$$$$$$$8ddOW$$$$;$/$$@@$dqdM$$$$$$$$$$$$
|
|
$$$$$$&qOJcB$$$$$$$$$$$$kLCO*%$$$$$$$$$$
|
|
$$$$@#wJLXzq$$$$$$$$$$$$qOQZwkW&@@$$$$$$
|
|
$$$$@ohwQXCJO$$$$$$$$$$qO0OOq*BWB8&$$$$$
|
|
$$$$$@Wpd0XUzzZM$$$@@dO00qko#%@$$$$$$$$$
|
|
$$$$$$$$%*pwppZqQpqbQpko&B@$$$$$$$$$$$$$
|
|
$$$$$$$$$$$$$@BB$$@$$$$$$$$hmhaZ$kmC$$$$
|
|
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
|
''';
|
|
|
|
List<String> _buildFrames() {
|
|
final all = const LineSplitter().convert(_art);
|
|
var start = 0;
|
|
while (start < all.length && all[start].trim().isEmpty) {
|
|
start++;
|
|
}
|
|
final lines = all.sublist(start);
|
|
|
|
var width = 0;
|
|
for (final line in lines) {
|
|
if (line.length > width) width = line.length;
|
|
}
|
|
final padLine = ''.padRight(width, '\$');
|
|
|
|
final frames = <String>[];
|
|
final buffer = <String>[];
|
|
for (final line in lines) {
|
|
buffer.add(line.isEmpty ? padLine : line.padRight(width, '\$'));
|
|
if (line.contains(r'Z$kmC')) {
|
|
frames.add(buffer.join('\n'));
|
|
buffer.clear();
|
|
}
|
|
}
|
|
return frames;
|
|
}
|
|
|
|
final List<String> _frames = _buildFrames();
|
|
|
|
Future<void> runWatching(CommandContext ctx) async {
|
|
if (!ctx.isOnline()) {
|
|
ctx.notify('Нет соединения');
|
|
return;
|
|
}
|
|
if (_frames.isEmpty) return;
|
|
|
|
final id = await ctx.postMessage(_frames.first);
|
|
if (id.isEmpty) return;
|
|
|
|
final completed = await playFrames(ctx, id, _frames, _frameDelay);
|
|
if (!completed) return;
|
|
|
|
await Future.delayed(_holdBeforeText);
|
|
if (!ctx.isActive()) return;
|
|
try {
|
|
await ctx.updateMessage(id, _endText);
|
|
} catch (_) {
|
|
if (ctx.isActive() && !ctx.isOnline()) ctx.notifyAntiFlood();
|
|
}
|
|
}
|