Avatar billede Elvenstone Nybegynder
05. december 2011 - 18:36 Der er 5 kommentarer

Java IRC Bot

ved ikke hvor mange points i vil have for dette, eller andre midler men det kan diskuteres.

Jeg skal have hjælp med Java IRC Bot.

har lavet den, men mangler at få den til at blive connected via brug af PONG

Skal også have hjælp med at lave syntaxer til kommandoer fx. "!test hello//there"  giver: "NICK said hello there!"

ting som dette skal jeg have hjælp med, har MSN og skype hvis det bedre at bruge, det nemlig et stort project og jeg tror i Profs kan hjælpe mig nemt, skal ikke have jer til at lave det for mig, men bare give mig syntaxer, functioner osv.
Avatar billede Slettet bruger
05. december 2011 - 21:58 #1
Det er bare at sætte sig ind i IRC protokollen.
http://tools.ietf.org/html/rfc2812
Dejlig hyggelæsning, så det er bare med at eksperimentere med det. :)
Et PONG giver du bare tilbage når du får et PING fra serveren. Hvis der er nogen klienter der giver dig et PING behøver du ikke svare tilbage (og hvis du gør, så svar kun tilbage på det første ping og ignorer de næste over en vis periode hvis du vil undgå at miste forbindelsen).
Avatar billede Elvenstone Nybegynder
07. december 2011 - 12:27 #2
Ok tak, har problemer med encoding på filer som jeg læser som er blevet skrevet til fra andre programmer, jeg kan godt læse programmet med andre encodings også skriver jeg til filen med hvad den har læst med ASCII som java kan læse, men når jeg så læser det igen med den anden format, så bliver output ?????

har googlet en masse og spurgt masse men kan ikke komme videre.
Avatar billede Slettet bruger
07. december 2011 - 19:03 #3
Det med at styre encodings på det du læser og skriver (til filer og mellem server og klient), der kan du bruge OutputStreamWriter og InputStreamReader med den encoding du måtte ønske at bruge. Normalt vil encoding bare være det der er default på den computer du kører dit program på.
F.eks.
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));
og
PrintWriter out = new PrintWriter(new OutputStreamWriter(new FileOutputStream(file), "UTF-8"));

På en dansk windows, vil encoding default være "windows-1252". Til kommunikation mellem en irc klient og server, ville jeg vælge "ISO-8859-1".
Avatar billede Elvenstone Nybegynder
11. december 2011 - 02:01 #4
Tak for det, jeg er kommet rigtig langt men nogen jeg ikke kan finde ud af er at kick brugeren i en specifik channel, men kun hvis han ikke er Voiced.

i mirc scripting language brugte jeg bare

$nick(#channel,0,r)

det gav mig hvor mange som ikke var voiced

$nick(#channel,1,r)

det ville kick den første bruger som ikke er voiced brugte jeg bare i et loop.

er der en måde i java irc bot som kan gøre det samme?
Avatar billede Slettet bruger
11. december 2011 - 12:55 #5
Du kan slå debug til i mIRC, så kan du se alt hvad der bliver sendt frem og tilbage. F.eks.
- til debug.log: /debug on
- til et nyt mirc vindue (som jeg har kaldt @minlog): /debug -n @minlog on
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester