Nekromanti Jag har byggt en rollspelsbot...

krank

Lättkränkt cancelkultur-kommunist
Joined
28 Dec 2002
Messages
36,185
Location
Rissne
Jag har skruvat ihop en IRC-bot som kan användas för rollspelande. Den är inte klar eller så, men i det här läget skulle jag behöva folk som kunde avsätta en stund till att testa den med mig.

Boten heter Dreamer. Den kan rulla tärning och byta namn till olika SLP:er. Den kan också viska saker till spelare. Spelledare kan använda den som en sån där buktalardocka.

Just nu är det inte så mycket mer än så. Den använder samma tärningsmotor som HALibot, men utan möjligheten att rulla grundegenskapsuppsättningar för kända spel och så; däremot klarar den grejer som "Ob6t6" eller "8t20h10".

På önskelistan hittills:
- Loggning: Den loggar allt som skrivs publikt i kanaler där den
befinner sig, samt alla privata konversationer. Bör kunna stängas av och
sättas på.
- Förbättrad säkerhet: Kräva lösenord för att lägga till och ta bort spelledare.
- Extern configfil i INI eller XML-format, som vem som helst kan redigera
- Flerspråkstöd: Dels ett defaultspråk, men också möjligheten att säga åt boten att "!speak swedish" on-the-fly...
- Kunna regga förslag på kampanjer, anmäla sig som intresserad, etc.
- Kunna få in ren textinfo om sin rollperson...
-
Få boten att svara på vad klockan är, eller vad google säger om en
stavning, en översättning, eller en valutaomvandling... =)

Om nån kommer på andra grejer man vill att en rollspelsbot ska kunna göra, hör av er. Dreamer är modulär och kan anpassas till mycket.


Om ni är intresserade av att avsätta några minuter, skriv en tid då ni skulle kunna spendera några minuter, så stämmer vi träff då... Eller ryck tag i mig i småpraten.
 

Christoffer

It's all pig.
Joined
18 Mar 2008
Messages
4,298
Location
Umeå
Säg bara till.

Önskemål: Möjlighet att föra in variabler kopplade till gemensamt namn. Så man typ kan ha Karaktärsnamn med både HP och Sanity. Sen kan man enkelt be botten visa, dra bort, lägga till eller återställa dessa variabler... lite som ett enkelt rollformulär. I väntan på din rollperson.se :gremsmile:
 

krank

Lättkränkt cancelkultur-kommunist
Joined
28 Dec 2002
Messages
36,185
Location
Rissne
Poppe said:
lite som ett enkelt rollformulär. I väntan på din rollperson.se :gremsmile:
Å andra sidan blir det ungefär samma tid som måste spenderas i båda fallen... Dubbelarbete =)
 

krank

Lättkränkt cancelkultur-kommunist
Joined
28 Dec 2002
Messages
36,185
Location
Rissne
Eftersom Dreamer nu nått en punkt där den tydligen håller någorlunda för att folk leker med den, och den (typ) är feature-complete, så har jag lagt upp den på Github också:

http://github.com/krank/Dreamer är adressen.
 

Christoffer

It's all pig.
Joined
18 Mar 2008
Messages
4,298
Location
Umeå
För den oinvigde:

Om jag skulle vilja sparka igång botten själv på en kanal någonstans, hur skulle jag enklast göra det?
 

solvebring

Superhero
Joined
19 Mar 2004
Messages
13,027
Location
Fellingbro/Arboga
Ja, vi testade ju lite igår och allt fungerade mycket, mycket bra. Jag gillade det som var. Fanfar till herr krank!

Jag gillar det som är på önskelistan också. Det jag personligen har problem med är det att jag hela tiden glömmer eller missar bad som funkar att kommendera privat och publikt. Fast om man ser till att precist alla kommandon alltid har privat bland alternativen (så var det väl?) så får jag helt enkelt lägga mig till med att enbart kommunicera med boten privat.

