Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Assembly: IRC-botti asmilla

Sivun loppuun

HellRazor [12.02.2007 00:06:12]

#

Olen yrittänyt vääntää irc bottia masmilla. Saan yhdistettyä quakenettiin, mutta jostain syystä en saa ping viestiä, vaikka olen käsittääkseni lähettänyt user ja nick viestit oikein. Saan seuraavanlaisen vastauksen serveriltä:

NOTICE AUTH :*** Looking up your hostname
NOTICE AUTH :*** Checking Ident
NOTICE AUTH :*** Found your hostname
NOTICE AUTH :*** No ident response
ERROR :Closing Link: by sw2.de.quakenet.org <Registration Timeout>

Olen koittanut lähettää user ja nick viestit heti kun olen yhdistänyt ja silloin kun nuo neljä notice auth viestiä ovat tulleet, mutta kumpikaan tapa ei ole toiminut. Jostain syystä ei tule PING viestiä. Minkälaiset nuo user ja nick viestit pitäisivät olla, minä olen tehnyt näin:

sNickmsg            db 'NICK nikki',0
sUsermsg            db 'USER nikki 0 * :oikeenimi',0

Koodin pitäisi olla muuten oikein, mutta epäilen että toimimattomuus johtuu noista kahdesta viestistä.

mikeful [12.02.2007 00:43:33]

#

Yritä yhdistää toisille servereille tai kokonaan toisiin verkkoihin ja katso tuleeko sama ongelma.

HellRazor [12.02.2007 09:34:30]

#

Telnetillä tuo onnistuu quakenettiin, mutta epäilenkin että noiden viestien perään kuuluu jotain muuta kuin tuo 0. Kysymys kuuluu että mitäköhän sinne perään sitten kuuluu?

A-P [12.02.2007 09:57:22]

#

HellRazor kirjoitti:

Telnetillä tuo onnistuu quakenettiin, mutta epäilenkin että noiden viestien perään kuuluu jotain muuta kuin tuo 0. Kysymys kuuluu että mitäköhän sinne perään sitten kuuluu?

Huom! En ole tutustunut IRC-protokollan määrittelyyn, mutta yleensä internetin "palveluissa" rivinvaihtona käytetään ASCII-arvoja 10 ja 13 eli C:llä \r\n.

sooda [12.02.2007 11:45:48]

#

A-P kirjoitti:

ASCII-arvoja 10 ja 13 eli C:llä \r\n.

Eikös \r\n ole kuitenkin 13 ja 10 eikä 10 ja 13?

A-P [12.02.2007 12:19:39]

#

sooda kirjoitti:

A-P kirjoitti:

ASCII-arvoja 10 ja 13 eli C:llä \r\n.

Eikös \r\n ole kuitenkin 13 ja 10 eikä 10 ja 13?

No niinhän se on. Pitipä mokata.

feenix [12.02.2007 12:47:33]

#

Tosiaan nollatavuja ei IRC-protokollassa heitellä vaan rivinvaihtoja. Koko protokolla on täysin tekstimuotoinen.

_Pete_ [12.02.2007 14:14:17]

#

http://www.faqs.org/rfcs/rfc2812.html

Selittänee asiaa :)

HellRazor [12.02.2007 14:56:13]

#

Olen lukenut tuon irc client protokolla tekstin ties kuinka monta kertaa, mutta siinä ei käsitellä asiaa miten se tehdään assemblyllä. Eli ymmärsinkö oikein ettei sinne lähetetä tuota nollaa vaan 10 ja 13? Voinko lähettää ne suoraan kun olen yhdistänyt vai tarviiko odottaa noita notice auth viestejä?

Päivitys: Sain toimimaan! Se tosiaan tarvitsi nuo 10, 13 olen erittäinen kiitollinen kaikista neuvoista!

Lumpio [12.02.2007 17:46:41]

#

HellRazor kirjoitti:

Olen lukenut tuon irc client protokolla tekstin ties kuinka monta kertaa, mutta siinä ei käsitellä asiaa miten se tehdään assemblyllä.

Joo, ei kyl käsitellä C:täkään tai FORTRANiakaan tai edes Brainfuckia. Ei se RFC ota kieleen mitään kantaa...

Quirzo [18.02.2007 11:08:43]

#

Lähetä ainakin "PASS none" ennen nickia ja useria.

tesmu [18.02.2007 12:10:37]

#

tuo NICK ja USER pitää lähettää tietyssä järjestyksessä en muista kumminpäin...

sUsermsg db 'USER nikki 0 * :oikeenimi',0


pistä tuon "*" tilalle 0 ainakin omassa ircbotissani tuo on 0

ja rivinvaihto viestin perään ainoastaan

HellRazor [23.02.2007 00:42:40]

#

Minulla on tuo * siinä kohtaa ja toimii aivan mainiosti, luultavasti siihen voi pistää mitä lystää. Eikä User ja Nick viesteillä pitäisi olla mitään merkitystä miten päin ne lähettää. Eikä PASS viesti ole ollenkaan pakollinen.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta