PsyBNC scripts/sq

From SHellium Wiki
Jump to: navigation, search
Geographylogo.png In other languages: English | Afrikaans | Albanian | Arabic | Brazilian | Bulgarian | Catalan | Chinese | Croatian | Czech | Danish | Dutch | Esperanto | Estonian | Filipino | Finnish | Flemish | French | German | Greek | Hebrew | Hindi | Hungarian | Indonesian | Italian | Japanese | Latvian | Lithuanian | Macedonian | Malay | Malayalam | Norwegian (Bokmål) | Norwegian (Nynorsk) | Persian | Polish | Portuguese | Romanian | Russian | Serbian | Slovak | Slovenian | Spanish | Swedish | Turkish | Ukrainian | Urdu

PsyBNC scripting Engine


Për shkak të faktit, askush nuk duket për të kuptuar rrugën psyBNC ofron Scripting për përdoruesit, Ai duhet të jetë përcaktuar një pak më të hollësishme në këtë skedë.

I. Përgjithshëm == == psyBNC ofron një mënyrë të ndryshme të shkruar. Ndërsa e.g. eggdrop ofron TCL si scripting gjuhën, psyBNC ofron mekanizmat e vet për krijimin e user-defined scripts. I.1 == == Ideja Përgjithshëm IRC dërgon Messages për përdoruesit, dhe i dërgon Messages User për IRC. Nëse nuk dhënave është marrë nga serveri, dhe nuk ka të dhëna të marra nga përdoruesit, nuk i Veprimit duhet të merret normalisht. Scripting në psyBNC është bazuar në ngjarje, që ndodhë vetëm në qoftë se të dhënat është duke u marrë nga përdoruesit ose nga serveri. Nëse një ngjarje përputhet me sintaksë e shkrimit, pastaj veprimi duke u dhënë në dorëshkrim është marrë. Një dorëshkrim mund të injektohet në psyBNC nga qasjes në shell, dhe me vendosjen e në Scripts Scripts /-Directory. Nëse një skenar ishte injektuar, ndërsa mashtrues ishte duke punuar, auto atë zakon - ringarkoni matically script. Ju do të duhet të shkaktojë psyBNC-Komanda e / SRELOAD to load ndryshime në skenarin tuaj.

Contents

Event I.2-trajtuar scripting

