[{"data":1,"prerenderedAt":292},["ShallowReactive",2],{"project-11542123":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":41,"post_text":44,"what":45,"said":80,"maker_in_thread":165,"shape":168,"grid":172,"attempts":255,"same_week":256,"maker_shows":37,"maker_hidden":284,"reader_version":285,"card":286},"11542123","bot-wat","Turned Facebook Messenger into a JavaScript REPL","title","Show HN: Turned Facebook Messenger into a JavaScript REPL","http:\u002F\u002Fgithub.com\u002Fperalmq\u002Fbot-wat","github.com","peralmq",1461246897,2016,171,33,180,2264,8,"notable","dev_tools","javascript repl bot","other",[24,25,26,27],"javascript repl","messenger bot","javascript eval","node vm","curious",-0.077,{"positive":31,"neutral":18,"mixed":32,"critical":33},2,0,4,14,{"privacy":36,"execution":38,"idea":39,"docs":40},{"positive":37,"critical":31},1,{"positive":32,"critical":32},{"positive":37,"critical":37},{"positive":32,"critical":32},[32,32,32,32,32,32,32,32,32,32,32,32,42,43,43,37,37,43,32,42,32,32,37,43,43,32,32,32,37,32,43,43,43],5,3,null,{"problem":44,"audience":44,"pricing":44,"motivation":44,"time_to_build":44,"stack":46,"openness":78,"stage":79,"team_size":78},[47,55,66,71],{"value":48,"source":49,"evidence":50},"JavaScript","commenter",[51],{"id":52,"by":53,"text":54},"11542393","tomsmeding","Happy to see that it uses the safe-eval library, which appears to fix code injection issues. Haven't checked that well though.",{"value":56,"source":49,"evidence":57},"Node.js",[58,62],{"id":59,"by":60,"text":61},"11542489","aeharding","\"safe-eval lets you execute JavaScript code without having to use the much discouraged and feared upon eval(). safe-eval has access to all the standard JavaScript API of the…",{"id":63,"by":64,"text":65},"11543206","dsp1234","It's important to note that running code in vm.runInNewContext is not advised for 'untrusted code' according to the documentation. So probably not good to let random people use…",{"value":67,"source":49,"evidence":68},"safe-eval npm library",[69,70],{"id":52,"by":53,"text":54},{"id":59,"by":60,"text":61},{"value":72,"source":49,"evidence":73},"Facebook Messenger Platform",[74],{"id":75,"by":76,"text":77},"11543375","codegefluester","Facebook launched an API for this at F8 this year https:\u002F\u002Fdevelopers.facebook.com\u002Fdocs\u002Fmessenger-platform","unknown","prototype",{"praise":81,"objections":86,"requests":109,"questions":117,"alternatives":143},[82],{"value":83,"source":49,"evidence":84},"Safe-eval use seen as a positive",[85],{"id":52,"by":53,"text":54},[87,95,102],{"value":88,"source":49,"evidence":89},"Running untrusted code in node vm is unsafe",[90,91],{"id":63,"by":64,"text":65},{"id":92,"by":93,"text":94},"11543262","realusername","https:\u002F\u002Fgithub.com\u002Fhacksparrow\u002Fsafe-eval\u002Fblob\u002Fmaster\u002Findex.js Maybe it's not a nice idea to use Math.random for secure and unique keys.",{"value":96,"source":49,"evidence":97},"Facebook bot approval unlikely for this app",[98],{"id":99,"by":100,"text":101},"11547146","goblin89","Messenger Platform docs happen to showcase very specific acceptable examples of what bots are expected to do[0]. An app like this doesn’t look likely to be approved to be…",{"value":103,"source":104,"evidence":105},"Bot is not publicly accessible; the Messenger link is broken","maker",[106],{"id":107,"by":11,"text":108},"11551354","Hey, yes, sorry, I had misunderstood the Facebook Messenger bot review process. Thought that it was enough to publish the Facebook page in order to be able to receive and send…",[110],{"value":111,"source":49,"evidence":112},"Let the bot be publicly accessible",[113],{"id":114,"by":115,"text":116},"11543527","lacker","Do you have a link to the bot running in Messenger? The https:\u002F\u002Fwww.facebook.com\u002FgdY7MU\u002Fmessages\u002F link in the repo appears to be broken.",[118,125,132],{"value":119,"source":49,"evidence":120},"What does safe eval mean?",[121],{"id":122,"by":123,"text":124},"11542470","_RPM","\"safe eval\". What does that even mean?",{"value":126,"source":49,"evidence":127},"Is there a JavaScript REPL on iPhone Safari?",[128],{"id":129,"by":130,"text":131},"11543166","mbrock","Where's the JavaScript REPL on iPhone Safari?",{"value":133,"source":49,"evidence":134},"Does Messenger have an API for unofficial clients?",[135,139],{"id":136,"by":137,"text":138},"11543050","MaddoScientisto","Is sending and receiving messages through facebook messenger still limited to the official app or did they add back an API to replace the old XMPP interface?",{"id":140,"by":141,"text":142},"11544707","kevincox","I think that is different from what he is asking. I believe MaddoScientisto was talking about and API that could be used to create unofficial clients. The API you provided…",[144,151,158],{"value":145,"source":49,"evidence":146},"Browser developer console",[147],{"id":148,"by":149,"text":150},"11542782","amelius","Or you could just open the developer console ...",{"value":152,"source":49,"evidence":153},"pypie Python interpreter Slack bot",[154],{"id":155,"by":156,"text":157},"11543202","abdelhai","That's similar to the Python interpreter bot \"pypie\" that we made a couple of weeks ago for our Slack group \"#devchat\". https:\u002F\u002Fgithub.com\u002Fdevolio-devchat\u002Fpypie Bots are awesome!",{"value":159,"source":49,"evidence":160},"Safari javascript: bookmarklet",[161],{"id":162,"by":163,"text":164},"11545753","xigency","You can create a bookmark, save it, and edit it to a \"javascript:\" link which mobile Safari will execute. If you normally try to type JavaScript in the address bar, Safari will…",{"comments":37,"answered":37,"key":166},[167],{"id":107,"text":108},{"commenters":169,"max_depth":42,"maker_replies":37,"first_comment_mins":170,"lifespan_hours":171},30,35,28,[173,177,181,184,187,190,193,197,199,201,204,207,210,212,214,215,217,218,220,222,226,229,231,233,235,237,238,242,244,246,250,251,254],[174,32,32,175,176,32],"11542476","other\u002Fpositive\u002Fidea","emirozer",[178,32,32,179,180,32],"11542571","other\u002Fneutral\u002Fnone","untothebreach",[182,32,32,179,183,32],"11542718","jeremiep",[185,32,32,179,186,32],"11543824","Cyph0n",[188,32,32,179,189,32],"11543011","th0ma5",[191,32,32,179,192,32],"11543049","gary_bernhardt",[194,32,32,195,196,32],"11543219","commenter\u002Fneutral\u002Fnone","Gigablah",[198,32,32,195,189,32],"11544133",[200,32,32,179,192,32],"11546646",[202,32,32,179,203,32],"11543030","jdcarter",[205,32,32,179,206,32],"11543071","_pmf_",[208,32,32,179,209,32],"11543613","gr3yh47",[52,37,42,211,53,32],"project\u002Fpositive\u002Fprivacy",[122,37,43,213,123,32],"project\u002Fneutral\u002Fprivacy",[59,37,43,213,60,32],[63,37,37,216,64,32],"project\u002Fcritical\u002Fprivacy",[92,37,37,216,93,32],[114,31,43,219,115,32],"project\u002Fneutral\u002Fexecution",[107,31,32,221,11,37],"maker\u002Fneutral\u002Fexecution",[223,43,42,224,225,32],"11542846","project\u002Fpositive\u002Fidea","asimuvPR",[227,43,32,179,228,32],"11544719","tedmiston",[230,43,32,179,225,32],"11544788",[99,33,37,232,100,32],"project\u002Fcritical\u002Fnone",[136,42,43,234,137,32],"project\u002Fneutral\u002Fnone",[75,42,43,236,76,32],"project\u002Fneutral\u002Fdocs",[140,42,32,195,141,32],[239,240,32,179,241,32],"11544895",6,"atishay811",[155,243,32,175,156,32],7,[148,18,37,245,149,32],"project\u002Fcritical\u002Fidea",[247,18,32,248,249,32],"11542811","commenter\u002Fneutral\u002Fidea","nkrisc",[129,18,43,234,130,32],[252,18,43,234,253,32],"11543986","nacs",[162,18,43,234,163,32],[],[257,261,266,271,275,279],{"id":258,"name":259,"points":260,"category":20},"11542005","Bootstrap 4 cheat sheet",847,{"id":262,"name":263,"points":264,"category":265},"11555527","QBE",241,"languages",{"id":267,"name":268,"points":269,"category":270},"11540265","colornet",219,"ai",{"id":272,"name":273,"points":274,"category":265},"11577585","Type Inference",136,{"id":276,"name":277,"points":278,"category":265},"11560874","Intro.js",126,{"id":280,"name":281,"points":282,"category":283},"11547646","FocusBook",122,"productivity",false,"v2",{"id":287,"name":5,"line":6,"ai":284,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":288,"top":18,"kw":289,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":290,"url":9,"mix":291,"praise":83,"objection":88,"sub":21},11542123,-0.08,[24,25,26,27],"000000000000533113050013300010333",[31,18,32,33],1794036543622]