memery / memery-legacy

memery is a fault tolerant IRC bot written in Python. It was created by nycz initially to crack inside jokes, but it has evolved through a few complete rewrites into more of a joke-slash-utility bot. This version is in dire need of some kind of rewrite. (Rewrite is on its way in memery/leczair, but this is still somewhat supported/used.)
0 stars 0 forks source link

Flytta title och spotify till egen fil/filer och gör mer utbyggbart #60

Open nycz opened 12 years ago

nycz commented 12 years ago

Idéer vore niec... title.py vs en plugin-liknande mapp + en lista för ordningen, eller någon blandning?

Vad som behövs är något som både kan tolka vanliga urler, spotifyurler och i förlängningen då alla former av mönster inne i meddelanden som bäst går att beskriva med regexes (till skillnad från kommando-plugins).

Prolly behövs en title.py i vilket fall som helst – för att innehålla ordningen och inte bloata ner interpretor så väldigt mycket – men frågan är som sagt om de enskilda funktionerna som triggas av regexes ska ligga i samma fil eller i lösa filer. Andra alternativet är iofs att ha listan i en lös textfil och ha titlefunktionen som en funktion i interpretor och sen ha alla mönster-filer lösa och laddas in on the fly... angst och grubbel :/

kqr commented 12 years ago

I irssi fungerar det så att när ett script körs har det möjlighet att stoppa in en hook för till exempel "inkommande meddelanden" eller "utgående meddelanden." Den hooken är i princip bara ett element i en lista (typ en funktion som ska köras på inkommande meddelanden.)

När det kommer ett (exvis) inkommande meddelande så stoppar irssi in den i scriptet som har första hooken för inkommande meddelanden. Det scriptet gör något med meddelandet, och sen kan det scriptet välja att antingen skicka meddelandet vidare eller droppa det. Om det skickas vidare träs det på samma sätt igenom scriptet som har nästa hook, annars händer inget mer och det visas inte.

Vad gäller att stoppa in hooks finns det typ två alternativ: insert_hook_first och insert_hook_last, som är relativt självbeskrivande. Naturligtvis avgör ordningen scripten laddas in resten. Oftast spelar det ingen roll i vilken ordning scripten körs eftersom de har helt olika syften och inte ens petar på samma text.

...så gör irssi. Jag kanske kan tänka mer när jag har kommit tillbaks från skola/jobb. Jag tror att vi skulle kunna ta irssilösningen, skala ned den till något väldigt minimalt och sen köra på det. Applied furiously kan man bygga hela båten så. plugins-kommandon är bara ännu en hook som sen anropar ytterligare script. :>