Så, förutom ovannämna som ändå redan är så som beskrivet och mer kommer an på användaren före boten, så har jag bara ett önskemål: Om man döpt om boten till t.ex. ett SLP-namn och sedan rullar tärning med den blir det förvirrande. Tärningsresultaten skrivs då ut av SLP:n. Visst, det är klart som fan eftersom det är boten vi talar om, men det ger liksom en sned association. Vad jag skulle vilja ändra på är det att så fort boten, oavsett vilket namn den har publikt, alltid anges som Dreamer/Bot/Whatever när den besvarar ett !roll.

... Hm, sedan vore det trevligt om den klarade av alla tärningskombinationer.
 

krank

Lättkränkt cancelkultur-kommunist
Joined
28 Dec 2002
Messages
36,185
Location
Rissne
solvebring said:
Så, förutom ovannämna som ändå redan är så som beskrivet och mer kommer an på användaren före boten, så har jag bara ett önskemål: Om man döpt om boten till t.ex. ett SLP-namn och sedan rullar tärning med den blir det förvirrande. Tärningsresultaten skrivs då ut av SLP:n. Visst, det är klart som fan eftersom det är boten vi talar om, men det ger liksom en sned association. Vad jag skulle vilja ändra på är det att så fort boten, oavsett vilket namn den har publikt, alltid anges som Dreamer/Bot/Whatever när den besvarar ett !roll.
Tja, det borde teoretiskt sett gå att ordna genom att den tillfälligt byter namn när den roller. Kommer att se lite lustigt ut för en del dock, när SLP-namnet "flimrar till" när man rullar =)


solvebring said:
... Hm, sedan vore det trevligt om den klarade av alla tärningskombinationer.
"Alla" är ganska många, du får vara mer specifik =) Även om det är mer Gardeners fel att den inte rullar mer...

Det jag själv saknar rullmässigt är ju att räkna successes (inte bara visa dem), kanske t.om att man kan säga !roll wod 6 för att få 6 rullade open t10:or som ska komma över 7 (eller vad det nu blir). Kanske också typ 5t6+8t8, men när fasen gör man sånt?

Sen har Gard begränsat vilka tärningar man kan rulla till enbart såna som faktiskt finns. Det har jag dock ingen aning om varför.
 

krank

Lättkränkt cancelkultur-kommunist
Joined
28 Dec 2002
Messages
36,185
Location
Rissne
Poppe said:
För den oinvigde:

Om jag skulle vilja sparka igång botten själv på en kanal någonstans, hur skulle jag enklast göra det?
1. Installera Python på din dator.
2. Installera irclib på samma dator.
3. Gå till botens hithubsida, klicka "Downloads" och "Download zip".
4. Packa upp zipfilen.
5. Öppna dreamer2.py i lämpligt program (anteckningar, whatever). Leta efter följande rad:

profile["reptiden"] = IrcProfile('Reptiden', [('naman.yafas.net', 6667)], '#bottest')

Ändra naman.yafas.net till servern du vill använda, och #bottest till kanalen.

6. Kör Dreamer2.py.

Det är inte helt simpelt ännu, som du ser. Åtminstone att ändra server och kanal och sånt vill jag göra simplare framöver. Kanske till och med ett grafiskt interface?
 

KamiFisk

Hero
Joined
1 Feb 2010
Messages
928
Location
Uppsala
Det skulle ju vara väldigt trevligt att ha den fristående.
Jag är dock medveten om att det kräver en hel del jobb.
 

solvebring

Superhero
Joined
19 Mar 2004
Messages
13,027
Location
Fellingbro/Arboga
Tja, det borde teoretiskt sett gå att ordna genom att den tillfälligt byter namn när den roller. Kommer att se lite lustigt ut för en del dock, när SLP-namnet "flimrar till" när man rullar =)
Tja, det är väl en bra lösning antar jag. Spelar väl ingen roll om namnet flimrar. Då kommer man i alla fall att kunna skilja på saker och ting.

