silent.tin 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #nop 做一个安静的客户端。;
  2. #nop 「隐藏自己,做好清理。」—— 《三体·黑暗森林》;
  3. #nop 命令白名单。;
  4. #nop 只有纯小写字母,空格,减号组成的命令无需再加白名单。这里只维护例外;
  5. #var silent-WhiteList {
  6. chat; chat*; qq; qq*;
  7. helpme; helpme*; tt; tt*;
  8. rumor; rumor*; tell; say;
  9. bd; bd*; group; group*;
  10. nation; nation*; ask; i2;
  11. buy; list; node;
  12. amber_alert; status_me; set; unset;
  13. };
  14. #nop 文字表情;
  15. #cat silent-WhiteList {
  16. ...; :)..; :D; :P; ?;
  17. ??; @@; ad.;
  18. };
  19. #var silent-LastCmd {};
  20. #alias {^%*{|ID=paotin/silent}$} {
  21. #local cmd {%0};
  22. #replace {cmd} {%S %*} {&1};
  23. #if { {$silent-WhiteList[$cmd]} == {true}
  24. || {$cmd} == {{[a-z]{1,10}}} && {%0} == {{[a-z0-9 -]*}} } {
  25. #var silent-LastCmd {};
  26. #send {%0};
  27. #return;
  28. };
  29. #echo {<160>命令「<130>$cmd<160>」不是一个合法的 MUD 命令,如果确认是,请更新白名单。<070>};
  30. #if { {%0} != {$silent-LastCmd} } {
  31. #echo {<160>本次命令<110>已被抑制<160>。如果你着急输入,可以重复一次本命令,将临时通过一次。<070>};
  32. #var silent-LastCmd {%0};
  33. };
  34. #else {
  35. #var silent-LastCmd {};
  36. #send {%0};
  37. };
  38. } {9.999};
  39. #alias {silent.Init} {
  40. #local list {$silent-WhiteList};
  41. #local cmd {};
  42. #var silent-WhiteList {};
  43. #foreach {$list} {cmd} {
  44. #var {silent-WhiteList[$cmd]} {true};
  45. };
  46. };
  47. silent.Init;