freemodes.sh 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #!/bin/bash
  2. # Possible chars, lil dirty cuz I want the output in a specific order ;]];;];];]];
  3. muhchars=(A a B b C c D d E e F f G g H h I i J j K k L l M m N n O o P p Q q R r S s T t U u V v W w X x Y y Z z)
  4. #muhchars=({A..Z} {a..z})
  5. # Better not touch these my dudes (chmodes, umodes, snomasks, stats, extbans, *:Lines)
  6. u_ch='vhoaqbeIcCDdfGHikKLlmMNnOPpQRrsSTtVzZ'
  7. u_us='BdDNGHIiopqrRSsTtWwxZz'
  8. u_sn='bcDFfkejvGnNqsSo'
  9. u_st='BbCdDeEfFGIjKlLMnOPqQrSstTuUvVWXYZ'
  10. u_eb='acfjmnOqrRStT'
  11. u_xl='EKfFGqQsUzZ'
  12. g_ch='BgjJu'
  13. # B: block_masshighlight
  14. # g: topicgreeting
  15. # j: kickjoindelay
  16. # J: joinmute
  17. # u: auditorium
  18. g_us='cNP'
  19. # c: message_commonchans
  20. # N: noinvite
  21. # P: pmlist
  22. g_sn='ACgLO'
  23. # A: sacmds
  24. # C: commandsno
  25. # g: geoip
  26. # L: ldapauth
  27. # O: operpasswd
  28. g_st='OS'
  29. # O: operpasswd
  30. # S: chansno
  31. # S: commandsno (stats can have multiple modules listening for the same flag ;])
  32. g_eb=''
  33. g_xl='MOT'
  34. # M: mshun
  35. # O: otkl
  36. # T: textshun
  37. _checkemlol() {
  38. mstr=$1
  39. astr=''
  40. for chr in "${muhchars[@]}"; do
  41. if [[ $mstr != *$chr* ]]; then
  42. astr="${astr}$chr"
  43. fi
  44. done
  45. [[ ! -z $astr ]] && echo "+$astr" || echo "None lmao"
  46. }
  47. echo -en "** Available channel modes\n\t"
  48. _checkemlol "$u_ch$g_ch"
  49. echo -en "** Available user modes\n\t"
  50. _checkemlol "$u_us$g_us"
  51. echo -en "** Available snomasks\n\t"
  52. _checkemlol "$u_sn$g_sn"
  53. echo -en "** Available stats (multiple modules can use the same flags, but these should be unused entirely)\n\t"
  54. _checkemlol "$u_st$g_st"
  55. echo -en "** Available extended bans\n\t"
  56. _checkemlol "$u_eb$g_eb"
  57. echo -en "** Available *-Lines (accounting for ones that aren't technically TKLs xd)\n\t"
  58. _checkemlol "$u_xl$g_xl"