2015-03-23 5 views
0

Я пытаюсь использовать mIRC для чтения короткой строки текста с url и эха/писать его в чате, когда кто-то набирает! Test.mIRC socket читать текст с url

Хост сокета XXXXXXXXXXXX, потому что он работает на вашем компьютере.

Данные на странице не долго, вот страница.

SnOwEfLaKe's Battlefield 4 (pc) Stats | Ранг: 140 | Убийств: 66393 | K/D: 2 | W/L: 1,38 | Оценка: 60646533 | Сыграно раз: 53.27 дней | Точность: 14,17%

alias demo { 
var %user = $$1, %chan = $2, %sockname = demo. $+ $ticks 
hfree -w %sockname | hmake %sockname 
hadd %sockname user %user 
hadd %sockname chan %chan 
hadd %sockname host XXXXXXXXX 
hadd %sockname port 80 
hadd %sockname request /nb/bf4stats.php 
sockopen -e %sockname $hget(%sockname,host) $hget(%sockname,port) 
} 

on *:text:!test:#:{ 
demo # 
} 

on *:sockopen:demo.*: { 
var %<< = sockwrite -nt $sockname 
%<< GET $hget($sockname,request) HTTP/1.0 
%<< Host: $sock($sockname).addr 
%<< $crlf 
} 

on *:sockread:demo.*: { 
var %header, %content 
if (!$hget($sockname,header.complete)) { 
sockread %header 
while (%header != $null) { 
    if (HTTP/* 2?? * iswm %header) { hadd $sockname following $true } 
    elseif (HTTP/* 4?? * iswm %header) { hadd $sockname following $false } 
    ;echo -ag %header 
    sockread %header 
} 
if ($sockbr) hadd $sockname header.complete $true 
} 

if ($hget($sockname,header.complete)) { 
while ($sockbr) { 
    sockread -f %content 
    ;if (%content != $null) echo -ag %content 
} 
} 
} 

on *:sockclose:demo.*:{ 
    if ($hget($sockname,following)) { var %msg = Following } 
    else { var %msg = Not following } 

if ($hget($sockname,chan)) { msg $v1 %msg } 
    else { echo -ag %msg } 

    hfree $sockname 
} 

Я не имея каких-либо удачи

ответ

0

я понял, как это сделать.

on *:TEXT:*:#blood_wolf89:{ 
if ($strip($1) === !bf4stats) { 
var %user = $iif($2, $strip($2), Blood_Wolff89) 
var %urlSafeUser = $regsubex(%user, /[^a-z\d_-]/gi, % $+ $base($asc(\t), 10, 16, 2)) 
var %url = http://api.bf4stats.com/api/playerInfo?plat=pc&name= $+ %urlSafeuser 

JSONOpen -ud bf4stat %url 

var %name = $JSON(bf4stat, player, name) 
var %rank = $JSON(bf4stat, player, rank, nr) 
var %score = $JSON(bf4stat, player, score) 

var %kills = $JSON(bf4stat, stats, kills) 
var %deaths = $JSON(bf4stat, stats, deaths) 
var %kdRatio = $round($calc(%kills/%deaths), 2) 

var %wins = $JSON(bf4stat, stats, numWins) 
var %losses = $JSON(bf4stat, stats, numLosses) 
var %wlRatio = $round($calc(%wins/%losses), 2) 


var %played = $duration($JSON(bf4stat, stats, timePlayed)) 

var %hits = $JSON(bf4stat, stats, shotsHit) 
var %misses = $JSON(bf4stat, stats, shotsFired) 
var %accuracy = $round($calc(%hits/%misses * 100),2) $+ % 
if ((%user == %name) || (%urlSafeuser == %name)) { msg # [BF4Stats]: %name  $+ 's Battlefield 4(PC) Stats $(|,0) Rank: %rank $(|,0) Kills: %kills $(|,0) K/D: %kdRatio $(|,0) W/L: %wlRatio $(|,0) Score: %score $(|,0) Time Played: %played $(|,0) Accuracy: %accuracy } 
if ((%urlSafeuser !== %name)) { msg # [BF4Stats]: Invalid Battlefield 4 Name. } 
} 
} 

И после этого у меня есть синтаксический анализатор JSON, который я получил здесь: http://hawkee.com/snippet/10194

 Смежные вопросы

  • Нет связанных вопросов^_^