home *** CD-ROM | disk | FTP | other *** search
/ Hackers Toolkit v2.0 / Hackers_Toolkit_v2.0.iso / HTML / archive / TCL / notepod303.txt < prev    next >
Text File  |  1999-11-04  |  6KB  |  151 lines

  1. ## NotePod.tcl (c) 1998 by Amadeus - The Elite Scripting Team efNET #scripting
  2. set NP_version "\002NotePod\002 3.02 by \002Amadeus\002" 
  3. ##################################################################################
  4. ##
  5. ## Credits
  6. ## Basic design by Einride, - The Elite Scripting Team
  7. ## Based on ideas picked from fluxlearn.tcl by Reflux and WDOG.MRC by Genesis
  8. ##
  9. #
  10. # NotePod is a channel definition script, similar in many respects to 
  11. # explain and fluxlearn and others. It has many additional features however,
  12. # including but not limited to:
  13. #  - configurable channel triggers
  14. #  - command specific access flags
  15. #  - fallback to users channel status when user is not on bot
  16. #  - only user who set a definition can replace it (except for master)
  17. #  - only configured script_owners (defined in script config) can forget 
  18. #    or replace defs LOCKED by any script_owner listed
  19. #    lock is set by preceeding def with ":"
  20. #    this supports multiple handles in $owner
  21. #  - will not repeat a def within configurable number of mins.
  22. #  - configurable usage limit (default is 5 defs in 3 mins) prevents
  23. #    over-eager users from lagging the bot.
  24. #  - puts non-users who try to use NotePod commands and those who exceed 
  25. #    usage limit on ignore for configurable number of mins.
  26. #  - special commands for masters
  27. #  - command to replace a definition
  28. #  - backup bot automatically takes over when primary leaves channel
  29. #  - botnet commands to sync definitions for two bots
  30. #  - configure once for both bots
  31. #  - dcc commands to get various internal files
  32. #  - dcc commands to show, learn, forget and replace definitions
  33. #  - dcc and channel commands to do wildcard matches of nick and body of
  34. #    definitions
  35. #  - automatically sorts defs
  36. #
  37. #
  38. ## Channel commands:
  39. #  command   trigger
  40. #  
  41. #  help     <configuable>    - user level specific help
  42. #        trigger example "?? ??"
  43. #
  44. #  explain  <configurable>   - show a definition
  45. #        trigger example "?? someword"
  46. #
  47. #  scan     <configurable>   - show definition matchs for a wildcard
  48. #             - will match to word* in def name or body
  49. #        trigger example "??? someword"
  50. #
  51. #  scannick    <configurable>   - show definition matches set by nick
  52. #        trigger example "?!? somenick"        
  53. #
  54. #  scanbody    <configurable>   - show wildcard match in body of definitions
  55. #               will match to *word* in body of def
  56. #        trigger example "??! someword"
  57. #
  58. #  learn    <trigger>learn   - learn a new definition
  59. #             - learn will strip tcl {}[] characters from
  60. #             - definitions. 
  61. #             - mIRC attributes and color codes may be used
  62. #             - in body of def.
  63. #        trigger example "?!learn someword and its definition"
  64. #
  65. #             - if def is set by a user listed in $script_owners and is
  66. #               preceeded with a ":", this definiton may only be changed
  67. #               by one of the $script_owners
  68. #               (applies to forget and replace as well)
  69. #
  70. #  forget   <trigger>forget  - forget a definition
  71. #        trigger example "!forget someword"
  72. #
  73. #  replace  <trigger>replace - replace a definition
  74. #        trigger example "!replace someword with a new def"
  75. #
  76. #  Only the user who set a definition may replace or forget it.
  77. #  The NP_Remove_any and NP_Replace_any variables define the level of
  78. #  a user who can forget or replace ANY definiton. This is usually set
  79. #  to M (master). 
  80. #
  81. #  whoset   <trigger>whoset  - show who set a definition
  82. #        trigger example "!whoset someword"
  83. #
  84. #   As a configured NotePOD OWNER, (configuration option script_owners) 
  85. #   you can LOCK a definition by prepending : (colon) when using the learn
  86. #   or replace commands.
  87. #   The following commands allow you to lock or unlock a pre-existing definition.    puthelp "PRIVMSG $nick :\00313$NP_trigger_Lockdef <def>\003 - lock a current definition."
  88. #   lockdef <word>
  89. #   unlockdef <word>
  90. #
  91. ## DCC +m commands:
  92. #
  93. #  
  94. #    .np learn , forget, replace, whoset same as for channel commands
  95. #
  96. #    .np show      - dcc equivalent of explain, 
  97. #            - this is raw mode showing whoset also
  98. #    .np wshow     - dcc equivalent of scan
  99. #    .np bshow     - dcc equivalent of scanbody
  100. #    .np nshow     - dcc equivalent of scannick
  101. #
  102. #    .np getlist      - send definition list
  103. #    .np gethist      - send definition change history
  104. #    .np getsync      - send definition sync file
  105. #
  106. #    .np forcesync    - force def list sync on target bot
  107. #    .np killsync     - delete pending def resync list
  108. #
  109. #    .np update    - update def list on target bot
  110. #            - bot DCC sends list to target bot
  111. #
  112. #    .np move <sync|list> - install new synclist or deflist
  113. #            - that was DCCed to bot by owner
  114. #    .np sort      - sort the def list
  115. #
  116. #
  117. ## Definition Sorting:
  118. #
  119. # Definition list is sorted on restart, rehash and via dcc command. 
  120. # A backup file is made.
  121. #
  122. #
  123. ## Definition Syncing:
  124. #
  125. # When operated on two bots, NotePOD tries to keep the definition files in
  126. # sync on both. It accompishes this via the botnet link, issuing putbot 
  127. # commands as required. 
  128. #
  129. # Both bots execute learn, replace and forget, but only the primary NotePod bot
  130. # will reply to channel explain and scan commands. 
  131. # When the primary goes offline/channel, the secondary takes over 
  132. # public/msged replies. Both bots store all changes made in a sync file
  133. # while the other is offline.
  134. # If bots are linked but on split channels, def sync is done via botnet.
  135. # When a bot relinks, the other will update it via the botnet.
  136. # If synclist is greater that 1k, sync is not done and a note will be sent
  137. # to the bot OWNER. IN this case, the owner must use the .np update command
  138. # to update the other bot.
  139. # If synclist is 51 bytes, this indicates bot has a default list and it 
  140. # will automatically request, via the botnet, the current def list from the 
  141. # other bot. A note will be sent to OWNER.
  142. #
  143. # Both bots MUST have x flag for each other, and you should have an inbound
  144. # directory defined and created on each. They need to be botlinked also :)
  145. #
  146. # IF both go offline/channel, yer screwed, don't bug me.
  147. #   Amadeus`
  148. #
  149. ##################################################################################
  150. #
  151.