Sintaksa e çdo Linja e një psyBNC-Script është si vijon: funksion ngjarje fromuserhost / script emrin to content Veprimtaria e përshkruan ngjarje e mundshme 6 lloje të Engine e shkruar. Këto janë: - Dccchat (Nëse përdoruesi merr një ofertë DCC chat nga një përdorues irc) - Dccsend (Nëse merr një përdorues offfer DCC foto nga një përdorues irc) - (Në server Çdo ngjarje nga serveri) - Dialogu (Një dialog i përhershëm hapur, e cila trajtohet nga phpBB) - Ctcp (në qoftë se një CTCP-kërkesë është pranuar nga një përdorues irc) - Alias (një përdorues përcaktuar komandën për psyBNC) Të gjitha fushat e tjera të varet në funksionalitetin e saj në rast se: Funksioni-fushë: - Në dccchat, dccsend dhe dialogu nuk ka kuptim fare - Në server, është emri ose Numri i mesazhit që vijnë nga serveri - Në ctcp, është emri i komandës CTCP (në CTCP PING se do të jetë PING) - Në emërtimet, emrin e saj të komandës, e cila duhet të jetë përcaktuar përdorues Fromuserhost / emri-Fusha: - Në dialogje nuk ka kuptim në të gjitha - Në server, ctcp, dccchat dhe dccsend a wildcard saj hostmask (* * a @ *. b.com) Nëse Hostmask ndeshje, atëherë shkrimit quhet. Në ngjarjet server edhe përmbajtje duhet të përshtaten. - Në emërtimet, e përdorur si përshkrim të Komandës. To-Fusha: - Në alias, dccsend dhe dccfile nuk ka kuptim në të gjitha - Në server dhe ctcp, ajo mund të jetë një kanal (pasi si # sallam), ose * wildcard. - Në dialogje, është "prerë" e dialogut, që bisedimet për përdorues mashtrues në një pyetje (në kllapa). Content-Fusha: - Në alias, dialogje, dccsend, dccfile dhe ctcp nuk ka kuptim në të gjitha - Në rast server, ajo është një wildcarded "përmbajtjen" e një mesazh, për shembull, nëse kjo fushë përmban "* Hello *", e cila servermessage quan Script ka të përmbajë "Hello" në IRC-Content si. Script-Fusha: - Të ctcp, dccfile dhe serveri mund të jetë çdo shellscript ose shell - bazuar komandën (s), i cili do të quhet një herë dhe kanë të drejtë të përfundojë pas ekzekutimit. - Në dialog, dccchat dhe pseudonimin, dorëshkrim i quajtur backgrounded mund të qëndrojnë, dhe bëjë punën e saj për sa kohë e nevojshme. Një dorëshkrim mund të jetë çdo gjë, të cilat mund të trajtohen nga shell. Ju gjithashtu mund të thirrje PHP / Perl / TCL-Scripts nga script-e hyrjes.

I.3 DEFAULT-Script

Në qoftë se një skenar me Skeda "DEFAULT.SCRIPT" është vendosur në scripts directory /, të gjitha Users do të konkurrojë këtë dorëshkrim, derisa nuk ka të veçantë script përdorues është përcaktuar. Ky script globale do të kandidojë për të gjithë përdoruesit e rinj added.

I.4 User Special Scripts

Nëse një Përdoruesi të veçantë shkrimit duhet të jetë krijuar, Emri i saj duhet të jetë USERnn.SCRIPT, ku është pn Numri i përdoruesit, që i korrespondon Numri në psybnc.conf, pa zero kryesor (p.sh. User1 ka për të përdorur USER1.SCRIPT). Fotografi duhet të vënë në Scripts /.

II. Variablat

Në qoftë se një skenar është quajtur, vendos psyBNC Mjedisit të veçantë-Variablat për mbështetje të dhëna të shkrimit. Variablat globale janë të vendosur gjithmonë, nuk ka rëndësi, që ngjarje është quajtur. Disa ngjarje mori variablave të veçantë, të cilat do të përshkruhet në paragrafi të kësaj pjese. Një variabël mund të adressed nga një shellscript si një Mjedis normale - Ndryshore është adressed: USER echo "$ filloi një skenar" do jehonë User-ndryshueshme nga psyBNC të standardeve aktuale e prodhimit, që do të trajtohen nga psyBNC (shih III. Ngjarje). == II.1 Variablat globale për të gjitha ngjarjet Kjo do të tregojë një listë e të gjitha variablave, të cilat janë vendosur në çdo Script-Call. - Numri i USERNUMBER psyBNC User - USERLOGIN Identit / hyrje me emrin përkatës i psyBNC User USERNICK - nick aktual i psyBNC User USERHOST - Host lidhur klient i psyBNC User USERON - Në qoftë se do të 1, User është e lidhur për momentin Në qoftë se ngjarja është një server-Event, një dccsend-Event, një dccfile-Event ose një ctcp-Event, variablat e mëposhtme janë përdorur. Ata janë filtruar nga IRC hyrje-Message. Nëse mesazhi do të jetë një User-Mesazh ose një Channel-Mesazh, ajo do të duken si si në vijim: Ndryshore


joe! joe@host.com PRIVMSG # hello: hello

| | | | | | | | | | | |____ PËRMBAJTJA | | | | | | | | | |___________ TË | | | | | | | |___________________ VKM | | | | | |____________________________ HOST \ | | \ | |__________________________________ Identit \ USER | / |______________________________________ NICK /

Nëse ju do të kërkojë PËRMBAJTJA ndryshueshme, ju do të merrni "hello". PËRMBAJTJA kursen tekst gjithë nga Channel-ose Usermessage. VKM do të jetë e ndryshueshme PRIVMSG. Mos harroni, IRC nuk vërtetë komandat e di si si "Pyetja" ose "msg", të gjitha User-dhe-Channel mesazhe të trajtohen duke përdorur PRIVMSG. NICK fushë do të jetë joe, fushë Identit në këtë rast si. HOST fushë do të jetë host.com. USER fushë do të jetë irc-hostmask, në këtë rast Joe! Joe@host.com.If mesazh do të jetë një server-mesazh, nëse do të duken si si mëposhtme: Ndryshore


001 irc.somenet.org ircgeek: Mirë se vini në irc.somenet.org, ircgeek.

| | | | | | | |____ PËRMBAJTJA | | | | | |___________ TË | | | |___________________ VKM | |____________________________ HOST / USER Në këtë rast HOST dhe USER mbajnë të njëjtën vlerë. Disa servermessages mbështetje më shumë se një parametrat në to. Për këtë shkak, edhe vet e mundur për të lexuar një tjetër Lista e variablat:

joe! joe@host.com PRIVMSG # hello: njerëzit hello, how are you?

| | | | | | | | | | | | | | | | | | P1 P2 P3 P4 P5 P6 P7 P8 P9 Pnn-Variablat përmbajnë një grup i çdo element i IRC-Line. Nëse ju do të bëni: echo $ P3 ju do të merrni

  1. hello

Në Aliases Input është dërguar në Komandën e-Format. Kjo Command-Format gjithashtu do të ruhen në variablat: Diçka MYPART #: Byebye | | | | | |____ PËRMBAJTJA | | | |______________ TO | |______________________ VKM Pnn-Variablat janë gjithashtu në dispozicion në Aliases.

Event II.2-variablat specifike

Event Dialogu ofron një MYNICK ndryshore të quajtur. Ajo dyqane nick e dialog-pyetje, të cilat duket se përdoruesit. Serverevent përcakton kanali-Variablat, nëse TO-Fusha është një kanal. Ata Variablat janë: CHANNEL - Emri i Channel Nëse psyBNC User është Channel, ai do të furnizohen edhe me Variablat e mëposhtme: CHANTOPIC - Tema e Channel CHANMODE - Mënyrat e kanalit (e.g. + tn) CHANKEY - kyçe të kanalit, në qoftë se është vendosur një kyç. Përndryshe nuk përdoret. CHANLIMIT - limit (+ l Mode), në qoftë se është vendosur regjim. CHANUSERnn - Një Përdoruesi i Channel, numëruar nga NN e.g. CHANUSER1. Sintaksa e një chanuser-Fusha është si vijon: ! nick Identit @ host | mode User-Hostmask është ndarë nga Usermode Channels nga një tub-karakter (|). Usermode është vendosur të modes përdorues ka mbi Channel. Shembull: Joe! joe@host.com | o do të tregojë, se Joe Përdoruesi mori më në kanal. Dccchat-Event furnizon një IP ndryshueshme të quajtur, ajo mban Host e dccchat-ofruar User. Dccsend-Event furnizimeve, si si dcchat, IP-ndryshueshme, dhe një tjetër FILE ndryshueshme me emrin. Ajo mban emrin e dokumentit, i cili DCC-Dėrgo - User ofruar do të transferojë tek ju. Ctcp-Event furnizon një X01 ndryshueshme me emrin. Kjo ist përdorur ndryshore të lehtë të krijojë një përgjigje në një shellscript thjeshtë-Echo-Line pa ka nevojë për të thirrur një Program të jashtëm për të krijuar kontroll - karakter \ x01.

III. Ngjarje

Ky seksion përpiqet të përshkruajë Ngjarjet vetë, se si ato janë përdorur dhe si të parameterize ato. Prodhimit dhe të dhëna për çdo dorëshkrim i quajtur është përcaktuar nga Event vetë. psyBNC switches standardeve inputeve, prodhimit dhe-Error-Output për shkrimit të strukturave të veta të brendshme. Nëse një detyrë, e cila është quajtur si një script nga psyBNC, shkruan për syswrite (Standard-dalëse), është hedhur direkt në psyBNC. Mënyrë psyBNC trajton se Output është dependend nga ngjarje. Fjalët e mëposhtme do të përdoren në Event-Context: STDIN - Standard hyrëse në një detyrë të quajtur (Socket 0) Syswrite - Prodhimi standard nga një detyrë e quajtur (Socket 1) Printf - Standard Gabim-Dalja nga një detyrë e quajtur (Socket 2) Ngjarjet e nganjëherë i përdorin edhe për marrjen e STDIN Dalja nga detyra. Një shellscript normale do të merren me prodhim të stderr ose STDIN si vijon: echo "Hello"> & 0 Mund të dërgoni Hello për STDIN echo "Gabim!" > & 2 Mund të dërgoni Error! të stderr. Në të gjitha ngjarjet e merr të stderr psyBNC-Main-log.

III.1 server-Event

Server-Event reagon në mesazhet nga Server. Kjo mund të jetë çdo server të veçantë mesazh (numerike), ose kanal dhe User-i porosive (si si PRIVMSG, BASHKOHU, PJESA). Një skenar, i cili u bëri thirrje në një server-Event, nuk do të qëndrojë në prapavijë, por dërgoni një përgjigje për të dhënë rast ndoshta. Server-Event ka parametrat e mëposhtme për standard In-dhe Rezultatet: Syswrite shkon në server, nëpërmjet komandës psyBNC të përkthyesve me gojë. Ju gjithashtu mund të shkaktojnë komandat psyBNC nga script dhënë ndërsa krijimin e prodhimit të syswrite. Shembull: Join server *!*@* # mychannel * echo "$ PRIVMSG NICK: Mirë se vini në # mychannel" Kushdo, që do të bashkohen për të Kanalin # mychannel do të merrni një Mesazh "Mirë se vini në # mychannel" nga Klienti juaj. Nëse Script dërgon një Output të STDIN, prodhimi do të dërgohet në klient lidhen e psyBNC. Shembull: server PRIVMSG *!*@* # mychannel * mallkuar * echo ": NJOFTIM irc.server.net $ USERNICK: dikush tha se mallkuar"> & 0 Nëse dikush në Channel do të postoj një dënim duke përfshirë "mallkuar", Klienti juaj do të marrë një njoftim nga irc.server.net Server, se dikush më Channel tha se "i dënuar". Nëse Script dërgon një Output të stderr, psyBNC do të vendos se në Kryesore-Log e psyBNC. Shembull: PJESA server *!*@* # mychannel * echo "Përdoruesi $ NICK la kanali!" > & 2 Nëse dikush pjesë kanali, juaj do të merrni një Mesazh regjistruar, se kjo User la kanal.

III.2 dialog-Event

Event Dialogu fillon një aplikim backgrounded, i cili bashkëvepron me Të dhëna Përdoruesi për psyBNC duke përdorur një pyetje emulated. Ju mund të përdorni dialogje për të drejtuar kërkesat, që duhet ndërveprim, por janë dobishme në Context psyBNC. Ndoshta ju doni të shkruani një Newsticker, që në fakt tregon lajmet me pyetje. Apo ju dëshironi të bashkëvepruar me një vijë të shtyrë mail-programeve nëpërmjet një pyetje në psyBNC. Shembull:

  • * * * * dialog mail mail

Do ta quaja unix-mailreader, dhe nëse mail ishte në dispozicion, do të qëndrojë në sfond, derisa përdoruesit do të ndaluar aplikimin. STDIN dhe syswrite janë ridrejtuar në emulated Query, printf është kryesore Identifikohu e psyBNC.

III.3 dccchat-Event

Event dccchat mund të fillojë një background-e Aplikimit, i cili do të zëvendësojë një Përdoruesi-Ndryshime të mundshme në një dccchat. Për shembull: dccchat * * * * * * * joe@bla.com echo "$ DCCANSWER NICK"; / home / mua / eliza Kjo linjë do të pranojë asnjë automatikisht Chat DCC nga çdo përdorues që Ndeshje * Hostmask! joe@bla.com *. Pasi ajo pranoi Chat, Programi / home / mua / eliza do të jetë startet, dhe ndoshta mund të reagojnë direkt User-Input. Bouncer User do të mbikqyrë dhe në rezultatet, të cilat do të dërgojë në dhe nga DCC-Query të psyBNC. Jetë i sigurt, ju keni mundësuar në DCC kohë psyBNC hartimin. Një Output të STDIN do të dërgohen në Server. Çdo Output dhënë syswrite do të dërgohen në DCC-Chat. Çdo Output dhënë më stderr do të vihet në psyBNC-Main-log.

III.4 dccfile-Event

Një ngjarje dccfile mund të përdoret për të krijuar mundësisht një fileserver, e cila ndoshta mund të mohojë pranimin e dosjeve tashmë ekzistues, dhe përgjigje automatikisht në një File DCC-Dërgo Kërkesë. Shembull: dccfile *!*@* * * * / home / mua / filecheck A do të thërrasë një kërkesë vet emrin / home / mua / filecheck, që ndoshta mund të merren për dërgimin e faqja, dhe të cilat ndoshta mund të përgjigje një DCCGET automatikisht. Output STDIN do të drejtohen në Server. Duke përdorur STDIN, ju mund të dërgoni urdhëron për mashtrues, për të le të pranojë dosjen për shembull. Syswrite do të drejtohen për të Input Klientë. Ju mund të dërgoni një njoftim User të, që fotografi kishte qenë autoaccepted për shembull. Printf është drejtuar psyBNC-Main-log.

III.5 alias-Event

Aliases mund të përdoret për të shtuar Komandat e vet për të psyBNC-Command-List. User do të jetë në gjendje të përdorë pseudonimin si si ai do të përdorte një IRC - apo komandën psyBNC. Nëse një pseudonim është ekzistues, e cila mori të njëjtën emri i një psyBNC-komandës, Alias do të përdoren në vend të psyBNC-Komanda. Shembull: alias HELLO "Say Hello" * * echo "$ PRIVMSG TO: Hello" do të dërgonte një Përshëndetje për të dhënë "NË argument". Perdorimi i Alias që do të jenë: / Noizy bla # Teksti do të jetë e postuara në # bla pastaj. Ju gjithashtu mund të bëni / BHELP HELLO pastaj, por nëse duan të mbështesin një ndihmë për alias shtuar, ju do të keni për të vënë një HELLO.TXT në ndihmë /. Nëse ju do të shkaktojnë / BHELP pa një parametër, Text "Thuaj Hello" do të shfaqet si Ndihmë e shpejtë Komandës. STDIN Rezultatet e shkrimit do të dërgohen në Input Klientë. Syswrite Rezultatet do të dërgohen në Server. Printf është shkruar në psyBNC kryesore-log.

III.6 ctcp-Event

Një ctcp-Event është shkaktuar, kur Përdoruesi merr një CTCP-Mesazhi nga një IRC User. Shembull: Finger ctcp *!*@* * * echo "$ NJOFTIM NICK: Dont gishtin mua" Në qoftë se dikush do të dërgonte një gisht CTCP për gënjeshtar tuaj, ai do të merrni një Autorit prapa duke thënë: "Nuk e gishtit mua". Output STDIN do të dërgohen në Klienti. Output syswrite do të dërgohen në Server. Printf është vënë në psyBNC-Main-log.

IV. Fjalë të fundit

Unë shpresoj se kjo Dokumentimi është pak më e dobishme se Tekst i vënë në README deri në Versioni 2.2.2. Nëse keni pyetje në lidhje me script-motor vetë, ju lutem kontaktoni mua më IRCnet. Ju lutem, dont pyesni mua për skenare të punës, i vetëm ofrojnë scripting-Engine e psyBNC që do të përdoret për të shkruar.

Personal tools
Namespaces

Variants
Actions
Navigation
Indexes
SHellium Sites
Toolbox