Administrators chain Posted December 21, 2022 Administrators Report Share Posted December 21, 2022 I posted up a YMSG generic style login, and since then something happened that has prevented it from sending text to room. Not to mention it had typos (sorry). I've made a new connection using YMSG 17 protocol, Yahoos latest protocol. Theres Tons that can be done with this, its basically barebones login. With the packets coming on login there are buddy lists, ignore lists, alias name lists if you have them, add request lists as well as voice ticket when you join a room to enable the microphone. I use this login for a trivia bot on yahoo. The Problem you might have entering a room is knowing the room name as well as the 4 digit identifier for the category or whatever its for. I have another snippet posted on hawkee to get a yahoo rooms list, using that snippet with this one should work to get you a rooms list from the american yahoo server. or go here for yahoo real time list http://insider.msg.yahoo.com/ycontent/?chatcat Have Fun. 🙂 ;====TYPE /login :====IF YOU HAVEN'T ALREADY ENTERED A NICK/PASS/ROOM/ROOM ID ;====THE POPUPS WILL SET THEM ALL AS VAIABLES. ;====I HAVE LEFT MOST LOGIN INFORMATION SET AS VARIABLES, COOKIES PASSWORD ETC. ;====THE INTENTION WAS ONLY FOR PPL INTERESTED IN SCRIPTING mIRC/YAHOO CHAT. ;====THERE ARE MORE COOKIES ANS ENCRYPTED KEYS I DID NOT SAVE LIKE VOICE TICKET AND OTHER COOKIES. ;====THERES INFORMATION SUCH AS ALIAS NAMES ACCOUNT NAME IGNORE LIST BUDDY LIST ETC ALL IGNORED BY THIS SCRIPT ON SIGN IN. ;====HEY MAN ITS JUST A SNIPPET, ANYBODY HAVE A COOL SMILEY ADDON OR WANT TO HELP ME WITH A VOICE CONNECTION? alias -l tok_ker return $+(GET /config/pwtoken_get?src=ymsgr&login=,%y.id,&passwd=,%y.pw,&chal=,%y_chlng,$crlf,$crlf) alias -l git_aut return $+(GET /config/pwtoken_login?src=ymsgr&token=,$remove(%y_tokn,$chr(10)),$crlf,$crlf) alias -l shrt_pk return $+(1À€,%y.id,À€) alias -l case return $bvar(&ysl,12) alias -l d_bug return 9 $sockname $bvar(&ysl,1,20) $bvar(&ysl,18,$bvar(&ysl,0).text).text alias -l YMSG_head return Y M S G 0 17 0 0 0 $chr($len($shrt_pk)) 0 W 0 0 0 0 0 0 0 0 alias -l rm.wind if ($window(@ $+ %room) == $null) { //window -eil15S @ $+ %Y_room yroompops.txt } alias -l ymsg_17 $ypack(T,$+(1À€,%y.id,À€0À€,%y.id,À€277À€,%y_ck,À€278À€,%t_ck,À€307À€,$ym64,À€244À€,$y.rand,À€2À€,%y.id,À€2À€1À€98À€usÀ€135À€ym9.0.0.2162À€)) alias -l prjn $ypack(–,$+(109À€,%y.id,À€1À€,%y.id,À€6À€abcdeÀ€98À€usÀ€135À€ym9.0.0.2162À€)) alias -l jrm { $rm.wind | $ypack(˜,$+(1À€,%y.id,À€104À€,%y_room,À€129À€,%rm2,À€62À€2À€24À€1188648944À€)) } alias -l striptags { var %x,%y = $regsub($1-,/<[^>]+>/g,$null,%x) | return $striphex(%x) } alias -l striphex { var %z,%a = $regsub($1-,/[/[/#0-9A-Fa-fm]{9}/g,$null,%z) | return %z } alias -l aut_sox sockopen -e $1 login.yahoo.com 443 alias -l y.rand return $rand(16777219,60970879) on *:input:@ $+ %room: { if ($left($1,1) != /) && ($window(@ $+ %y_room) != $null) { /spk $1- } | echo @ $+ %y_room %y.id $+ : $1- } alias spk { %text = $1- | $ypack(¨,$+(1À€,%y.id,À€104À€,%y_room,À€117À€<font INF ID:FU2Booters:!M PROT:YMSG-17\mIRC VER: $+ $version $+ ></font><font face="Arial">[1m[#000000m,%text,</font>À€124À€1À€)) } alias prejn prjn | jrm alias login { if (!%Y.id) { %y.id = $?="Enter Your Yahoo Nickname." } if (!%Y.pw) { %Y.pw = $?*="Enter Your Yahoo Password." } if (!%Y_room) { set %y_room $?="Yahoo Room To Join." } if (!%rm2) { set %rm2 $?="ROOM IDENTIFIER To Join." } sockopen yh_chat_srv 68.180.217. $+ $rand(6,34) 80 } on 1:sockclose:yh_get_cookie: { ymsg_17 } on 1:sockread:yh_*: { if ($sockerr > 0) return sockread -f $sock($sockname).rq &ysl var %len $bvar(&ysl,0).text breplace &ysl 0 160 if ($sockname == yh_chat_srv) { if ($case = 87) { %y_chlng = $remove($gettok($bvar(&ysl,21,%len).text,$calc($numtok($bvar(&ysl,21,%len).text,192) - 1),192),€) %y_ssid = $bvar(&ysl,18,3).text echo -s 12,5Got Challenge 8:) $aut_sox(yh_get_tok) halt } if ($case = 241) { echo -a You are now logged onto Yahoo! Chat :) 1,8 Type /prejn to go to the room. | halt } if ($case = 150) { echo -a Ready To Join. | halt } if ($case = 168) { aline -p @ $+ %y_room 3 $+ $remove($gettok($bvar(&ysl,1,%len).text,4,192),€) 9 $+ $ansi2mirc($striptags($remove($gettok($bvar(&ysl,1,%len).text,6,192),€)))) | halt } if ($case = 152) && (admin isin $gettok($bvar(&ysl,1,%len).text,$count($bvar(&ysl,1,%len).text,À),192)) { $list_room($bvar(&ysl,21,%len).text) | halt } if ($case = 152) { aline -ln @ $+ %y_room $remove($gettok($bvar(&ysl,1,%len).text,8,192),€) | aline -p @ $+ %y_room 12 $remove($gettok($bvar(&ysl,1,%len).text,8,192),€) Joined # $+ %y_room $+ . | halt } if ($case = 155) { dline -l @ $+ %Y_room $fline(@ $+ %Y_room,$remove($gettok($bvar(&ysl,1,%len).text,6,192),€),1,1) | aline -p @ $+ %y_room 2 $remove($gettok($bvar(&ysl,1,%len).text,6,192),€) Parted # $+ %y_room $+ . | halt } if ($case = 85) { halt } } if ($sockname == yh_get_tok) { var %grab_tok $bvar(&ysl,1,%len).text %y_tokn = $remove($gettok(%grab_tok,2,10),$chr(13),ymsgr=) | %y_prtnr_id = $remove($gettok(%grab_tok,3,10),$chr(13),partnerid==) echo 12 -s Got Token :) $aut_sox(yh_get_cookie) halt } if ($sockname == yh_get_cookie) { if (crumb= isin $gettok($bvar(&ysl,1,%len).text,2,10)) { %Y_crumb = $gettok($remove($gettok($bvar(&ysl,1,%len).text,2,10),crumb=,$chr(13),$chr(10)),1,32) %Y_ck = $gettok($remove($gettok($bvar(&ysl,1,%len).text,3,10),Y=,$chr(13),$chr(10),$chr(59)),1,32) %T_ck = $gettok($remove($gettok($bvar(&ysl,1,%len).text,4,10),T=,$chr(13),$chr(10),$chr(59)),1,32) } } if ($bfind(&ysl,1,89 77 83 71)) { echo -s $replace($d_bug },160,) } } on 1:sockopen:yh_*: { if ($sockname == yh_get_cookie) { sockwrite -n yh_get_cookie $git_aut } if ($sockname == yh_get_tok) { sockwrite -n yh_get_tok $tok_ker } if ($sockname == yh_chat_srv) { bset &pcktB 1 Y M S G 0 17 0 0 0 $chr($len($shrt_pk)) 0 W 0 0 0 0 0 0 0 0 bwrite &Bpack 1 -1 &pcktB bwrite &Bpack -1 -1 $shrt_pk bread &Bpack 1 $calc($len($shrt_pk) + 20) &packB sockwrite yh_chat_srv &packB .remove &Bpack } } alias -l yahoo.size { var %a = $gettok($calc($len($1-) / 256),1,46) var %b = $calc($len($1-) - $calc(%a * 256)) return %a %b } alias -l ypack { bset &head 1 Y M S G 0 17 0 0 $yahoo.size($2-) 0 $1 0 0 0 12 0 bwrite &packt 1 -1 &head | bwrite &packt -1 -1 %y_ssid | bwrite &packt -1 -1 $2- bread &packt 1 $calc($len($2-) + 20)) &ysend sockwrite yh_chat_srv &ysend .remove &packt } alias -l Ym64 { var %offset = $md5(%y_crumb $+ %Y_chlng) var %inspc = 2 :loop var %spcd = %spcd $chr($base($right($left(%offset,%inspc),2),16,10)) if ($len(%offset) = %inspc) { return $replace($encode($remove(%spcd,$chr(32)) ,m),+,.,/,_,=,-) | halt } inc %inspc 2 goto loop } alias -l list_room { var %list $remove($1-,€) if (Captcha isin $gettok(%list,6,192)) { echo -a $gettok(%list,6,192) | halt } var %num_nms $numtok(%list,192) var %sum_num 1 while (%sum_num <= %num_nms) { if (110 isin $gettok(%list,%sum_num,192)) { aline -nl @ $+ %y_room $gettok(%list,$calc(%sum_num - 1),192) } inc %sum_num } } Quote Link to comment Share on other sites More sharing options...