mIRC Text von Internetseite

ClocxHD

Lt. Junior Grade
Registriert
Aug. 2014
Beiträge
376
Hallo,

ich habe vor, mit einem mIRC-Script Sprüche von einer Internetseite im Chat auszugeben.
Auf dieser Seite wird bei jeden Aufruf ein anderer Spruch ausgegeben, aber immer nur der Satz.

Ich habe es schon folgendermaßen versucht:
Code:
on *:text:!evil:#clocxhd:{
  evil
}

alias evil {
  sockopen evilsock http://blurredpixl.com/namiswelt/evil.php 80
}

on *:sockread:evilsock:{
  var %spruch
  sockread %spruch

  echo %spruch
  .msg #clocxhd %spruch
  
  sockclose $sockname
}

Wie könnte das funktionieren?

LG,
ClocxHD
 
Was bei dir komplett fehlt ist eine HTTP Anfrage an deinen geöffneten Sock. In deinem Falle ein GET.
 
Und wie mache ich mit mIRC ein GET-Request?
 
Code:
on *:text:!evil:#clocxhd:{
  evil
}

alias evil {
  sockopen evilsock http://blurredpixl.com/namiswelt/evil.php 80
}

on *:sockopen:evilsock:{ 
  sockwrite -n evilsock GET /namiswelt/evil.php HTTP/1.1 
  sockwrite -n evilsock Host: blurredpixl.com
  sockwrite -n evilsock
}

on *:sockread:evilsock:{
  if ($sockerr) {
    echo -a Error
  }
  else {
    var %spruch
    sockread %spruch

    echo %spruch
    .msg #clocxhd %spruch
    
    sockclose $sockname
  }
}

Geht das so? Ist komplett ungetestet :D
Basiert auf: http://forums.mirc.com/ubbthreads.php/topics/235008/Re:_Socket's_website_connectio#Post235008
 
Dann bekomme ich folgende Meldung:
Code:
* /sockwrite: 'evilsock' not connected (line 24, remote.ini)
 
Code:
on *:text:!evil:#clocxhd:{
  evil
}

alias evil {
  var %sockname evilsock

  // Hashtable anlegen
  hfree -w %sockname | hmake %sockname

  // Request-Daten festlegen
  hadd %sockname host blurredpixl.com
  hadd %sockname request /namiswelt/evil.php
  hadd %sockname port 80

  sockclose %sockname
  sockopen %sockname $hget(%sockname,host) $hget(%sockname,port)
}

on *:sockopen:evilsock:{
  sockwrite -n $sockname GET $hget($sockname,request) HTTP/1.1
  sockwrite -n $sockname Host: $sock($sockname).addr
  sockwrite -n $sockname $crlf
}

on *:sockread:evilsock:{
  var %header, %content

  // HTTP-Headers lesen
  if (!$hget($sockname,header.complete)) {
    sockread %header
    while (%header != $null) {
      sockread %header
    }
    // HTTP-Headers abgearbeitet
    if ($sockbr) hadd $sockname header.complete $true
  }

  // Content lesen und ausgeben
  if ($hget($sockname,header.complete)) {
    while ($sockbr) {
      sockread -f %content
      if (%content != $null) {
        echo -ag %content
        /msg #clocxhd %content
      }
    }
  }
}
Basiert auf: http://forums.mirc.com/ubbthreads.php/topics/241660/Re:_Reading_Text_from_HTTPS_Pa#Post241660

Nur der !evil Trigger im Channel klappt nicht. Mit /evil gehts.
Edit: Ah geht doch, muss ein anderer User schreiben :D
 
Zuletzt bearbeitet:
Zurück
Oben