home *** CD-ROM | disk | FTP | other *** search
/ ftp.madoka.org / 2014.12.ftp.madoka.org.tar / ftp.madoka.org / pub / plum / 1.x / plum10b9.lzh / plum10b9 / module.doc < prev    next >
Text File  |  1997-06-30  |  11KB  |  317 lines

  1. plum module manual
  2.  
  3.  
  4. 1. plumñ╬ÑΓÑ╕Ñσí╝Ñδ
  5.  
  6.   plumñ╧ñ╜ñ╬ñ█ñ╚ñ≤ñ╔ñ╬╡í╟╜ñ≥ÑΓÑ╕Ñσí╝Ñδñ╦ñΦñ├ñ╞╝┬╕╜ñ╖ñ╞ñññ▐ñ╣íú
  7.  
  8.   ╔ß─╠ñ╦╛∩├≤ñ╣ñδñ╬ñ╦╔¼═╫ñ╩ÑΓÑ╕Ñσí╝Ñδñ╧ñóñΘñ½ñ╕ñß═╤░╒ñ╡ñ∞ñ╞ñññδñ╬ñ╟íó
  9.   ╔¼═╫ñ╩╡í╟╜ñ≥╗²ñ─ÑΓÑ╕Ñσí╝Ñδñ≥┴╚ñ▀╣■ñ≤ñ╟╗╚ñ├ñ╞▓╝ñ╡ññíú
  10.  
  11.   ñ▐ñ┐íóplumñ╬ÑΓÑ╕Ñσí╝Ñδñ╧╚µ│╙┼¬┤╩├▒ñ╩╣╜┬ññ╦ñ╩ñ├ñ╞ñññδñ╬ñ╟íó
  12.   ╝½╩¼ñ╟┐╖ñ╖ññ╡í╟╜ñ¼═▀ñ╖ñ»ñ╩ñ├ñ┐ñ╚ñ¡ñ╦ñΓ╝½║εñ╬ÑΓÑ╕Ñσí╝Ñδñ≥┤╩├▒ñ╦
  13.   ─╔▓├ñ╣ñδñ│ñ╚ñ¼ñ╟ñ¡ñ▐ñ╣íú
  14.  
  15.  
  16. 2. ÑΓÑ╕Ñσí╝Ñδ░∞═≈
  17.  
  18.   ╕╜║▀plumñ╦╔╒┬░ñ╖ñ╞ñññδÑΓÑ╕Ñσí╝Ñδñ╬░∞═≈ñ╟ñ╣íú
  19.  
  20.   * autojoin.plm  Ñ┴ÑπÑ≤Ñ═Ñδñ╦╝½╞░┼¬ñ╦JOINñ╣ñδ
  21.   * autoload.plm  .plumrcñ¼╩╤╣╣ñ╡ñ∞ñ┐ñ╚ñ¡ñ╦╞╔ñ▀╣■ñ▀─╛ñ╣
  22.   * awaynick.plm  Ñ╦Ñ├Ñ»Ñ═í╝Ñαñ╦╣τñ∩ñ╗ñ╞AWAYñ≥└▀─Ωñ╣ñδ
  23.   * config.plm    ╕╜║▀ñ╬└▀─Ωñ≥╔╜╝¿ñ╣ñδ
  24.   * cron.plm      ╗╪─Ωñ╖ñ┐╗■╣∩ñ╦Ñ│Ñ▐Ñ≤Ñ╔ñ≥╝┬╣╘ñ╣ñδ
  25.   * ctcp.plm      CTCPÑßÑ├Ñ╗í╝Ñ╕ñ≥╜Φ═²ñ╣ñδ
  26.   * dailylog.plm  1╞ⁿñ┤ñ╚ñ╬ÑφÑ░ñ≥ñ╚ñδ
  27.   * dccgate.plm   DCC SEND/GETñ≥├µ╖╤ñ╣ñδ
  28.   * dccget.plm    DCC SENDñ≥╝½╞░┼¬ñ╦╝⌡┐«ñ╣ñδ
  29.   * dynaload.plm  ÑΓÑ╕Ñσí╝Ñδñ¼╩╤╣╣ñ╡ñ∞ñ┐ñ╚ñ¡ñ╦╞╔ñ▀╣■ñ▀─╛ñ╣
  30.   * fastoper.plm  ñ╩ñδñ╚ñ≥╟█ñδ
  31.   * fork.plm      ╡»╞░╗■ñ╦Ñ╨Ñ├Ñ»Ñ░ÑΘѪÑ≤Ñ╔ñ╟╝┬╣╘ñ╣ñδ
  32.   * invite.plm    INVITEñ╡ñ∞ñ┐ñ╚ñ¡ñ╦JOINñ╣ñδ
  33.   * main.plm      IRCñ╦╛∩├≤ñ╣ñδ
  34.   * makeoper.plm  ñ╩ñδñ╚ñ≥╗²ñ├ñ╞ñññ╩ñññ╚ñ¡ñ╦íóñ╩ñδñ╚ñ≥╝Ωñ╦╞■ñ∞ñδ
  35.   * noisybot.plm  ╞├─Ωñ╬ÑßÑ├Ñ╗í╝Ñ╕ñ╦╚┐▒■ñ╖ñ╞ÑßÑ├Ñ╗í╝Ñ╕ñ≥┴≈ñδ
  36.   * show.plm      ╞■╬╧ñ╖ñ┐╝░ñ≥╔╛▓┴ñ╣ñδ
  37.   * taillog.plm   ─╛┴░ñ╬ÑφÑ░ñ≥╔╜╝¿ñ╣ñδ
  38.   * usermode.plm  Ñµí╝Ñ╢í╝ÑΓí╝Ñ╔ñ≥└▀─Ωñ╣ñδ
  39.   * version.plm   CTCPÑ╨í╝Ñ╕ÑτÑ≤ñ≥╩╓ñ╣
  40.   * waitoper.plm  ñ╩ñδñ╚ñ≥ñ»ñ╨ñδ
  41.   * yuurii.plm    ñµí╝ñΩñúñ╬Ñ¿Ñ▀ÑσÑ∞í╝Ñ╖ÑτÑ≤ñ≥╣╘ñª
  42.  
  43.  
  44. 3. ÑΓÑ╕Ñσí╝Ñδñ╬▓≥└Γ
  45.  
  46.   plumñ╦╔╒┬░ñ╖ñ╞ñññδÑΓÑ╕Ñσí╝Ñδñ╬▓≥└Γñ╚íó.plumrcñ╦╗╪─Ωñ╣ñδÑ╫ÑφÑ╤Ñ╞Ñúñ╬
  47.   ▓≥└Γñ╟ñ╣íú
  48.  
  49.   * autojoin.plm
  50.     Ñ╡í╝Ñ╨ñ╦└▄┬│ñ╖ñ┐ñ╚ñ¡ñ╦╗╪─Ωñ╖ñ┐Ñ┴ÑπÑ≤Ñ═Ñδñ╦╝½╞░┼¬ñ╦JOINñ╖ñ▐ñ╣íú
  51.     ñ▐ñ┐íóKICKñ╡ñ∞ñ╞ñΓÑ┴ÑπÑ≤Ñ═Ñδñ╦JOINñ╖ñ▐ñ╣íú
  52.  
  53.       > channel: #ñ█ñ¿ñ█ñ¿
  54.       > channel: #ñ╤ñΦñ╤ñΦ:*.jp
  55.       > channel: %ñ▐ñ╦ñτñ▐ñ╦ñτ
  56.  
  57.   * autoload.plm
  58.     .plumrcñ¼╩╤╣╣ñ╡ñ∞ñ┐ñ╚ñ¡ñ╦íó╝½╞░┼¬ñ╦╞╔ñ▀╣■ñ▀─╛ñ╖ñ▐ñ╣íú
  59.     ñ┐ñ└ñ╖plumñ╬╛⌡┬╓ñ≥╩╤╣╣ñ╣ñδñ∩ñ▒ñ╟ñ╧ñ╩ñññ╬ñ╟├φ░╒ñ╖ñ╞▓╝ñ╡ññíú
  60.     (client:ñ╬Ñ▌í╝Ñ╚╚╓╣µñ≥╩╤ñ¿ñ┐ñΩñ╣ñδñ╚╕┼ññÑ▌í╝Ñ╚ñ≥│½ñ¡ñ├ñ╤ñ╩ñ╖ñ╦ñ╖ñ▐ñ╣)
  61.  
  62.   * awaynick.plm
  63.     Ñ╦Ñ├Ñ»Ñ═í╝Ñαñ≥╩╤╣╣ñ╖ñ┐ñ╚ñ¡ñ╦íóñ╜ñ∞ñ╦┬╨▒■ñ╖ñ┐AWAYñ≥└▀─Ωñ╖ñ▐ñ╣íú
  64.     └▀─Ωñ╡ñ∞ñ╞ñññ╩ññÑ╦Ñ├Ñ»Ñ═í╝Ñαñ╦╩╤╣╣ñ╖ñ┐ñ╚ñ¡ñ╧AWAYñ≥╝ΦñΩ╛├ñ╖ñ▐ñ╣íú
  65.  
  66.       > nick: plum_Zzz ñ¬ñΣñ╣ñ▀ñ┴ñσñªñ╟ñ╣
  67.       > nick: plum_away ñ¬ñ╟ñ½ñ▒ñ╖ñ╞ñ▐ñ╣
  68.  
  69.   * config.plm
  70.     ╕╜║▀ñ╬╝┬╣╘┤─╢¡ñ╬╛≡╩≤ñ≥╔╜╝¿ñ╖ñ▐ñ╣íúñ│ñ╬ÑΓÑ╕Ñσí╝Ñδñ≥┴╚ñ▀╣■ñαñ╚plumñ╧
  71.     ñññ»ñ─ñ½ñ╬Ñ╟í╝Ñ┐ñ≥╔╜╝¿ñ╖ñ╞╜¬╬╗ñ╖ñ▐ñ╣íú
  72.     plumñ¼ñªñ▐ñ»╝┬╣╘ñ╟ñ¡ñ╩ñññ╚ñ¡ñ╧ñ│ñ╬Ñ╟í╝Ñ┐ñ≥╢╡ñ¿ñ╞▓╝ñ╡ññíú
  73.  
  74.   * cron.plm
  75.     ╗╪─Ωñ╖ñ┐╞ⁿ╔╒íó╗■╣∩ñ╦ñ╩ñ├ñ┐ñ╚ñ¡ñ╦Ñ│Ñ▐Ñ≤Ñ╔ñ≥╝┬╣╘ñ╖ñ▐ñ╣íú
  76.  
  77.       > cron: */*/* 00:*:* /usr/local/bin/tar -czvf log.tar.gz log/
  78.       > cron: 1998/01/01 00:*:* echo 'a happy new year' | mail hasegawa
  79.  
  80.   * ctcp.plm
  81.     ÑßÑ├Ñ╗í╝Ñ╕ñ½ñΘCTCPñ≥╝ΦñΩ╜╨ñ╖ñ╞┬╛ñ╬ÑΓÑ╕Ñσí╝Ñδñ╦┼╧ñ╗ñδñΦñªñ╦ñ╖ñ▐ñ╣íú
  82.     CTCPñ≥╗╚ñªÑΓÑ╕Ñσí╝Ñδ(dccget.plm/dccgate.plm/version.plm)ñ≥═°═╤ñ╣ñδ
  83.     ╛∞╣τñ╧╔¼ñ║┴╚ñ▀╣■ñ≤ñ╟▓╝ñ╡ññíú
  84.  
  85.   * dailylog.plm
  86.     ░∞╞ⁿñ┤ñ╚ñ╬ÑφÑ░ñ≥╡¡╧┐ñ╖ñ▐ñ╣íú╡¡╧┐ñ╣ñδñ╬ñ╧ÑßÑ├Ñ╗í╝Ñ╕ñ╩ñ╔ñ╬╔¼═╫ñ╚
  87.     ╗╫ñ∩ñ∞ñδ╛≡╩≤ñ└ñ▒ñ╟ñ╣íú
  88.  
  89.       > dailylog: ~/irc/log/log%y%m%d
  90.       > logheader: %h:%m:%s
  91.       > filemode: 600
  92.  
  93.     dailylogñ╬%yíó%míó%dñ╧ñ╜ñ∞ñ╛ñ∞╟»íó╖εíó╞ⁿñ╦╩╤┤╣ñ╡ñ∞ñ▐ñ╣íú
  94.     logheaderñ╬%híó%míó%sñ╧ñ╜ñ∞ñ╛ñ∞╗■íó╩¼íó╔├ñ╦╩╤┤╣ñ╡ñ∞ñ▐ñ╣íú
  95.  
  96.   * dccgate.plm
  97.     DCCñ╬Ñ╒ÑíÑñÑδñ╬┴≈╝⌡┐«ñ≥├µ╖╤ñ╖ñ▐ñ╣íúÑ╒ÑíÑñÑóѪÑ⌐í╝Ñδñ¼ñóñδ╛∞╣τñ╧íó
  98.     Ñ╒ÑíÑñÑóѪÑ⌐í╝Ñδ╛σñ╟dccgate.plmñ≥┴╚ñ▀╣■ñ≤ñ└plumñ≥╞░ñ½ñ╗ñ╨íó
  99.     Ñ╒ÑíÑñÑóѪÑ⌐í╝Ñδñ╬╞Γ│░ñ╟DCCñ╬Ñ╒ÑíÑñÑδñ╬┴≈╝⌡┐«ñ¼ñ╟ñ¡ñ▐ñ╣íú
  100.  
  101.   * dccget.plm
  102.     DCCñ╬Ñ╒ÑíÑñÑδñ╬┴≈┐«ñ≥╝½╞░┼¬ñ╦╝⌡┐«ñ╖ñ▐ñ╣íú
  103.     ╞▒ñ╕Ñ╒ÑíÑñÑδ╠╛ñ¼ñ╣ñ╟ñ╦┬╕║▀ñ╣ñδ╛∞╣τñ╧╩╠ñ╬Ñ╒ÑíÑñÑδ╠╛ñ╟╩▌┬╕ñ╖ñ▐ñ╣íú
  104.  
  105.       > tmpdir: ~/tmp
  106.       > filemode: 600
  107.       > dirmode: 700
  108.  
  109.   * dynaload.plm
  110.     ÑΓÑ╕Ñσí╝Ñδñ¼╩╤╣╣ñ╡ñ∞ñ┐ñ╚ñ¡ñ╦╝½╞░┼¬ñ╦╞╔ñ▀╣■ñ▀─╛ñ╖ñ▐ñ╣íú
  111.     ÑΓÑ╕Ñσí╝Ñδ╞Γñ╬┤╪┐⌠ñ╧░∞├╢┴┤ñ╞╛├ñ╡ñ∞ñ▐ñ╣ñ¼íó╩╤┐⌠ñ╧╞╔ñ▀╣■ñ▀─╛ñ╣
  112.     ┴░ñ╬├═ñ¼ñ╜ñ╬ñ▐ñ▐╗─ñΩñ▐ñ╣íú
  113.  
  114.   * fastoper.plm
  115.     Ñ┴ÑπÑ≤Ñ═Ñδñ╦JOINñ╖ñ╞ñ¡ñ┐┐═ñ≥ѬÑ┌Ñ∞í╝Ñ┐ñ╦ñ╖ñ▐ñ╣íú
  116.  
  117.       > fastoper: pupu*!pupu@*.eds.ecip.nagoya-u.ac.jp
  118.       > fastoper: cookie*!cookie@*.eds.ecip.nagoya-u.ac.jp
  119.  
  120.   * fork.plm
  121.     plumñ≥Ñ╨Ñ├Ñ»Ñ░ÑΘѪÑ≤Ñ╔ñ╟╝┬╣╘ñ╖ñ▐ñ╣íú
  122.  
  123.   * invite.plm
  124.     INVITEñ╡ñ∞ñ┐ñ╚ñ¡ñ╦ñ╜ñ╬Ñ┴ÑπÑ≤Ñ═Ñδñ╦JOINñ╖ñ▐ñ╣íú
  125.     Ñ╫ÑφÑ╤Ñ╞Ñúñ╧Ñ┴ÑπÑ≤Ñ═Ñδ╠╛ñ╚ѵí╝Ñ╢í╝╠╛ñ╬ñ╔ñ┴ñΘñ╟ñΓ╗╪─Ωñ╟ñ¡ñ▐ñ╣íú
  126.  
  127.       > invite: #ñ█ñ▓ñ█ñ▓
  128.       > invite: pupu*!pupu@*.eds.ecip.nagoya-u.ac.jp
  129.  
  130.   * main.plm
  131.     IRCñ╦╛∩├≤ñ╣ñδñ╬ñ╦╔¼═╫ñ╩╜Φ═²ñ≥╣╘ñññ▐ñ╣íú
  132.     ñ│ñ╬ÑΓÑ╕Ñσí╝Ñδñ└ñ▒ñ╧║╟─π╕┬┴╚ñ▀╣■ñ≤ñ╟▓╝ñ╡ññíú
  133.  
  134.   * makeoper.plm
  135.     Ñ┴ÑπÑ≤Ñ═Ñδñ╦╝½╩¼ñ└ñ▒ñ╖ñ½ñññ╩ñññ╬ñ╦ѬÑ┌Ñ∞í╝Ñ┐ñ╟ñ╧ñ╩ññ╛∞╣τñ╦íó
  136.     ░∞┼┘Ñ┴ÑπÑ≤Ñ═Ñδñ≥╚┤ñ▒ñ╞╞■ñΩñ╩ñ¬ñ╣ñ│ñ╚ñ╦ñΦñ├ñ╞ѬÑ┌Ñ∞í╝Ñ┐ñ╦ñ╩ñΩñ▐ñ╣íú
  137.  
  138.   * noisybot.plm
  139.     ╞├─Ωñ╬ÑßÑ├Ñ╗í╝Ñ╕ñ≥╝⌡┐«ñ╖ñ┐ñ╚ñ¡ñ╦íó┬╨▒■ñ╣ñδÑßÑ├Ñ╗í╝Ñ╕ñ≥╩╓ñ╖ñ▐ñ╣íú
  140.     ╠╛┴░ñ╬─╠ñΩñªñδñ╡ñññ╬ñ╟ñóñ▐ñΩñ¬ñ╣ñ╣ñßñ╖ñ▐ñ╗ñ≤íú
  141.  
  142.       > noisybot: ñ╫ñΘñα ñ╧í┴ññí∙
  143.       > noisybot: ñ▄ñ├ñ╚ ñ▄ñ├ñ╚ñ╕ñπñ╩ñññΓñ≤
  144.  
  145.   * show.plm
  146.     ╗╪─Ωñ╖ñ┐╝░ñ≥╝┬╣╘ñ╖ñ╞íóñ╜ñ╬╖δ▓╠ñ≥NOTICEñ╟╩╓ñ╖ñ▐ñ╣íúñ│ñ╬ÑΓÑ╕Ñσí╝Ñδñ≥
  147.     ┴╚ñ▀╣■ñαñ╚íóSHOWñ╚ñññªÑ│Ñ▐Ñ≤Ñ╔ñ¼╗╚ñ¿ñδñΦñªñ╦ñ╩ñΩñ▐ñ╣íú
  148.     ñ│ñ∞ñ╧íó/SHOW 1+2 ñ╬ñΦñªñ╦╗╚ñññ▐ñ╣íú
  149.     ┤≡╦▄┼¬ñ╦Ñ╟Ñ╨Ñ├Ñ░═╤ñ╩ñ╬ñ╟╔ß─╠ñ╧┴╚ñ▀╣■ñα╔¼═╫ñ╧ñóñΩñ▐ñ╗ñ≤íú
  150.  
  151.   * taillog.plm
  152.     Ñ»ÑΘÑñÑóÑ≤Ñ╚ñ≥└▄┬│ñ╣ñδ─╛┴░ñ╬ÑφÑ░ñ≥╔╜╝¿ñ╖ñ▐ñ╣íú
  153.  
  154.       > taillog: 50
  155.       > logheader: %h:%m:%s
  156.  
  157.     logheaderñ╬%híó%míó%sñ╧ñ╜ñ∞ñ╛ñ∞╗■íó╩¼íó╔├ñ╦╩╤┤╣ñ╡ñ∞ñ▐ñ╣íú
  158.  
  159.   * usermode.plm
  160.     IRCÑ╡í╝Ñ╨ñ╦└▄┬│ñ╖ñ┐ñ╚ñ¡ñ╦ѵí╝Ñ╢í╝ÑΓí╝Ñ╔ñ≥└▀─Ωñ╖ñ▐ñ╣íú
  161.  
  162.       > usermode: +i
  163.  
  164.   * version.plm
  165.     CTCP VERSIONñ≥╝⌡ñ▒╝Φñ├ñ┐ñ╚ñ¡ñ╦íóplumñ╚perlñ╬Ñ╨í╝Ñ╕ÑτÑ≤ñ≥╩╓ñ╖ñ▐ñ╣íú
  166.  
  167.   * waitoper.plm
  168.     Ñ┴ÑπÑ≤Ñ═Ñδñ╦JOINñ╖ñ╞ñ¡ñ┐┐═ñ≥ѬÑ┌Ñ∞í╝Ñ┐ñ╦ñ╖ñ▐ñ╣íú
  169.  
  170.       > waitmax: 20
  171.       > waitoper: pupu*!pupu@*.eds.ecip.nagoya-u.ac.jp
  172.       > waitoper: cookie*!cookie@*.eds.ecip.nagoya-u.ac.jp
  173.  
  174.   * yuurii.plm
  175.     pirc bot ñµí╝ñΩñúñ╬Ñ¿Ñ▀ÑσÑ∞í╝Ñ╖ÑτÑ≤ñ≥╣╘ñññ▐ñ╣íúñµí╝ñΩñú═╤ñ╬
  176.     .pluginrcñ╚plug-inñ¼ñ╜ñ╬ñ▐ñ▐╗╚ñ¿ñ▐ñ╣íú╕╜║▀Ñ¿Ñ▀ÑσÑ∞í╝Ñ╚ñ╖ñ╞ñññδñ╬ñ╧
  177.     yuurii 1.6.2ñ╟ñ╣íú
  178.  
  179.       > yuurii: .pluginrc
  180.  
  181.  
  182. 4. ÑΓÑ╕Ñσí╝Ñδñ╬║εñΩ╩²
  183.  
  184.   plumñ≥ñ╖ñ╨ñΘñ»╗╚ñ├ñ╞ñññδñ╚íó╝½╩¼ñ╟ñΓÑΓÑ╕Ñσí╝Ñδñ¼║εñΩñ┐ñ»ñ╩ñδñ½ñΓñ╖ñ∞
  185.   ñ▐ñ╗ñ≤íú
  186.  
  187.   plumñ╦╔╒┬░ñ╖ñ╞ñññδÑΓÑ╕Ñσí╝Ñδñ≥╕½ñδñ╚ñ∩ñ½ñδñ╚╗╫ñññ▐ñ╣ñ¼íóplumñ╬
  188.   ÑΓÑ╕Ñσí╝Ñδñ╦ñ╧ñóñδ╖Φñ▐ñ├ñ┐╜±╝░ñ¼ñóñΩñ▐ñ╣íúñ╜ñ∞ñ╧íó
  189.  
  190.     package sample;
  191.     $_ = 'sample';
  192.  
  193.   ñ╚ñññªñΓñ╬ñ╟ñ╣íúñ│ñ∞ñ╧plumñ╦sampleÑ╤Ñ├Ñ▒í╝Ñ╕ñ≥╗╚═╤ñ╣ñδñ╚ñññªñ│ñ╚ñ≥
  194.   └δ╕└ñ╣ñδñΓñ╬ñ╟ñ╣íúsampleñ╬╔⌠╩¼ñ╧ÑΓÑ╕Ñσí╝Ñδñ┤ñ╚ñ╦╞╔ñ▀ñ½ñ¿ñ╞▓╝ñ╡ññíú
  195.  
  196.   ║╟─π╕┬íóñ│ñ╬2╣╘ñ¼ñóñ∞ñ╨plumñ╬ÑΓÑ╕Ñσí╝Ñδñ╚ñ╖ñ╞╟º╝▒ñ╡ñ∞ñ▐ñ╣íú
  197.   ╩╤┐⌠ñ╬╜Θ┤ⁿ▓╜ñ╩ñ╔ñ╧╔¼ñ║ñ│ñ╬2╣╘ñ╬┤╓ñ╟╣╘ñªñΦñªñ╦ñ╖ñ╞▓╝ñ╡ññíú
  198.  
  199.   plumñ╬ÑΓÑ╕Ñσí╝Ñδñ╧┤≡╦▄┼¬ñ╦Ñ╡Ñ╓Ñδí╝Ñ┴Ñ≤ñ╬╜╕╣τñ╟ñ╣íúñ│ñ∞ñΘñ╬Ñ╡Ñ╓Ñδí╝
  200.   Ñ┴Ñ≤ñ╦ñ╧ñ╜ñ∞ñ╛ñ∞╖Φñ▐ñ├ñ┐╠╛┴░ñ¼╔╒ñññ╞ñ¬ñΩíóplumñ¼▓┐ñ½╜Φ═²ñ≥╣╘ñªñ╚ñ¡
  201.   ñ╦íóñ╜ñ∞ñ╦▒■ñ╕ñ┐Ñ╡Ñ╓Ñδí╝Ñ┴Ñ≤ñ¼╝┬╣╘ñ╡ñ∞ñ▐ñ╣íú
  202.  
  203.   ñ╜ñ∞ñ╛ñ∞ñ╬ÑΓÑ╕Ñσí╝Ñδñ╟ñ╧╔¼═╫ñ╦▒■ñ╕ñ╞Ñ╡Ñ╓Ñδí╝Ñ┴Ñ≤ñ≥║εñ├ñ╞ñ¬ñ▒ñ╨íó
  204.   plumñ¼╝½╞░┼¬ñ╦ñ╜ñ∞ñΘñ≥╝┬╣╘ñ╖ñ╞ñ»ñ∞ñ▐ñ╣íú
  205.  
  206.   plumñ¼╝┬╣╘ñ╣ñδÑ╡Ñ╓Ñδí╝Ñ┴Ñ≤ñ╦ñ╧░╩▓╝ñ╬ñΦñªñ╩ñΓñ╬ñ¼ñóñΩñ▐ñ╣íú
  207.  
  208.     server_open   Ñ╡í╝Ñ╨ñ╪ñ╬Ñ∞Ñ╕Ñ╣Ñ╚Ñ∞í╝Ñ╖ÑτÑ≤ñ¼┤░╬╗ñ╖ñ┐ñ╚ñ¡íú
  209.                   (Ñ╡í╝Ñ╨ñ╪PASSíóNICKíóUSERñ≥┴≈ñΩíó001ñ≥╝⌡┐«ñ╖ñ┐ñ╚ñ¡)
  210.     server_close  Ñ╡í╝Ñ╨ñ╚ñ╬└▄┬│ñ¼└┌├╟ñ╡ñ∞ñ┐ñ╚ñ¡íú
  211.     client_open   Ñ»ÑΘÑñÑóÑ≤Ñ╚ñ╬Ñ∞Ñ╕Ñ╣Ñ╚Ñ∞í╝Ñ╖ÑτÑ≤ñ¼┤░╬╗ñ╖ñ┐ñ╚ñ¡íú
  212.                   (Ñ»ÑΘÑñÑóÑ≤Ñ╚ñ½ñΘ└╡ñ╖ññPASSíóNICKíóUSERñ¼┴≈ñΘñ∞ñ╞ñ¡ñ┐ñ╚ñ¡)
  213.     client_close  Ñ»ÑΘÑñÑóÑ≤Ñ╚ñ╚ñ╬└▄┬│ñ¼└┌├╟ñ╡ñ∞ñ┐ñ╚ñ¡íú
  214.     main_loop     ÑßÑñÑ≤Ñδí╝Ñ╫ñ≥╜Φ═²ñ╣ñδñ╚ñ¡íú
  215.     ss_????       Ñ╡í╝Ñ╨ñ½ñΘñ╬│╞Ñ│Ñ▐Ñ≤Ñ╔ñ╬╞■╬╧ñ¼ñóñ├ñ┐ñ╚ñ¡íú
  216.     sp_????       Ñ╡í╝Ñ╨ñ╪│╞Ñ│Ñ▐Ñ≤Ñ╔ñ≥╜╨╬╧ñ╣ñδñ╚ñ¡íú
  217.     cs_????       Ñ»ÑΘÑñÑóÑ≤Ñ╚ñ½ñΘ│╞Ñ│Ñ▐Ñ≤Ñ╔ñ╬╞■╬╧ñ¼ñóñ├ñ┐ñ╚ñ¡íú
  218.     cp_????       Ñ»ÑΘÑñÑóÑ≤Ñ╚ñ╪│╞Ñ│Ñ▐Ñ≤Ñ╔ñ≥╜╨╬╧ñ╣ñδñ╚ñ¡íú
  219.  
  220.   ctcp.plmñ≥ÑñÑ≤Ñ▌í╝Ñ╚ñ╣ñδñ╚░╩▓╝ñ╬Ñ╡Ñ╓Ñδí╝Ñ┴Ñ≤ñΓ╝┬╣╘ñ╡ñ∞ñ▐ñ╣íú
  221.  
  222.     xss_????      Ñ╡í╝Ñ╨ñ½ñΘ│╞CTCPñ╬╞■╬╧ñ¼ñóñ├ñ┐ñ╚ñ¡íú
  223.     xsp_????      Ñ╡í╝Ñ╨ñ╪│╞CTCPñ≥╜╨╬╧ñ╣ñδñ╚ñ¡íú
  224.     xcs_????      Ñ»ÑΘÑñÑóÑ≤Ñ╚ñ½ñΘ│╞CTCPñ╬╞■╬╧ñ¼ñóñ├ñ┐ñ╚ñ¡íú
  225.     xcp_????      Ñ»ÑΘÑñÑóÑ≤Ñ╚ñ╪│╞CTCPñ≥╜╨╬╧ñ╣ñδñ╚ñ¡íú
  226.  
  227.   ÑΓÑ╕Ñσí╝Ñδñ╦Ñ╡Ñ╓Ñδí╝Ñ┴Ñ≤ñ¼1ñ─ñΓñ╩ññ(╩╤┐⌠ñ╬╜Θ┤ⁿ▓╜ñ└ñ▒ñ╬ñΦñªñ╩)╛∞╣τñ╧
  228.   Ñ╤Ñ├Ñ▒í╝Ñ╕╠╛ñ╦mainñ≥╗╪─Ωñ╖ñ╞ñΓñ½ñ▐ñññ▐ñ╗ñ≤íú(ñ╔ñ┴ñΘñ½ñ╚╕└ñªñ╚íóñ╜ñªñ╖ñ┐
  229.   ╩²ñ¼ñññññ╟ñ╣)
  230.  
  231.   ñ│ñ∞ñΘñ╬Ñ╡Ñ╓Ñδí╝Ñ┴Ñ≤ñ╦┼╧ñ╡ñ∞ñδ╩╤┐⌠ñ╧░╩▓╝ñ╬ñΦñªñ╦ñ╩ñ├ñ╞ñññ▐ñ╣íú
  232.  
  233.     server_open(SERVERNO)
  234.     server_close(SERVERNO)
  235.     client_open(CLIENTNO)
  236.     client_close(CLIENTNO)
  237.     main_loop(USERNO)
  238.     ss_????(SERVERNO, PREFIX, COMMAND, PARAMS)
  239.     sp_????(SERVERNO, PREFIX, COMMAND, PARAMS)
  240.     cs_????(CLIENTNO, PREFIX, COMMAND, PARAMS)
  241.     cp_????(CLIENTNO, PREFIX, COMMAND, PARAMS)
  242.     xss_????(SERVERNO, PREFIX, CTCP, PARAMS)
  243.     xsp_????(SERVERNO, PREFIX, CTCP, PARAMS)
  244.     xcs_????(CLIENTNO, PREFIX, CTCP, PARAMS)
  245.     xcp_????(CLIENTNO, PREFIX, CTCP, PARAMS)
  246.  
  247.     SERVERNO  Ñ╡í╝Ñ╨ñ╬Ñ╒ÑíÑñÑδ╚╓╣µ
  248.     CLIENTNO  Ñ»ÑΘÑñÑóÑ≤Ñ╚ñ╬Ñ╒ÑíÑñÑδ╚╓╣µ
  249.     USERNO    Ñµí╝Ñ╢╚╓╣µ
  250.     PREFIX    IRCÑ╫ÑφÑ╚Ñ│Ñδñ╬Ñ╫Ñ∞Ñ╒ÑúÑ»Ñ╣(nick!user@host.domainñ╬╔⌠╩¼)
  251.     COMMAND   IRCÑ╫ÑφÑ╚Ñ│Ñδñ╬Ñ│Ñ▐Ñ≤Ñ╔(JOIN/PART/PRIVMSGñ╩ñ╔)
  252.     CTCP      CTCPÑ│Ñ▐Ñ≤Ñ╔(PING/FINGER/VERSIONñ╩ñ╔)
  253.     PARAMS    IRCÑ╫ÑφÑ╚Ñ│Ñδñ╬╗─ñΩñ╬╔⌠╩¼(ñ│ñ∞ñ└ñ▒ñ╧╟█╬≤ñ╟ñ╣)
  254.  
  255.   ñ│ñ╬ñªñ┴íó║╟╕σñ╬8ñ─ñ╬Ñ╡Ñ╓Ñδí╝Ñ┴Ñ≤ñ╧╠ßñΩ├═ñ╚ñ╖ñ╞┼╧ñ╡ñ∞ñ┐IRCÑ╫ÑφÑ╚Ñ│Ñδñ≥
  256.   ╩╓ñ╖ñ╞▓╝ñ╡ññ(PREFIX, COMMAND/CTCP, PARAMSñ└ñ▒ñ╟ñ╣íúSERVERNO/CLIENTNO
  257.   ñ╧ñññΩñ▐ñ╗ñ≤)íúñ│ñ╬ñ╚ñ¡PREFIXñ╚PARAMSñ╧╩╤╣╣ñ╖ñ╞ñΓñ½ñ▐ñññ▐ñ╗ñ≤íú
  258.  
  259.  
  260. 5. Ñ╡Ñ≤Ñ╫ÑδÑΓÑ╕Ñσí╝Ñδ
  261.  
  262.   └Γ╠└ñ└ñ▒ñ╟ñ╧ñ∩ñ½ñΩñ╦ñ»ñññ╚╗╫ñªñ╬ñ╟íóñññ»ñ─ñ½Ñ╡Ñ≤Ñ╫ÑδÑΓÑ╕Ñσí╝Ñδñ≥
  263.   ╜±ñññ╞└Γ╠└ñ╖ñ▐ñ╣íú
  264.  
  265.       # dailyfork.plm
  266.      1: package dailyfork;
  267.      2: $day = (localtime(time))[3];
  268.      3: $_ = 'dailyfork';
  269.      4: 
  270.      5: sub main_loop {
  271.      6:   local($userno) = @_;
  272.      7:   local($today) = (localtime(time))[3];
  273.      8:   if ($day != $today) {
  274.      9:     $day = $today;
  275.     10:     exit if fork;
  276.     11:   }
  277.     12: }
  278.  
  279.   ñ│ñ∞ñ╧1╞ⁿñ┤ñ╚ñ╦forkñ╣ñδÑΓÑ╕Ñσí╝Ñδñ╟ñ╣íú║╟╜Θñ╦╞╔ñ▀╣■ñ▐ñ∞ñ┐ñ╚ñ¡ñ╦
  280.   1í┴3╣╘╠▄ñ¼╝┬╣╘ñ╡ñ∞ñ▐ñ╣íúñ│ñ╬ñªñ┴1╣╘╠▄ñ╚3╣╘╠▄ñ╧╖Φñ▐ñΩ╩╕╢τñ╟íó
  281.   2╣╘╠▄ñ╟╕╜║▀ñ╬╞ⁿ╔╒ñ≥$dayñ╦└▀─Ωñ╖ñ╞ñññ▐ñ╣íú
  282.  
  283.   sub main_loopñ╧plumñ¼ÑßÑñÑ≤Ñδí╝Ñ╫ñ≥1▓≤╜Φ═²ñ╣ñδñ┐ñ╙ñ╦1▓≤╝┬╣╘ñ╡ñ∞ñ▐ñ╣íú
  284.   7╣╘╠▄ñ╟╕╜║▀ñ╬╞ⁿ╔╒ñ≥$todayñ╦└▀─Ωñ╖íó8╣╘╠▄ñ╟░╩┴░ñ╦└▀─Ωñ╖ñ┐$dayñ╬├═ñ╚
  285.   ╚µ│╙ñ╖íóñ╜ñ∞ñ¼░πñª├═ñ╩ñΘ(╝íñ╬╞ⁿñ╦ñ╩ñ├ñ┐ñΘ)íóforkñ╖ñ╞┐╞Ñ╫ÑφÑ╗Ñ╣ñ╧
  286.   ╜¬╬╗ñ╖ñ▐ñ╣íú
  287.  
  288.       # autokick.plm
  289.      1: package autokick;
  290.      2: $_ = 'autokick';
  291.      3: 
  292.      4: sub ss_join {
  293.      5:   local($serverno, $prefix, $cmd, $chan) = @_;
  294.      6:   local($nick, $user, $host) = &'prefix($prefix);
  295.      7:   local($regex) = &'regex('*!*@*.jp');
  296.      8:   if (&'exist($'nameslist{$'userno[$serverno], $chan},
  297.      9:               "\@$'nick[$serverno]")) {
  298.     10:     if ($prefix !~ /$regex/i) {
  299.     11:       &'s_print($serverno, '', 'KICK', $chan, $nick);
  300.     12:     }
  301.     13:   }
  302.     14:   return ($prefix, $cmd, $chan);
  303.     15: }
  304.  
  305.   ñ│ñ╬ÑΓÑ╕Ñσí╝Ñδñ╧Ñ┴ÑπÑ≤Ñ═Ñδñ╦JOINñ╖ñ╞ñ¡ñ┐┐═ñ¼*!*@*.jpñ╦Ñ▐Ñ├Ñ┴
  306.   ñ╖ñ╩ñ½ñ├ñ┐ñ╚ñ¡ñ╦íóñ╜ñ╬┐═ñ≥Ñ¡Ñ├Ñ»ñ╣ñδÑΓÑ╕Ñσí╝Ñδñ╟ñ╣íú
  307.  
  308.   ss_joinñ╧Ñ╡í╝Ñ╨ñ½ñΘJOINñ¼┴≈ñΘñ∞ñ╞ñ¡ñ┐ñ╚ñ¡ñ╦╝┬╣╘ñ╡ñ∞ñ▐ñ╣íú
  309.   6╣╘╠▄ñ╧nick!user@hostnameñ≥nickíóuseríóhostñ╦╩¼▓≥ñ╖ñ▐ñ╣
  310.   7╣╘╠▄ñ╧*!*@*.jpñ╦┬╨▒■ñ╣ñδ└╡╡¼╔╜╕╜ñ≥╝Φ╞└ñ╖ñ▐ñ╣íúñ│ñ╬╛∞╣τñ╧
  311.   $regexñ╧.*\!.*\@.*\.jpñ╦ñ╩ñΩñ▐ñ╣íú
  312.   8íó9╣╘╠▄ñ╧╝½╩¼ñ¼ñ╜ñ╬Ñ┴ÑπÑ≤Ñ═Ñδñ╟ñ╩ñδñ╚ñ≥╗²ñ├ñ╞ñññδñ½ñ╔ñªñ½│╬╟ºñ╖ñ▐ñ╣íú
  313.   10╣╘╠▄ñ╟Ñ╤Ñ┐í╝Ñ≤Ñ▐Ñ├Ñ┴ñ≥╣╘ññíó11╣╘╠▄ñ╟Ñ╡í╝Ñ╨ñ╦KICKñ≥┴≈ñΩñ▐ñ╣íú
  314.   14╣╘╠▄ñ╟╠ßñΩ├═ñ≥╩╓ñ╖ñ▐ñ╣íúñ│ñ╬ÑΓÑ╕Ñσí╝Ñδñ╟ñ╧╝⌡ñ▒╝Φñ├ñ┐IRCÑ╫ÑφÑ╚Ñ│Ñδñ≥
  315.   ╩╤╣╣ñ╗ñ║ñ╦ñ╜ñ╬ñ▐ñ▐╩╓ñ╖ñ╞ñññ▐ñ╣íú
  316.  
  317.