Skip to content

Instantly share code, notes, and snippets.

@explorigin
Created January 25, 2021 17:44
Show Gist options
  • Save explorigin/f4259450a8abaa0337e865a7ae4affec to your computer and use it in GitHub Desktop.
Save explorigin/f4259450a8abaa0337e865a7ae4affec to your computer and use it in GitHub Desktop.
Lists Skill
<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable id="^RFIIWgteWtbGGe5k/;*">list_name</variable>
<variable id="58Pb!?g`JBb3u!XRMB{?">items</variable>
<variable id="%lP.Y9;X[.,_9|Gebbc)">item_name</variable>
<variable id="!6RW*Qn`q]34Mmq#6Z.d">existing_list</variable>
<variable id="}Fkl[-=0t(YCPUO%0NJr">item_index</variable>
<variable id="5S+flii$$yaW~Gl2~q8|">utterance</variable>
<variable id="];Tr3QzsRbN+JsV/0tW.">utterance_remainder</variable>
</variables>
<block type="on_keyphrase" id="o|PAV%!!sPct@Cz1Z2`." x="46" y="14">
<value name="keyphrase">
<shadow type="text" id="7[wc8R.ygI!?uE,I0%_n">
<field name="TEXT"/>
</shadow>
<block type="text" id="Tnit`:Ju1)u`MJIfTZ#a">
<field name="TEXT">Create a new list</field>
</block>
</value>
<statement name="CODE">
<block type="variables_set" id="}N^*$$nr/d!{K++j9L(;">
<field name="VAR" id="^RFIIWgteWtbGGe5k/;*">list_name</field>
<value name="VALUE">
<block type="get_response" id="gi:zs]sy(w^h7hf6C9HB">
<value name="TEXT">
<shadow type="text">
<field name="TEXT"/>
</shadow>
<block type="text" id="U~#_3UOSxu`o`c===2:V">
<field name="TEXT">What should I call it?</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="t{WiI#R0Fo@`@iWOJoPe">
<field name="VAR" id="58Pb!?g`JBb3u!XRMB{?">items</field>
<value name="VALUE">
<block type="load_data" id="E]H{7|Z;_O@V1NN5hNpP">
<value name="NAME">
<shadow type="text" id="U;wgeh;^fk@^CC]_0-dx">
<field name="TEXT"/>
</shadow>
<block type="variables_get" id=".yJr+cX3d5vT^`of0Ab^">
<field name="VAR" id="^RFIIWgteWtbGGe5k/;*">list_name</field>
</block>
</value>
</block>
</value>
<next>
<block type="controls_if_try" id="+DDhU)^3Wp0rK:FB)ipZ">
<mutation xmlns="http://www.w3.org/1999/xhtml" else="1"></mutation>
<value name="IF0">
<block type="logic_negate" id="s1,?%~Kk!yc~:{YZR@#O">
<value name="BOOL">
<block type="lists_isEmpty" id="FNmOS}kKunhZGx-,h~Fj">
<value name="VALUE">
<block type="variables_get" id="Qq9%rm-ed@-@%Z)X/OIc">
<field name="VAR" id="58Pb!?g`JBb3u!XRMB{?">items</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="speak" id="*d#Fs)IUS#2~f9m47b*o">
<value name="MESSAGE">
<shadow type="text" id="s#BJQ83*)GaZsbv!M(UK">
<field name="TEXT"/>
</shadow>
<block type="multi_text" id="(ZjSvK0w@`b;boaRkuaC">
<field name="NAME">I already have a list named</field>
<value name="NAME">
<block type="variables_get" id="a7jJN2@-+d-^^qm~G9%T">
<field name="VAR" id="^RFIIWgteWtbGGe5k/;*">list_name</field>
</block>
</value>
</block>
</value>
</block>
</statement>
<statement name="ELSE">
<block type="procedures_callnoreturn" id="1tspDfCjpcu;rj3uy$jy">
<mutation name="save a list">
<arg name="list_name"/>
<arg name="items"/>
</mutation>
<value name="ARG0">
<block type="variables_get" id="0L}s8dldd+G:Yw#ULv#e">
<field name="VAR" id="^RFIIWgteWtbGGe5k/;*">list_name</field>
</block>
</value>
<value name="ARG1">
<block type="lists_create_with" id="4~DXphtD./pT7;bu*?%B">
<mutation items="0"/>
</block>
</value>
<next>
<block type="speak_random" id=";gPaz%sX-qZY,o+8n@H~">
<mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation>
<value name="MESSAGE1">
<shadow type="multi_text" id="F6/|srA)9RejwTjQf`Fj">
<field name="NAME"/>
</shadow>
<block type="multi_text" id=".I,d,bxU1*M,)HX?B}!(">
<field name="NAME">Got it</field>
</block>
</value>
<value name="MESSAGE2">
<shadow type="multi_text" id="]obEk!6[;wy~T$7GrJLq">
<field name="NAME"/>
</shadow>
<block type="multi_text" id="i:pFHZFAuA7r2Mm.~N7b">
<field name="NAME">You got it</field>
</block>
</value>
<value name="MESSAGE3">
<shadow type="multi_text" id="d)}.*pDpw1fjE[UXN%s8">
<field name="NAME"/>
</shadow>
<block type="variables_get" id="SFY2qTEiecq-5+pYn1u/">
<field name="VAR" id="^RFIIWgteWtbGGe5k/;*">list_name</field>
<value name="VALUE">
<block type="multi_text" id="X}#)5RZmYf`4Cqe{v?%-">
<field name="NAME">list is available.</field>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="on_keyphrase" id="Z?W6;m$4W7nkN|Zp{?W6" x="45" y="418">
<value name="keyphrase">
<shadow type="text" id="^V9?;=%xmUs;e[Ybpqb6">
<field name="TEXT"/>
</shadow>
<block type="multi_text" id="6WsY6k=L]^6!kk{J{p^g">
<field name="NAME">Add</field>
<value name="NAME">
<block type="variables_get" id="oy`A)/0gvjBM~K)L5#9x">
<field name="VAR" id="%lP.Y9;X[.,_9|Gebbc)">item_name</field>
<value name="VALUE">
<block type="multi_text" id="A[+RYaj7ss|bL+A!]Q{~">
<field name="NAME">to the</field>
<value name="NAME">
<block type="variables_get" id="Gz5B4|~waO@.m@|68[y%">
<field name="VAR" id="^RFIIWgteWtbGGe5k/;*">list_name</field>
<value name="VALUE">
<block type="multi_text" id="$y5lB46fc-Qu~jrK/GSf">
<field name="NAME">list.</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="CODE">
<block type="variables_set" id="tVx)Er*-i|4e|c__:;zT">
<field name="VAR" id="!6RW*Qn`q]34Mmq#6Z.d">existing_list</field>
<value name="VALUE">
<block type="lists_split" id="VdmR.)ZgG!3vCnVcc3%q">
<mutation mode="SPLIT"/>
<field name="MODE">SPLIT</field>
<value name="INPUT">
<block type="variables_get" id="@ycVWhPqDDkU5_r=G9ct">
<field name="VAR" id="5S+flii$$yaW~Gl2~q8|">utterance</field>
</block>
</value>
<value name="DELIM">
<shadow type="text">
<field name="TEXT">,</field>
</shadow>
<block type="text" id=",lX^}A@Y5sb|kmAGkPU4">
<field name="TEXT"> </field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="LQ~FTbRhr68PPrb#^oOF">
<field name="VAR" id="%lP.Y9;X[.,_9|Gebbc)">item_name</field>
<value name="VALUE">
<block type="lists_getIndex" id="k:BWu@v8wt~61}wj`$%8">
<mutation statement="false" at="true"/>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get" id="Y?{#DsHmxuKC@(Q_7+wJ">
<field name="VAR" id="!6RW*Qn`q]34Mmq#6Z.d">existing_list</field>
</block>
</value>
<value name="AT">
<block type="math_number" id="+Pa/jNy(|WY3ux1(g:Cn">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="`Xt#f4nZ@s`;c1!whBHv">
<field name="VAR" id="^RFIIWgteWtbGGe5k/;*">list_name</field>
<value name="VALUE">
<block type="lists_getIndex" id="pM1@c*AWF/v/Ex%4oBla">
<mutation statement="false" at="true"/>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get" id="q{yX~pF]1e~Tt*m$tA=~">
<field name="VAR" id="!6RW*Qn`q]34Mmq#6Z.d">existing_list</field>
</block>
</value>
<value name="AT">
<block type="math_number" id="5NpZ*PXMR:d+JF|5*W(t">
<field name="NUM">5</field>
</block>
</value>
</block>
</value>
<next>
<block type="print_chat" id="v%OIyio`5)T;J!hmN/YU">
<value name="text">
<shadow type="text" id=")K0TY+gX_]rVZYUV[:0D">
<field name="TEXT"/>
</shadow>
<block type="multi_text" id="w}KSPB`~/``XYZ^uE4H#">
<field name="NAME">Adding</field>
<value name="NAME">
<block type="variables_get" id="v/AK{^=G?/vr@ClL7eCl">
<field name="VAR" id="%lP.Y9;X[.,_9|Gebbc)">item_name</field>
<value name="VALUE">
<block type="multi_text" id="@(y?y-Vk7s7[SC3m:Ao-">
<field name="NAME"> to the</field>
<value name="NAME">
<block type="variables_get" id="V4J,#ZSt{]L%TRc#Rfa`">
<field name="VAR" id="^RFIIWgteWtbGGe5k/;*">list_name</field>
<value name="VALUE">
<block type="multi_text" id="m{((x2%*5}fL+)`(amJg">
<field name="NAME"> list.</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="procedures_callnoreturn" id="iOH-p0;QWg8:.*x1.RMi">
<mutation name="add item to a list">
<arg name="item_name"/>
<arg name="list_name"/>
</mutation>
<value name="ARG0">
<block type="variables_get" id="5w])|A0Ej,+cT-xFuP#g">
<field name="VAR" id="%lP.Y9;X[.,_9|Gebbc)">item_name</field>
</block>
</value>
<value name="ARG1">
<block type="variables_get" id="5.s$XFsqpzRrGMlz1$aX">
<field name="VAR" id="^RFIIWgteWtbGGe5k/;*">list_name</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="on_keyphrase" id="mzD(`QnYv9w$FVpiEGbD" x="59" y="700">
<value name="keyphrase">
<shadow type="text" id="COz3%%bj0j5/wsjqd6V0">
<field name="TEXT"/>
</shadow>
<block type="text" id="/5AAutWgz4l/@O!~m@/)">
<field name="TEXT">List off</field>
</block>
</value>
<statement name="CODE">
<block type="variables_set" id="pscA7!CR?Cuunk$rY5EE">
<field name="VAR" id="58Pb!?g`JBb3u!XRMB{?">items</field>
<value name="VALUE">
<block type="load_data" id="q5Z2?=vLV`Eu2wSo9woc">
<value name="NAME">
<shadow type="text">
<field name="TEXT"/>
</shadow>
<block type="variables_get" id="]?bSLWnB|FanDjC)uPf4">
<field name="VAR" id="];Tr3QzsRbN+JsV/0tW.">utterance_remainder</field>
</block>
</value>
</block>
</value>
<next>
<block type="speak" id="HJ1/LxE#+f{d6Ro/U{I!">
<value name="MESSAGE">
<shadow type="text" id="1$h*Qq?hA-~dDrn`MTE.">
<field name="TEXT"/>
</shadow>
<block type="variables_get" id="t+h0:{$GXPrc~_0tB2Cs">
<field name="VAR" id="58Pb!?g`JBb3u!XRMB{?">items</field>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" id="wI9(vcW{XJU[Oh~J,O?!" x="54" y="820">
<mutation>
<arg name="list_name" varid="^RFIIWgteWtbGGe5k/;*"/>
<arg name="items" varid="58Pb!?g`JBb3u!XRMB{?"/>
</mutation>
<field name="NAME">save a list</field>
<comment pinned="false" h="80" w="160">Describe this function...</comment>
<statement name="STACK">
<block type="print_chat" id="oo~ESm,]oogFL^0qZjyJ">
<value name="text">
<shadow type="text">
<field name="TEXT"/>
</shadow>
<block type="text" id="Xi*JvR,DSTl:V+qI^0E%">
<field name="TEXT">before remember</field>
</block>
</value>
<next>
<block type="save_data" id="fjc_lp3.*J[8i`V[AZfN">
<value name="data">
<block type="variables_get" id="d-bU$dK:Eb@6BxCLM{QK">
<field name="VAR" id="58Pb!?g`JBb3u!XRMB{?">items</field>
</block>
</value>
<value name="NAME">
<shadow type="text" id=")+o2!wvc!4aSsjs5R-eg">
<field name="TEXT"/>
</shadow>
<block type="variables_get" id="!A#l,VU8rutPB}C97ZgT">
<field name="VAR" id="^RFIIWgteWtbGGe5k/;*">list_name</field>
</block>
</value>
<next>
<block type="print_chat" id="~S,0kQD?]$E2fqstuTby">
<value name="text">
<shadow type="text" id="C(/@7q~[D_Jhi6,dIpJK">
<field name="TEXT"/>
</shadow>
<block type="multi_text" id="Q#w|VKVf.PH:Bi_47OJv">
<field name="NAME">Saved list "</field>
<value name="NAME">
<block type="variables_get" id="/-kZ@/^o9D=k(wjZQ.j/">
<field name="VAR" id="^RFIIWgteWtbGGe5k/;*">list_name</field>
<value name="VALUE">
<block type="multi_text" id="7J[C0(}c^LVNi[A+8*9q">
<field name="NAME"> with items:</field>
<value name="NAME">
<block type="variables_get" id="Dqaa0P84f=y}*ICve_xH">
<field name="VAR" id="58Pb!?g`JBb3u!XRMB{?">items</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" id="OJXa0(7$gPR;+$nN~Ujq" x="57" y="993">
<mutation>
<arg name="item_name" varid="%lP.Y9;X[.,_9|Gebbc)"/>
<arg name="list_name" varid="^RFIIWgteWtbGGe5k/;*"/>
</mutation>
<field name="NAME">add item to a list</field>
<comment pinned="false" h="80" w="160">Describe this function...</comment>
<statement name="STACK">
<block type="variables_set" id="S#)ek16*D.L_jBiajULd">
<field name="VAR" id="58Pb!?g`JBb3u!XRMB{?">items</field>
<value name="VALUE">
<block type="load_data" id="(QQ-?4Y!NBKu-YgfF9X0">
<value name="NAME">
<shadow type="text">
<field name="TEXT"/>
</shadow>
<block type="variables_get" id="2`n(}#BB]y}S%KI2RShc">
<field name="VAR" id="^RFIIWgteWtbGGe5k/;*">list_name</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="DY+~+^ht/oj2[VC/n8A~">
<field name="VAR" id="}Fkl[-=0t(YCPUO%0NJr">item_index</field>
<value name="VALUE">
<block type="lists_indexOf" id="4OQKUu8.q5J|~K%#b0?!">
<field name="END">LAST</field>
<value name="VALUE">
<block type="variables_get" id="5S}^==BjFgV$~Qei{j%T">
<field name="VAR" id="58Pb!?g`JBb3u!XRMB{?">items</field>
</block>
</value>
<value name="FIND">
<block type="variables_get" id="6PxvNqo]7!{CTlQFB.$9">
<field name="VAR" id="%lP.Y9;X[.,_9|Gebbc)">item_name</field>
</block>
</value>
</block>
</value>
<next>
<block type="print_chat" id="h$;(TbMn.TEvWnMFgxjT">
<value name="text">
<shadow type="text" id="rjp/S([Yx-jK29yzdqz8">
<field name="TEXT"/>
</shadow>
<block type="multi_text" id="l|#rA8jQ?}UH7dB5*xlM">
<field name="NAME">Item found at</field>
<value name="NAME">
<block type="variables_get" id="9.jM//Iat*.WM8lYyOb)">
<field name="VAR" id="}Fkl[-=0t(YCPUO%0NJr">item_index</field>
</block>
</value>
</block>
</value>
<next>
<block type="controls_if_try" id="_^am`)wMl%o89=I6.F~w">
<value name="IF0">
<block type="logic_boolean" id="s=$GuQ[c2b.xr{o!5sZ_">
<field name="BOOL">TRUE</field>
</block>
</value>
<statement name="DO0">
<block type="print_chat" id="mer*Y8;]Q0rJ#qKTT5R[">
<value name="text">
<shadow type="text" id="Eu|=b+AJnf4u_QDa%EjR">
<field name="TEXT"/>
</shadow>
<block type="variables_get" id="JeUrBa!l~05y{9[DuK;D">
<field name="VAR" id="58Pb!?g`JBb3u!XRMB{?">items</field>
<value name="VALUE">
<block type="text" id="uh5*ry}HR{nHttD?RVC-">
<field name="TEXT">true</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex" id="^YphY6iQLc1i7|FUWRMB">
<mutation at="false"/>
<field name="MODE">INSERT</field>
<field name="WHERE">FIRST</field>
<value name="LIST">
<block type="variables_get" id="`Zi33!)M,l2;B*~NXqtb">
<field name="VAR" id="58Pb!?g`JBb3u!XRMB{?">items</field>
</block>
</value>
<value name="TO">
<block type="variables_get" id=")|$2Udc/VT|*eKoziem.">
<field name="VAR" id="%lP.Y9;X[.,_9|Gebbc)">item_name</field>
</block>
</value>
<next>
<block type="print_chat" id="T[[{fX?JF07dZsaNnEI~">
<value name="text">
<shadow type="text">
<field name="TEXT"/>
</shadow>
<block type="text" id="-E-31C@!~bOUP8+z7hkW">
<field name="TEXT">in list</field>
</block>
</value>
<next>
<block type="procedures_callnoreturn" id="mMt;uLQ|ygzYFXzHhsaL">
<mutation name="save a list">
<arg name="list_name"/>
<arg name="items"/>
</mutation>
<value name="ARG0">
<block type="variables_get" id="_Psfz*U]P.xIg!g8ZJt.">
<field name="VAR" id="^RFIIWgteWtbGGe5k/;*">list_name</field>
</block>
</value>
<value name="ARG1">
<block type="variables_get" id="-BSQnu/`o+Ab~.2;ceW`">
<field name="VAR" id="58Pb!?g`JBb3u!XRMB{?">items</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</xml>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment