"); return; } $debug_mode=False; $parts=explode(" ",$trailing); if ($parts[0]=="debug") { $debug_mode=True; array_shift($parts); $trailing=implode(" ",$parts); } $url=$trailing; $response=wget_proper($url); $source_html=strip_headers($response); $source_title=extract_raw_tag($source_html,"title"); term_echo($source_title); $i=strpos($source_title,"--"); if ($i!==False) { $source_title=trim(substr($source_title,0,$i)); } $i=strpos($source_title,"|"); if ($i!==False) { $source_title=trim(substr($source_title,0,$i)); } $i=strpos($source_title," - "); if ($i!==False) { $source_title=trim(substr($source_title,0,$i)); } $i=strpos($source_title," : "); if ($i!==False) { $source_title=trim(substr($source_title,0,$i)); } $i=strpos($source_title," — "); if ($i!==False) { $source_title=trim(substr($source_title,0,$i)); } $i=strpos($source_title," • "); if ($i!==False) { $source_title=trim(substr($source_title,0,$i)); } $source_title=trim($source_title); if (($source_title===False) or ($source_title=="")) { privmsg("error: title not found or empty"); return; } $source_title=html_decode($source_title); $source_title=html_decode($source_title); $source_body=extract_meta_content($source_html,"description"); if (($source_body===False) or ($source_body=="")) { $source_body=extract_meta_content($source_html,"og:description","property"); if (($source_body===False) or ($source_body=="")) { privmsg("error: description meta content not found or empty"); return; } } /*$html=$source_html; $article=extract_raw_tag($html,"article"); if ($article!==False) { $html=$article; } strip_all_tag($html,"head"); strip_all_tag($html,"script"); strip_all_tag($html,"style"); #strip_all_tag($html,"a"); strip_all_tag($html,"strong"); $html=strip_tags($html,"

"); $html=lowercase_tags($html); $html=explode("",$html[$i]); if (count($parts)>=2) { array_shift($parts); $html[$i]=implode(">",$parts); } $html[$i]=strip_tags($html[$i]); $html[$i]=clean_text($html[$i]); $host_parts=explode(".",$host); for ($j=0;$j3) { if (strpos(strtolower($html[$i]),strtolower($host_parts[$j]))!==False) { continue 2; } } } if (filter($html[$i],"0123456789")<>"") { continue; } if (strlen($html[$i])>1) { if ($html[$i][strlen($html[$i])-1]<>".") { continue; } while (True) { $j=strlen($html[$i])-1; if ($j<0) { break; } $c=$html[$i][$j]; if ($c==".") { break; } $html[$i]=substr($html[$i],0,$j); } } if (strlen($html[$i])>100) { $source_body[]=$html[$i]; } } #var_dump($source_body); #return; $source_body=implode("\n\n",$source_body); #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if ($alias=="~filter") { $source_body=$source_title."\n\n".$source_body."\n\n".$url; $host="paste.my.to"; $port=80; $uri="/"; $params=array(); $params["content"]=$source_body; $response=wpost($host,$uri,$port,ICEWEASEL_UA,$params); privmsg(" ".exec_get_header($response,"location")); return; } $source_body=html_decode($source_body); $source_body=html_decode($source_body); #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # the following code posts a submission to SoylentNews #return; if ($nick<>"crutchy") { privmsg("exec's submit script is borken. blame crutchy"); return; } */ $host="soylentnews.org"; if ($debug_mode==True) { $host="dev.soylentnews.org"; } $port=443; $uri="/submit.pl"; $response=wget($host,$uri,$port,ICEWEASEL_UA); $html=strip_headers($response); $reskey=extract_text($html,""); if ($reskey===False) { privmsg("error: unable to extract reskey"); return; } sleep(30); $params=array(); $params["reskey"]=$reskey; #$params["name"]=trim(substr($nick,0,50)); $params["name"]=get_bot_nick(); $params["email"]=""; $params["subj"]=trim(substr($source_title,0,100)); $params["primaryskid"]="1"; $params["tid"]="6"; $params["sub_type"]="plain"; $params["story"]=$source_body."\n\n".$url."\n\n-- submitted from IRC"; $params["op"]="SubmitStory"; $response=wpost($host,$uri,$port,ICEWEASEL_UA,$params); $html=strip_headers($response); strip_all_tag($html,"head"); strip_all_tag($html,"script"); strip_all_tag($html,"style"); strip_all_tag($html,"a"); $html=strip_tags($html); $html=clean_text($html); var_dump($html); # TODO: extract success/error message and output to IRC if (strpos($html,"Thanks for the submission.")!==False) { privmsg("submission successful - https://$host/submit.pl?op=list"); } else { privmsg("error: something went wrong with your submission"); } ##################################################################################################### ?>