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.
 
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