home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.madoka.org
/
2014.12.ftp.madoka.org.tar
/
ftp.madoka.org
/
pub
/
plum
/
1.x
/
plum10b8.lzh
/
plum10b8
/
module.doc
< prev
next >
Wrap
Text File
|
1997-06-25
|
10KB
|
291 lines
plum module manual
1. plumñ╬ÑΓÑ╕Ñσí╝Ñδ
plumñ╧ñ╜ñ╬ñ█ñ╚ñ≤ñ╔ñ╬╡í╟╜ñ≥ÑΓÑ╕Ñσí╝Ñδñ╦ñΦñ├ñ╞╝┬╕╜ñ╖ñ╞ñññ▐ñ╣íú
╔ß─╠ñ╦╛∩├≤ñ╣ñδñ╬ñ╦╔¼═╫ñ╩ÑΓÑ╕Ñσí╝Ñδñ╧ñóñΘñ½ñ╕ñß═╤░╒ñ╡ñ∞ñ╞ñññδñ╬ñ╟íó
╔¼═╫ñ╩╡í╟╜ñ≥╗²ñ─ÑΓÑ╕Ñσí╝Ñδñ≥┴╚ñ▀╣■ñ≤ñ╟╗╚ñ├ñ╞▓╝ñ╡ññíú
ñ▐ñ┐íóplumñ╬ÑΓÑ╕Ñσí╝Ñδñ╧╚µ│╙┼¬┤╩├▒ñ╩╣╜┬ññ╦ñ╩ñ├ñ╞ñññδñ╬ñ╟íó
╝½╩¼ñ╟┐╖ñ╖ññ╡í╟╜ñ¼═▀ñ╖ñ»ñ╩ñ├ñ┐ñ╚ñ¡ñ╦ñΓ╝½║εñ╬ÑΓÑ╕Ñσí╝Ñδñ≥┤╩├▒ñ╦
─╔▓├ñ╣ñδñ│ñ╚ñ¼ñ╟ñ¡ñ▐ñ╣íú
2. ÑΓÑ╕Ñσí╝Ñδ░∞═≈
╕╜║▀plumñ╦╔╒┬░ñ╖ñ╞ñññδÑΓÑ╕Ñσí╝Ñδñ╬░∞═≈ñ╟ñ╣íú
* autojoin.plm Ñ┴ÑπÑ≤Ñ═Ñδñ╦╝½╞░┼¬ñ╦JOINñ╣ñδ
* autoload.plm .plumrcñ¼╩╤╣╣ñ╡ñ∞ñ┐ñ╚ñ¡ñ╦╞╔ñ▀╣■ñ▀─╛ñ╣
* awaynick.plm Ñ╦Ñ├Ñ»Ñ═í╝Ñαñ╦╣τñ∩ñ╗ñ╞AWAYñ≥└▀─Ωñ╣ñδ
* config.plm ╕╜║▀ñ╬└▀─Ωñ≥╔╜╝¿ñ╣ñδ
* ctcp.plm CTCPÑßÑ├Ñ╗í╝Ñ╕ñ≥╜Φ═²ñ╣ñδ
* dailylog.plm 1╞ⁿñ┤ñ╚ñ╬ÑφÑ░ñ≥ñ╚ñδ
* dccgate.plm DCC SEND/GETñ≥├µ╖╤ñ╣ñδ
* dccget.plm DCC SENDñ≥╝½╞░┼¬ñ╦╝⌡┐«ñ╣ñδ
* dynaload.plm ÑΓÑ╕Ñσí╝Ñδñ¼╩╤╣╣ñ╡ñ∞ñ┐ñ╚ñ¡ñ╦╞╔ñ▀╣■ñ▀─╛ñ╣
* fork.plm ╡»╞░╗■ñ╦Ñ╨Ñ├Ñ»Ñ░ÑΘѪÑ≤Ñ╔ñ╟╝┬╣╘ñ╣ñδ
* invite.plm INVITEñ╡ñ∞ñ┐ñ╚ñ¡ñ╦JOINñ╣ñδ
* main.plm IRCñ╦╛∩├≤ñ╣ñδ
* newoper.plm ñ╩ñδñ╚ñ≥╟█ñδ
* noisybot.plm ╞├─Ωñ╬ÑßÑ├Ñ╗í╝Ñ╕ñ╦╚┐▒■ñ╖ñ╞ÑßÑ├Ñ╗í╝Ñ╕ñ≥┴≈ñδ
* show.plm ╞■╬╧ñ╖ñ┐╝░ñ≥╔╛▓┴ñ╣ñδ
* taillog.plm ─╛┴░ñ╬ÑφÑ░ñ≥╔╜╝¿ñ╣ñδ
* version.plm CTCPÑ╨í╝Ñ╕ÑτÑ≤ñ≥╩╓ñ╣
* yuurii.plm ñµí╝ñΩñúñ╬Ñ¿Ñ▀ÑσÑ∞í╝Ñ╖ÑτÑ≤
3. ÑΓÑ╕Ñσí╝Ñδñ╬▓≥└Γ
plumñ╦╔╒┬░ñ╖ñ╞ñññδÑΓÑ╕Ñσí╝Ñδñ╬▓≥└Γñ╚íó.plumrcñ╦╗╪─Ωñ╣ñδÑ╫ÑφÑ╤Ñ╞Ñúñ╬
▓≥└Γñ╟ñ╣íú
* autojoin.plm
Ñ╡í╝Ñ╨ñ╦└▄┬│ñ╖ñ┐ñ╚ñ¡ñ╦╗╪─Ωñ╖ñ┐Ñ┴ÑπÑ≤Ñ═Ñδñ╦╝½╞░┼¬ñ╦JOINñ╖ñ▐ñ╣íú
ñ▐ñ┐íóKICKñ╡ñ∞ñ╞ñΓÑ┴ÑπÑ≤Ñ═Ñδñ╦JOINñ╖ñ▐ñ╣íú
> channel: #ñ█ñ¿ñ█ñ¿
> channel: #ñ╤ñΦñ╤ñΦ:*.jp
> channel: %ñ▐ñ╦ñτñ▐ñ╦ñτ
* autoload.plm
.plumrcñ¼╩╤╣╣ñ╡ñ∞ñ┐ñ╚ñ¡ñ╦íó╝½╞░┼¬ñ╦╞╔ñ▀╣■ñ▀─╛ñ╖ñ▐ñ╣íú
ñ┐ñ└ñ╖plumñ╬╛⌡┬╓ñ≥╩╤╣╣ñ╣ñδñ∩ñ▒ñ╟ñ╧ñ╩ñññ╬ñ╟├φ░╒ñ╖ñ╞▓╝ñ╡ññíú
(client:ñ╬Ñ▌í╝Ñ╚╚╓╣µñ≥╩╤ñ¿ñ┐ñΩñ╣ñδñ╚╕┼ññÑ▌í╝Ñ╚ñ≥│½ñ¡ñ├ñ╤ñ╩ñ╖ñ╦ñ╖ñ▐ñ╣)
* awaynick.plm
Ñ╦Ñ├Ñ»Ñ═í╝Ñαñ≥╩╤╣╣ñ╖ñ┐ñ╚ñ¡ñ╦íóñ╜ñ∞ñ╦┬╨▒■ñ╖ñ┐AWAYñ≥└▀─Ωñ╖ñ▐ñ╣íú
└▀─Ωñ╡ñ∞ñ╞ñññ╩ññÑ╦Ñ├Ñ»Ñ═í╝Ñαñ╦╩╤╣╣ñ╖ñ┐ñ╚ñ¡ñ╧AWAYñ≥╝ΦñΩ╛├ñ╖ñ▐ñ╣íú
> nick: plum_Zzz ñ¬ñΣñ╣ñ▀ñ┴ñσñªñ╟ñ╣
> nick: plum_away ñ¬ñ╟ñ½ñ▒ñ╖ñ╞ñ▐ñ╣
* config.plm
╕╜║▀ñ╬╝┬╣╘┤─╢¡ñ╬╛≡╩≤ñ≥╔╜╝¿ñ╖ñ▐ñ╣íúñ│ñ╬ÑΓÑ╕Ñσí╝Ñδñ≥┴╚ñ▀╣■ñαñ╚plumñ╧
ñññ»ñ─ñ½ñ╬Ñ╟í╝Ñ┐ñ≥╔╜╝¿ñ╖ñ╞╜¬╬╗ñ╖ñ▐ñ╣íú
plumñ¼ñªñ▐ñ»╝┬╣╘ñ╟ñ¡ñ╩ñññ╚ñ¡ñ╧ñ│ñ╬Ñ╟í╝Ñ┐ñ≥╢╡ñ¿ñ╞▓╝ñ╡ññíú
* ctcp.plm
ÑßÑ├Ñ╗í╝Ñ╕ñ½ñΘCTCPñ≥╝ΦñΩ╜╨ñ╖ñ╞┬╛ñ╬ÑΓÑ╕Ñσí╝Ñδñ╦┼╧ñ╗ñδñΦñªñ╦ñ╖ñ▐ñ╣íú
CTCPñ≥╗╚ñªÑΓÑ╕Ñσí╝Ñδ(dccget.plm/dccgate.plm/version.plm)ñ≥═°═╤ñ╣ñδ
╛∞╣τñ╧╔¼ñ║┴╚ñ▀╣■ñ≤ñ╟▓╝ñ╡ññíú
* dailylog.plm
░∞╞ⁿñ┤ñ╚ñ╬ÑφÑ░ñ≥╡¡╧┐ñ╖ñ▐ñ╣íú╡¡╧┐ñ╣ñδñ╬ñ╧ÑßÑ├Ñ╗í╝Ñ╕ñ╩ñ╔ñ╬╔¼═╫ñ╚
╗╫ñ∩ñ∞ñδ╛≡╩≤ñ└ñ▒ñ╟ñ╣íú
> dailylog: ~/irc/log/log%y%m%d
> logheader: %h:%m:%s
> filemode: 600
dailylogñ╬%yíó%míó%dñ╧ñ╜ñ∞ñ╛ñ∞╟»íó╖εíó╞ⁿñ╦╩╤┤╣ñ╡ñ∞ñ▐ñ╣íú
logheaderñ╬%híó%míó%sñ╧ñ╜ñ∞ñ╛ñ∞╗■íó╩¼íó╔├ñ╦╩╤┤╣ñ╡ñ∞ñ▐ñ╣íú
* dccgate.plm
DCCñ╬Ñ╒ÑíÑñÑδñ╬┴≈╝⌡┐«ñ≥├µ╖╤ñ╖ñ▐ñ╣íúÑ╒ÑíÑñÑóѪÑ⌐í╝Ñδñ¼ñóñδ╛∞╣τñ╧íó
Ñ╒ÑíÑñÑóѪÑ⌐í╝Ñδ╛σñ╟dccgate.plmñ≥┴╚ñ▀╣■ñ≤ñ└plumñ≥╞░ñ½ñ╗ñ╨íó
Ñ╒ÑíÑñÑóѪÑ⌐í╝Ñδñ╬╞Γ│░ñ╟DCCñ╬Ñ╒ÑíÑñÑδñ╬┴≈╝⌡┐«ñ¼ñ╟ñ¡ñ▐ñ╣íú
* dccget.plm
DCCñ╬Ñ╒ÑíÑñÑδñ╬┴≈┐«ñ≥╝½╞░┼¬ñ╦╝⌡┐«ñ╖ñ▐ñ╣íú
╞▒ñ╕Ñ╒ÑíÑñÑδ╠╛ñ¼ñ╣ñ╟ñ╦┬╕║▀ñ╣ñδ╛∞╣τñ╧╩╠ñ╬Ñ╒ÑíÑñÑδ╠╛ñ╟╩▌┬╕ñ╖ñ▐ñ╣íú
> dccget: ~/tmp
> filemode: 600
> dirmode: 700
* dynaload.plm
ÑΓÑ╕Ñσí╝Ñδñ¼╩╤╣╣ñ╡ñ∞ñ┐ñ╚ñ¡ñ╦╝½╞░┼¬ñ╦╞╔ñ▀╣■ñ▀─╛ñ╖ñ▐ñ╣íú
ÑΓÑ╕Ñσí╝Ñδ╞Γñ╬░∞├╢┤╪┐⌠ñ╧┴┤ñ╞╛├ñ╡ñ∞ñ▐ñ╣ñ¼íó╩╤┐⌠ñ╧╞╔ñ▀╣■ñ▀─╛ñ╣
┴░ñ╬├═ñ¼ñ╜ñ╬ñ▐ñ▐╗─ñΩñ▐ñ╣íú
* fork.plm
plumñ≥Ñ╨Ñ├Ñ»Ñ░ÑΘѪÑ≤Ñ╔ñ╟╝┬╣╘ñ╖ñ▐ñ╣íú
* invite.plm
INVITEñ╡ñ∞ñ┐ñ╚ñ¡ñ╦ñ╜ñ╬Ñ┴ÑπÑ≤Ñ═Ñδñ╦JOINñ╖ñ▐ñ╣íú
Ñ╫ÑφÑ╤Ñ╞Ñúñ╧Ñ┴ÑπÑ≤Ñ═Ñδ╠╛ñ╚ѵí╝Ñ╢í╝╠╛ñ╬ñ╔ñ┴ñΘñ╟ñΓ╗╪─Ωñ╟ñ¡ñ▐ñ╣íú
> invite: #ñ█ñ▓ñ█ñ▓
> invite: pupu*!pupu@*.eds.ecip.nagoya-u.ac.jp
* main.plm
IRCñ╦╛∩├≤ñ╣ñδñ╬ñ╦╔¼═╫ñ╩╜Φ═²ñ≥╣╘ñññ▐ñ╣íú
ñ│ñ╬ÑΓÑ╕Ñσí╝Ñδñ└ñ▒ñ╧║╟─π╕┬┴╚ñ▀╣■ñ≤ñ╟▓╝ñ╡ññíú
* newoper.plm
Ñ┴ÑπÑ≤Ñ═Ñδñ╦JOINñ╖ñ╞ñ¡ñ┐┐═ñ≥ѬÑ┌Ñ∞í╝Ñ┐í╝ñ╦ñ╖ñ▐ñ╣íú
> newoper: pupu*!pupu@*.eds.ecip.nagoya-u.ac.jp
> newoper: cookie*!cookie@*.eds.ecip.nagoya-u.ac.jp
* noisybot.plm
╞├─Ωñ╬ÑßÑ├Ñ╗í╝Ñ╕ñ≥╝⌡┐«ñ╖ñ┐ñ╚ñ¡ñ╦íó┬╨▒■ñ╣ñδÑßÑ├Ñ╗í╝Ñ╕ñ≥╩╓ñ╖ñ▐ñ╣íú
╠╛┴░ñ╬─╠ñΩñªñδñ╡ñññ╬ñ╟ñóñ▐ñΩñ¬ñ╣ñ╣ñßñ╖ñ▐ñ╗ñ≤íú
> noisybot: ñ╫ñΘñα ñ╧í┴ññí∙
> noisybot: ñ▄ñ├ñ╚ ñ▄ñ├ñ╚ñ╕ñπñ╩ñññΓñ≤
* show.plm
╗╪─Ωñ╖ñ┐╝░ñ≥╝┬╣╘ñ╖ñ╞íóñ╜ñ╬╖δ▓╠ñ≥NOTICEñ╟╩╓ñ╖ñ▐ñ╣íúñ│ñ╬ÑΓÑ╕Ñσí╝Ñδñ≥
┴╚ñ▀╣■ñαñ╚íóSHOWñ╚ñññªÑ│Ñ▐Ñ≤Ñ╔ñ¼╗╚ñ¿ñδñΦñªñ╦ñ╩ñΩñ▐ñ╣íú
ñ│ñ∞ñ╧íó/SHOW 1+2 ñ╬ñΦñªñ╦╗╚ñññ▐ñ╣íú
┤≡╦▄┼¬ñ╦Ñ╟Ñ╨Ñ├Ñ░═╤ñ╩ñ╬ñ╟╔ß─╠ñ╧┴╚ñ▀╣■ñα╔¼═╫ñ╧ñóñΩñ▐ñ╗ñ≤íú
* taillog.plm
Ñ»ÑΘÑñÑóÑ≤Ñ╚ñ≥└▄┬│ñ╣ñδ─╛┴░ñ╬ÑφÑ░ñ≥╔╜╝¿ñ╖ñ▐ñ╣íú
> taillog: 50
> logheader: %h:%m:%s
logheaderñ╬%híó%míó%sñ╧ñ╜ñ∞ñ╛ñ∞╗■íó╩¼íó╔├ñ╦╩╤┤╣ñ╡ñ∞ñ▐ñ╣íú
* version.plm
CTCP VERSIONñ≥╝⌡ñ▒╝Φñ├ñ┐ñ╚ñ¡ñ╦íóplumñ╚perlñ╬Ñ╨í╝Ñ╕ÑτÑ≤ñ≥╩╓ñ╖ñ▐ñ╣íú
* yuurii.plm
pirc bot ñµí╝ñΩñúñ╬Ñ¿Ñ▀ÑσÑ∞í╝Ñ╖ÑτÑ≤ñ≥╣╘ñññ▐ñ╣íúñµí╝ñΩñú═╤ñ╬
.pluginrcñ╚plug-inñ¼ñ╜ñ╬ñ▐ñ▐╗╚ñ¿ñ▐ñ╣íú╕╜║▀Ñ¿Ñ▀ÑσÑ∞í╝Ñ╚ñ╖ñ╞ñññδñ╬ñ╧
yuurii 1.6.2ñ╟ñ╣íú
> yuurii: .pluginrc
4. ÑΓÑ╕Ñσí╝Ñδñ╬║εñΩ╩²
plumñ≥ñ╖ñ╨ñΘñ»╗╚ñ├ñ╞ñññδñ╚íó╝½╩¼ñ╟ñΓÑΓÑ╕Ñσí╝Ñδñ¼║εñΩñ┐ñ»ñ╩ñδñ½ñΓñ╖ñ∞
ñ▐ñ╗ñ≤íú
plumñ╦╔╒┬░ñ╖ñ╞ñññδÑΓÑ╕Ñσí╝Ñδñ≥╕½ñδñ╚ñ∩ñ½ñδñ╚╗╫ñññ▐ñ╣ñ¼íóplumñ╬
ÑΓÑ╕Ñσí╝Ñδñ╦ñ╧ñóñδ╖Φñ▐ñ├ñ┐╜±╝░ñ¼ñóñΩñ▐ñ╣íúñ╜ñ∞ñ╧íó
package sample;
$_ = 'sample';
ñ╚ñññªñΓñ╬ñ╟ñ╣íúñ│ñ∞ñ╧plumñ╦sampleÑ╤Ñ├Ñ▒í╝Ñ╕ñ≥╗╚═╤ñ╣ñδñ╚ñññªñ│ñ╚ñ≥
└δ╕└ñ╣ñδñΓñ╬ñ╟ñ╣íúsampleñ╬╔⌠╩¼ñ╧ÑΓÑ╕Ñσí╝Ñδñ┤ñ╚ñ╦╞╔ñ▀ñ½ñ¿ñ╞▓╝ñ╡ññíú
║╟─π╕┬íóñ│ñ╬2╣╘ñ¼ñóñ∞ñ╨plumñ╬ÑΓÑ╕Ñσí╝Ñδñ╚ñ╖ñ╞╟º╝▒ñ╡ñ∞ñ▐ñ╣íú
╩╤┐⌠ñ╬╜Θ┤ⁿ▓╜ñ╩ñ╔ñ╧╔¼ñ║ñ│ñ╬2╣╘ñ╬┤╓ñ╟╣╘ñªñΦñªñ╦ñ╖ñ╞▓╝ñ╡ññíú
plumñ╬ÑΓÑ╕Ñσí╝Ñδñ╧┤≡╦▄┼¬ñ╦Ñ╡Ñ╓Ñδí╝Ñ┴Ñ≤ñ╬╜╕╣τñ╟ñ╣íúñ│ñ∞ñΘñ╬Ñ╡Ñ╓Ñδí╝
Ñ┴Ñ≤ñ╦ñ╧ñ╜ñ∞ñ╛ñ∞╖Φñ▐ñ├ñ┐╠╛┴░ñ¼╔╒ñññ╞ñ¬ñΩíóplumñ¼▓┐ñ½╜Φ═²ñ≥╣╘ñªñ╚ñ¡
ñ╦íóñ╜ñ∞ñ╦▒■ñ╕ñ┐Ñ╡Ñ╓Ñδí╝Ñ┴Ñ≤ñ¼╝┬╣╘ñ╡ñ∞ñ▐ñ╣íú
ñ╜ñ∞ñ╛ñ∞ñ╬ÑΓÑ╕Ñσí╝Ñδñ╟ñ╧╔¼═╫ñ╦▒■ñ╕ñ╞Ñ╡Ñ╓Ñδí╝Ñ┴Ñ≤ñ≥║εñ├ñ╞ñ¬ñ▒ñ╨íó
plumñ¼╝½╞░┼¬ñ╦ñ╜ñ∞ñΘñ≥╝┬╣╘ñ╖ñ╞ñ»ñ∞ñ▐ñ╣íú
plumñ¼╝┬╣╘ñ╣ñδÑ╡Ñ╓Ñδí╝Ñ┴Ñ≤ñ╦ñ╧░╩▓╝ñ╬ñΦñªñ╩ñΓñ╬ñ¼ñóñΩñ▐ñ╣íú
server_open Ñ╡í╝Ñ╨ñ╪ñ╬Ñ∞Ñ╕Ñ╣Ñ╚Ñ∞í╝Ñ╖ÑτÑ≤ñ¼┤░╬╗ñ╖ñ┐ñ╚ñ¡íú
(Ñ╡í╝Ñ╨ñ╪PASSíóNICKíóUSERñ≥┴≈ñΩíó001ñ≥╝⌡┐«ñ╖ñ┐ñ╚ñ¡)
server_close Ñ╡í╝Ñ╨ñ╚ñ╬└▄┬│ñ¼└┌├╟ñ╡ñ∞ñ┐ñ╚ñ¡íú
client_open Ñ»ÑΘÑñÑóÑ≤Ñ╚ñ╬Ñ∞Ñ╕Ñ╣Ñ╚Ñ∞í╝Ñ╖ÑτÑ≤ñ¼┤░╬╗ñ╖ñ┐ñ╚ñ¡íú
(Ñ»ÑΘÑñÑóÑ≤Ñ╚ñ½ñΘ└╡ñ╖ññPASSíóNICKíóUSERñ¼┴≈ñΘñ∞ñ╞ñ¡ñ┐ñ╚ñ¡)
client_close Ñ»ÑΘÑñÑóÑ≤Ñ╚ñ╚ñ╬└▄┬│ñ¼└┌├╟ñ╡ñ∞ñ┐ñ╚ñ¡íú
main_loop ÑßÑñÑ≤Ñδí╝Ñ╫ñ≥╜Φ═²ñ╣ñδñ╚ñ¡íú
ss_???? Ñ╡í╝Ñ╨ñ½ñΘñ╬│╞Ñ│Ñ▐Ñ≤Ñ╔ñ╬╞■╬╧ñ¼ñóñ├ñ┐ñ╚ñ¡íú
sp_???? Ñ╡í╝Ñ╨ñ╪│╞Ñ│Ñ▐Ñ≤Ñ╔ñ≥╜╨╬╧ñ╣ñδñ╚ñ¡íú
cs_???? Ñ»ÑΘÑñÑóÑ≤Ñ╚ñ½ñΘ│╞Ñ│Ñ▐Ñ≤Ñ╔ñ╬╞■╬╧ñ¼ñóñ├ñ┐ñ╚ñ¡íú
cp_???? Ñ»ÑΘÑñÑóÑ≤Ñ╚ñ╪│╞Ñ│Ñ▐Ñ≤Ñ╔ñ≥╜╨╬╧ñ╣ñδñ╚ñ¡íú
ctcp.plmñ≥ÑñÑ≤Ñ▌í╝Ñ╚ñ╣ñδñ╚░╩▓╝ñ╬Ñ╡Ñ╓Ñδí╝Ñ┴Ñ≤ñΓ╝┬╣╘ñ╡ñ∞ñ▐ñ╣íú
xss_???? Ñ╡í╝Ñ╨ñ½ñΘ│╞CTCPñ╬╞■╬╧ñ¼ñóñ├ñ┐ñ╚ñ¡íú
xsp_???? Ñ╡í╝Ñ╨ñ╪│╞CTCPñ≥╜╨╬╧ñ╣ñδñ╚ñ¡íú
xcs_???? Ñ»ÑΘÑñÑóÑ≤Ñ╚ñ½ñΘ│╞CTCPñ╬╞■╬╧ñ¼ñóñ├ñ┐ñ╚ñ¡íú
xcp_???? Ñ»ÑΘÑñÑóÑ≤Ñ╚ñ╪│╞CTCPñ≥╜╨╬╧ñ╣ñδñ╚ñ¡íú
ÑΓÑ╕Ñσí╝Ñδñ╦Ñ╡Ñ╓Ñδí╝Ñ┴Ñ≤ñ¼1ñ─ñΓñ╩ññ(╩╤┐⌠ñ╬╜Θ┤ⁿ▓╜ñ└ñ▒ñ╬ñΦñªñ╩)╛∞╣τñ╧
Ñ╤Ñ├Ñ▒í╝Ñ╕╠╛ñ╦mainñ≥╗╪─Ωñ╖ñ╞ñΓñ½ñ▐ñññ▐ñ╗ñ≤íú(ñ╔ñ┴ñΘñ½ñ╚╕└ñªñ╚íóñ╜ñªñ╖ñ┐
╩²ñ¼ñññññ╟ñ╣)
ñ│ñ∞ñΘñ╬Ñ╡Ñ╓Ñδí╝Ñ┴Ñ≤ñ╦┼╧ñ╡ñ∞ñδ╩╤┐⌠ñ╧░╩▓╝ñ╬ñΦñªñ╦ñ╩ñ├ñ╞ñññ▐ñ╣íú
server_open(SERVERNO)
server_close(SERVERNO)
client_open(CLIENTNO)
client_close(CLIENTNO)
main_loop(USERNO)
ss_????(SERVERNO, PREFIX, COMMAND, PARAMS)
sp_????(SERVERNO, PREFIX, COMMAND, PARAMS)
cs_????(CLIENTNO, PREFIX, COMMAND, PARAMS)
cp_????(CLIENTNO, PREFIX, COMMAND, PARAMS)
xss_????(SERVERNO, PREFIX, CTCP, PARAMS)
xsp_????(SERVERNO, PREFIX, CTCP, PARAMS)
xcs_????(CLIENTNO, PREFIX, CTCP, PARAMS)
xcp_????(CLIENTNO, PREFIX, CTCP, PARAMS)
SERVERNO Ñ╡í╝Ñ╨ñ╬Ñ╒ÑíÑñÑδ╚╓╣µ
CLIENTNO Ñ»ÑΘÑñÑóÑ≤Ñ╚ñ╬Ñ╒ÑíÑñÑδ╚╓╣µ
USERNO ѵí╝Ñ╢╚╓╣µ
PREFIX IRCÑ╫ÑφÑ╚Ñ│Ñδñ╬Ñ╫Ñ∞Ñ╒ÑúÑ»Ñ╣(nick!user@host.domainñ╬╔⌠╩¼)
COMMAND IRCÑ╫ÑφÑ╚Ñ│Ñδñ╬Ñ│Ñ▐Ñ≤Ñ╔(JOIN/PART/PRIVMSGñ╩ñ╔)
CTCP CTCPÑ│Ñ▐Ñ≤Ñ╔(PING/FINGER/VERSIONñ╩ñ╔)
PARAMS IRCÑ╫ÑφÑ╚Ñ│Ñδñ╬╗─ñΩñ╬╔⌠╩¼(ñ│ñ∞ñ└ñ▒ñ╧╟█╬≤ñ╟ñ╣)
ñ│ñ╬ñªñ┴íó║╟╕σñ╬8ñ─ñ╬Ñ╡Ñ╓Ñδí╝Ñ┴Ñ≤ñ╧╠ßñΩ├═ñ╚ñ╖ñ╞┼╧ñ╡ñ∞ñ┐IRCÑ╫ÑφÑ╚Ñ│Ñδñ≥
╩╓ñ╖ñ╞▓╝ñ╡ññ(PREFIX, COMMAND/CTCP, PARAMSñ└ñ▒ñ╟ñ╣íúSERVERNO/CLIENTNO
ñ╧ñññΩñ▐ñ╗ñ≤)íúñ│ñ╬ñ╚ñ¡PREFIXñ╚PARAMSñ╧╩╤╣╣ñ╖ñ╞ñΓñ½ñ▐ñññ▐ñ╗ñ≤íú
5. Ñ╡Ñ≤Ñ╫ÑδÑΓÑ╕Ñσí╝Ñδ
└Γ╠└ñ└ñ▒ñ╟ñ╧ñ∩ñ½ñΩñ╦ñ»ñññ╚╗╫ñªñ╬ñ╟íóñññ»ñ─ñ½Ñ╡Ñ≤Ñ╫ÑδÑΓÑ╕Ñσí╝Ñδñ≥
╜±ñññ╞└Γ╠└ñ╖ñ▐ñ╣íú
# dailyfork.plm
1: package dailyfork;
2: $day = (localtime(time))[3];
3: $_ = 'dailyfork';
4:
5: sub main_loop {
6: local($userno) = @_;
7: local($today) = (localtime(time))[3];
8: if ($day != $today) {
9: $day = $today;
10: exit if fork;
11: }
12: }
ñ│ñ∞ñ╧1╞ⁿñ┤ñ╚ñ╦forkñ╣ñδÑΓÑ╕Ñσí╝Ñδñ╟ñ╣íú║╟╜Θñ╦╞╔ñ▀╣■ñ▐ñ∞ñ┐ñ╚ñ¡ñ╦
1í┴3╣╘╠▄ñ¼╝┬╣╘ñ╡ñ∞ñ▐ñ╣íúñ│ñ╬ñªñ┴1╣╘╠▄ñ╚3╣╘╠▄ñ╧╖Φñ▐ñΩ╩╕╢τñ╟íó
2╣╘╠▄ñ╟╕╜║▀ñ╬╞ⁿ╔╒ñ≥$dayñ╦└▀─Ωñ╖ñ╞ñññ▐ñ╣íú
sub main_loopñ╧plumñ¼ÑßÑñÑ≤Ñδí╝Ñ╫ñ≥1▓≤╜Φ═²ñ╣ñδñ┐ñ╙ñ╦1▓≤╝┬╣╘ñ╡ñ∞ñ▐ñ╣íú
7╣╘╠▄ñ╟╕╜║▀ñ╬╞ⁿ╔╒ñ≥$todayñ╦└▀─Ωñ╖íó8╣╘╠▄ñ╟░╩┴░ñ╦└▀─Ωñ╖ñ┐$dayñ╬├═ñ╚
╚µ│╙ñ╖íóñ╜ñ∞ñ¼░πñª├═ñ╩ñΘ(╝íñ╬╞ⁿñ╦ñ╩ñ├ñ┐ñΘ)íóforkñ╖ñ╞┐╞Ñ╫ÑφÑ╗Ñ╣ñ╧
╜¬╬╗ñ╖ñ▐ñ╣íú
# autokick.plm
1: package autokick;
2: $_ = 'autokick';
3:
4: sub ss_join {
5: local($serverno, $prefix, $cmd, $chan) = @_;
6: local($nick, $user, $host) = &'prefix($prefix);
7: local($regex) = &'regex('*!*@*.jp');
8: if (&'exist($'nameslist{$'userno[$serverno], $chan},
9: "\@$'nick[$serverno]")) {
10: if ($prefix !~ /$regex/i) {
11: &'s_print($serverno, '', 'KICK', $chan, $nick);
12: }
13: }
14: return ($prefix, $cmd, $chan);
15: }
ñ│ñ╬ÑΓÑ╕Ñσí╝Ñδñ╧Ñ┴ÑπÑ≤Ñ═Ñδñ╦JOINñ╖ñ╞ñ¡ñ┐┐═ñ¼*!*@*.jpñ╦Ñ▐Ñ├Ñ┴
ñ╖ñ╩ñ½ñ├ñ┐ñ╚ñ¡ñ╦íóñ╜ñ╬┐═ñ≥Ñ¡Ñ├Ñ»ñ╣ñδÑΓÑ╕Ñσí╝Ñδñ╟ñ╣íú
ss_joinñ╧Ñ╡í╝Ñ╨ñ½ñΘJOINñ¼┴≈ñΘñ∞ñ╞ñ¡ñ┐ñ╚ñ¡ñ╦╝┬╣╘ñ╡ñ∞ñ▐ñ╣íú
6╣╘╠▄ñ╧nick!user@hostnameñ≥nickíóuseríóhostñ╦╩¼▓≥ñ╖ñ▐ñ╣
7╣╘╠▄ñ╧*!*@*.jpñ╦┬╨▒■ñ╣ñδ└╡╡¼╔╜╕╜ñ≥╝Φ╞└ñ╖ñ▐ñ╣íúñ│ñ╬╛∞╣τñ╧
$regexñ╧.*\!.*\@.*\.jpñ╦ñ╩ñΩñ▐ñ╣íú
8íó9╣╘╠▄ñ╧╝½╩¼ñ¼ñ╜ñ╬Ñ┴ÑπÑ≤Ñ═Ñδñ╟ñ╩ñδñ╚ñ≥╗²ñ├ñ╞ñññδñ½ñ╔ñªñ½│╬╟ºñ╖ñ▐ñ╣íú
10╣╘╠▄ñ╟Ñ╤Ñ┐í╝Ñ≤Ñ▐Ñ├Ñ┴ñ≥╣╘ññíó11╣╘╠▄ñ╟Ñ╡í╝Ñ╨ñ╦KICKñ≥┴≈ñΩñ▐ñ╣íú
14╣╘╠▄ñ╟╠ßñΩ├═ñ≥╩╓ñ╖ñ▐ñ╣íúñ│ñ╬ÑΓÑ╕Ñσí╝Ñδñ╟ñ╧╝⌡ñ▒╝Φñ├ñ┐IRCÑ╫ÑφÑ╚Ñ│Ñδñ≥
╩╤╣╣ñ╗ñ║ñ╦ñ╜ñ╬ñ▐ñ▐╩╓ñ╖ñ╞ñññ▐ñ╣íú