Python ircbot geeft error:[errno]10053

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Jantje2000
  • Registratie: Februari 2016
  • Laatst online: 13:48
Ik ben momenteel bezig met een low-level Ircbot om mijn kennis een beetje te oefenen en om te leren. Momenteel gaat hij steeds eerst proberen te connecten, maar dan geeft hij de volgende output:

:sinisalo.freenode.net NOTICE * :*** Looking up your hostname...
:sinisalo.freenode.net NOTICE * :*** Checking Ident
:sinisalo.freenode.net NOTICE * :*** Couldn't look up your hostname

[Errno 10035] Een niet-blokkerende socketbewerking kan niet onmiddellijk worden voltooid

:sinisalo.freenode.net NOTICE * :*** No Ident response
:sinisalo.freenode.net 461 * USER :Not enough parameters
:sinisalo.freenode.net 451 * :You have not registered

[Errno 10035] Een niet-blokkerende socketbewerking kan niet onmiddellijk worden voltooid

Die errno 10035 blijft hij steeds maar printen naar de console


Relevante software en hardware die ik gebruik
Ik heb momenteel de volgende code:

import sys
import time
import socket

server = "irc.freenode.net"
botnick = "Jantje2000_BOT"
channel = "##testit"

commands = {
"Hoi": "Hoi",
"Hoe gaat het" : "Goed, en met jou?"
}

#Establish connection
irc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
irc.connect((server, 6667))
irc.setblocking(False)
irc.send("USER "+botnick+" "+botnick+" :Hello! I am a test bot!\r\n")
irc.send("NICK "+botnick+"\n")
irc.send("JOIN "+channel+"\n")

text = ""

while 1:
time.sleep(0.1)
try:
text=irc.recv(2040)
print text
except Exception, e:
print e
if text.find("PING")!=-1:
irc.send("PONG "+text.split()[1]+"\r\n")
for tell, send in commands.items():
if text.lower().find(tell)!=-1:
irc.send("PRIVMSG "+channel+" "+send+"\r\n")

input()


Ik gebruik overigens python 2.7

Wat ik al gevonden of geprobeerd heb
Ik heb al gezocht op Google en ik lees er veel over op StackOverFlow, maar dat zijn allemaal andere gevallen en ik heb geen idee hoe ik dit dan in dit geval zou kunnen oplossen.

De wet van Murphy: Alles wat fout kan gaan zal fout gaan.

Beste antwoord (via Jantje2000 op 13-08-2016 07:03)


  • Feanathiel
  • Registratie: Juni 2007
  • Niet online

Feanathiel

Cup<Coffee>

Je zit in non-blocking modus. Deze exception treedt op wanneer normaliter (blocking modus) de thread geblokkeerd zou worden totdat er een response terug komt. Er is nu geen response terug gekomen, dus zul je moeten wachten totdat de verbinding tot stand is gekomen of totdat er data beschikbaar is (=nog een keer callen op een later tijdstip).

bron

[ Voor 9% gewijzigd door Feanathiel op 12-08-2016 22:56 ]

Alle reacties


Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • Feanathiel
  • Registratie: Juni 2007
  • Niet online

Feanathiel

Cup<Coffee>

Je zit in non-blocking modus. Deze exception treedt op wanneer normaliter (blocking modus) de thread geblokkeerd zou worden totdat er een response terug komt. Er is nu geen response terug gekomen, dus zul je moeten wachten totdat de verbinding tot stand is gekomen of totdat er data beschikbaar is (=nog een keer callen op een later tijdstip).

bron

[ Voor 9% gewijzigd door Feanathiel op 12-08-2016 22:56 ]


Acties:
  • 0 Henk 'm!

  • Jantje2000
  • Registratie: Februari 2016
  • Laatst online: 13:48
Dankjewel. Ik heb het opgelost.

De wet van Murphy: Alles wat fout kan gaan zal fout gaan.


Acties:
  • 0 Henk 'm!

  • klinz
  • Registratie: Maart 2002
  • Laatst online: 11-10 11:41

klinz

weet van NIETS

Wellicht handig om te vermelden hoe je het hebt opgelost.

Acties:
  • 0 Henk 'm!

  • Jantje2000
  • Registratie: Februari 2016
  • Laatst online: 13:48
Ik heb de irc.setblocking(False) regel wegehaalt

De wet van Murphy: Alles wat fout kan gaan zal fout gaan.