En annan bra sak, om det rullas mycket, är att gensvaret på !roll kommer tillbaka som specificerat svar till de olika användarna. Typ: "krank: [rollsvar]".
Visst, detta vore bara nödvändigt om det skulle vara kaotiskt vid något tillfälle. Men det vore schysst ibland som sagt.

Om inte annat, om det skrivs en jävla massa så skulle just färgscheman för botens olika kommandon vara väldigt nyttigt. !roll är ljusblått, när boten talar är det rött osv. Ja, nåt i den stilen.

Kort och gott, att jobba med att boten uppmärksammas ordentligt och är tydlig vore kanske något?

Det jag själv saknar rullmässigt är ju att räkna successes (inte bara visa dem), kanske t.om att man kan säga !roll wod 6 för att få 6 rullade open t10:or som ska komma över 7 (eller vad det nu blir). Kanske också typ 5t6+8t8, men när fasen gör man sånt?
Jag kan inte annat än att hålla med. Om den sista meningen/frågan vill jag personligen bara svara det att bättre det att man garderat sig än inte.

Sen har Gard begränsat vilka tärningar man kan rulla till enbart såna som faktiskt finns. Det har jag dock ingen aning om varför.
Hmf!.. :gremwink:
 

krank

Lättkränkt cancelkultur-kommunist
Joined
28 Dec 2002
Messages
36,185
Location
Rissne
NilsH said:
har du möjlighet att slänga upp ett sceen-shot?

Tjaeööööh... Det kan jag kanske, men det blir ju inte så roligt. Det blir ju mest ett vanligt IRC-screenshot =)
 

krank

Lättkränkt cancelkultur-kommunist
Joined
28 Dec 2002
Messages
36,185
Location
Rissne
solvebring said:
Tja, det är väl en bra lösning antar jag. Spelar väl ingen roll om namnet flimrar. Då kommer man i alla fall att kunna skilja på saker och ting.

solvebring said:
En annan bra sak, om det rullas mycket, är att gensvaret på !roll kommer tillbaka som specificerat svar till de olika användarna. Typ: "krank: [rollsvar]".
Visst, detta vore bara nödvändigt om det skulle vara kaotiskt vid något tillfälle. Men det vore schysst ibland som sagt.
Absolut en schysst idé.

solvebring said:
Om inte annat, om det skrivs en jävla massa så skulle just färgscheman för botens olika kommandon vara väldigt nyttigt. !roll är ljusblått, när boten talar är det rött osv. Ja, nåt i den stilen.

Kort och gott, att jobba med att boten uppmärksammas ordentligt och är tydlig vore kanske något?
Färg i IRC? jag har noll erfarenhet av att pilla med formatering i Irc, brukar föredra typ plaintext =)
 

Gardener

Champion
Joined
7 Feb 2000
Messages
8,445
Location
Södermalm
solvebring said:
Sen har Gard begränsat vilka tärningar man kan rulla till enbart såna som faktiskt finns. Det har jag dock ingen aning om varför.
Hmf!.. :gremwink:
<div>Kul att koden används i flera projekt, men jobbigt att det måste fungera mer generellt. =) </div> <div>
</div> <div>Ska fixa så att den kan rulla vilka tärningar som helst och så att den blir enklare att använda utan att behöva ändra alltför mycket. Verkar som om den behöver lite dokumentation också. Inte ens jag förstod riktigt hur den fungerade när jag kollade på den. =P </div> <div>
</div> <div>Var det några fler specialgrejer tärningsrullaren borde kunna? </div>
 

solvebring

Superhero
Joined
19 Mar 2004
Messages
13,027
Location
Fellingbro/Arboga
1. Installera Python på din dator.
2. Installera irclib på samma dator.
3. Gå till botens hithubsida, klicka "Downloads" och "Download zip".
4. Packa upp zipfilen.
5. Öppna dreamer2.py i lämpligt program (anteckningar, whatever). Leta efter följande rad:

profile["reptiden"] = IrcProfile('Reptiden', [('naman.yafas.net', 6667)], '#bottest')

Ändra naman.yafas.net till servern du vill använda, och #bottest till kanalen.

6. Kör Dreamer2.py.

Det är inte helt simpelt ännu, som du ser. Åtminstone att ändra server och kanal och sånt vill jag göra simplare framöver. Kanske till och med ett grafiskt interface?
Gäller detta generellt eller är det bara en Windowsguide?
 

krank

Lättkränkt cancelkultur-kommunist
Joined
28 Dec 2002
Messages
36,185
Location
Rissne
solvebring said:
Gäller detta generellt eller är det bara en Windowsguide?
Det är en generell guide, fast i Ubuntu installerar man Python och irclib via synaptic istället.

//krank, funderar på att bygga interface som man ser i början, för att välja profil att connecta till och så...
 

solvebring

Superhero
Joined
19 Mar 2004
Messages
13,027
Location
Fellingbro/Arboga
Okej. Well, Python är ju installerat som standard i Ubuntu. Iaf i 10.04. Iof kanske jag bör se mig om efter updates.

När man kör .py-filen, ska den köra i irclib eller kort och gott i Python?
 

solvebring

Superhero
Joined
19 Mar 2004
Messages
13,027
Location
Fellingbro/Arboga
solvebring said:
Okej. Well, Python är ju installerat som standard i Ubuntu. Iaf i 10.04. Iof kanske jag bör se mig om efter updates.

När man kör .py-filen, ska den köra i irclib eller kort och gott i Python?
... Har Python installerat, men av någon dum anledning ligger det inte under "Program"-> "Programmering" som det gjort förrut? Får lägga till det i verktygsfältet i programfältet istället. But still, stupid.
 

solvebring

Superhero
Joined
19 Mar 2004
Messages
13,027
Location
Fellingbro/Arboga
Webläsarbaserat irc för nybörjaren

De som förövrigt inte testat irc förut eller som inte riktigt vet hur man gör, vilket script som passar sig osv. kan klicka här!

Detta är Mibbit, en enkel webläsarbaserad irc-chat. Kort och gott en bra möjlighet för den frågande nybörjaren.
För att pröva på att irc:a så får ni här en liten snabbstartguide:
1. Klicka på Launch Mibbit WebChat.

2. Bestäm en server.
- Enklaste alternativet är att i menyn bredvid "IRC:", högst upp i den lilla rutan, välja en server.
- Ett annat alternativ är att i den lilla rutan klicka på "Server", högst upp, näst längst bort. Då får man upp ett extra fält där man själv, manuellt kan skriva in servern man vill ansluta till. Om du t.ex. bestämt träff med krank för att prova på hans DiceBot lyder servern "naman.yafas.net".

... Det här med server är förövrigt krångligt att veta innan om man aldrig irc:at förut. Det enklaste är om man innan tagit reda på några kanaler/chattrum som man vill besöka och därmed tagit reda på vilken server de ligger på.

3. Skriv in ditt användarnamn i fältet märkt "Nickname:". Jag skriver t.ex. i "solvebring" som nickname.

4. Skriv in namnet på den kanal ("chattrummet") du vill ansluta till i fältet märkt "Channel:". Om du t.ex. bestämt träff med krank för att prova på hans DiceBot lyder kanalnamnet "bottest". Om du önskar ansluta dig till flera kanaler på den server du valt skriver du helt enkelt in alla namnen på den kanaler du önskar besöka, skilda av ett kommatecken. Alltså, om jag vill besöka tre kanaler som heter #apa, #prutt och #sverige så skriver jag helt enkelt "apa, prutt, sverige" i fältet för "Channel".

Vill du veta mer om irc så googla på "mIRC" och "irc", "+ guide", "+tutorial" och sådana saker så kommer du att få massor av olika genomgångar och guider. Mibbit är som sagt bara ett alternativ i en hel djungel av alternativ, alla mer eller mindre nybörjarvänliga. Kort och gott så rekommenderade jag detta just för att skippa alla krångliga bitar som bäst undersöks med hjälp av guider + tid eller goda vänner som vet vad de gör.
 
Top