InicioRegalo
  • Cursos
    • Primeros Pasos en VA360
    • Ecosistema Claude desde cero: domina el chat, Skills, MCP y Claude Code
    • Curso de n8n 2.0: Domina las Automatizaciones de Cero a Experto [Edición 2026]
    • Curso de Agentes IA – De cero a experto
    • Marco Legal de la IA: RGPD, IA Act y Data Act para Profesionales
    • Curso de VibeCoding de Cero a Experto
    • Freepik Spaces desde cero: crea, organiza y automatiza contenido
    • Curso de CapCut de Cero a Experto por Ramon Teleco
    • MakeMAKE.com (integromat) – De cero a experto
    • PNG class="brxe-5c0009 brxe-svg w-5 h-5 shrink-0 text-zinc-700 mt-0.5"  IHDRXd# pHYs  ~ IDATx |V՝ d!; Ȣ"( "TVQhwڷnv|mc;tjg:]dq)*(.!snΡd}|7 Lss='!B!B!B!B!B!BHB @!$Zbi΅ d \ՂH@hT !iL/Ȕ(h!\4R՘\5Nh%.TZBH*H5$KM=@+ YVSd$YM}ag1DK*[TUɔ[254-:Dob!ڽcyE4rKWc6HV9Vr%UA6@M VCeKVSY$KHH 7GA'qߛ}K̽K-wV(EP` ]\|LuԩSϞ= ݻw/Tt֭M׮]Z {OV= ߩS'#]x`Dˮne4RJa0y*Z_%U9F*4iRĉ Tw!_oƓꞗӯ_‹/K/-R;]2U,KLE4td%HU5reU9yiiiO8pLSO=u͟Y cpߛ=СCx!wuWIQQy7.];%YF2]=ZiHHC˂慷K*VZѫm۶mG?Q3g""OGB!$N>ߜ>}o|MP-[2(Ym𧡞+w3niL,,**R/~1XD)+BiСCS}sΙQ 3,&F껊V:OJJJ?s6555 'BWzuߌխ#F&JUT {}Du/pB!R[[[ϯ7nu&Ϫf5Ֆ*VxXUjc?@9ioB!$֪/S o߾E).J? AWʕ[yYYYjY0d;!13=@uE /+ Ra Y4[08rL\- FD :{9c'Bȹ6+++߳lʶz2Y*DB{$Rb_ӧO\A, B!^ѿ~]7:4ג,贡w+*õ4lC޶m[sWOM E!ϹOӱ[ZZYur-{dL4zuN?^u={9!B\.vU5T^ߏb%`ٍ7EPءCRKDM}{E!4#Q2T fJX!IXt"Hqqq^eWh!5N߿[݌ǍCW]Kv/V bkyl`JڮU)saa Ϝ9`^B!,BkӻfSJoB/4k{e65W^s*!x+ܡC.V+DaSI zAfyP VuZx9`ZDjεlܸqfffvSem~ L̓* W_[DN$XBHő;v QRUTT]6WƣTB&Xcq:zT222zK.]_D> 3ڷ>+}[WKlW ڲeP%UZﳦݽL` yz4+PW,X0BK- Ok//o^&)/w]`m۶mZʯkȵLh`Xu R"r_gm+hRfr9|yY6m4B/U_sW]0z-"X!`ڂʗ322F"sl V L*G6/#*r9y~b7Tŋ>UF=m0ڄ+LOODzϞ={A`@(ټD.1 ֧>){~H.d7,$+媹_E"^۷g"Xl_ ?kKX`arhܵ`};\q,H*|[ou檕`a$aJu5`yGǩrssU) GI ,ZD"f͚5 $-'X\O*I,s`͜9s,H*V;[5$`9;#X` T!X)X]JG"ӧO`@R`x{kN}BDZ5̪`0@OFd$-'Xt+{Q+eCmQG҆ X` R-8Vx`EZ@#`M6m4IE<`ĉ`p ս5aR!Xq ,`e5$Xzс]v xxxxxxxxxxB_uB~ 9n:"a19perdKe?4`OGNWM[C `{erth"~UR, BE#XT $ X#@, X#@, X#@, X#@, X#@, X#@, X#@, X#@, X#@, X#@, X#@, X#@, X#@, X#@, X#@, X#@, X#@, X#@, X#@, X#@, X#@, X#@, X#@, X#@, X+==]]O>JDN"-%XC/s_,$4i)***RK_ҵ$i)*,,t`@R` X` X` X`  -Y@| VJK@VH$ ^d6+XZr$%#X%MhU,$ӦJ"XH(`ug,H:CR,$%V^ހ`F"n` G )i9V"H-Xz%)Ei+`e1;`D"u'Inݺ ޚ38m@Fw`5$Yi85\jj%XѮL-](((Q9`eםOuխ9tdEHj k-r VN Z"D h=*҂ &Vyj̋~rUkyGZzDUVt!nt/d{#Yhٲ+ DS$,9e+3njo-  ]* TÃt GZj$uoV-*96^*%9ՔPVS~-Nn+[v#WzD"CtC=G;vzBF/kQiNۦ'ȖM4p˘-dMjpť`o"Z*rT2gf[Vly@Ξ=[[ do+=hW](vIVK=ݾh՘dƻ`5jRՐDy HyemU~Sژ\/zc `u=~RSSSgK$:V>cUC/Ra%Yyj-h.`[Pe)&WPٿks,r]UBW, ֨}hƨµk^6q |R F;U,ӋSKVKLOVKys1[߻^n*Z-.W UÖ^S4q2ȷHyZŪ\[LMMڹs1vl, %N룏>knh^^.jd{Xwo@-^.׶D+r7{=g7蔟׻wѣG>xĈEC-:thA:}tիW={v֭[]ҥK~%%%HjAZz:ugt5!Xv|,-YucǾ4==}Haa0utnnn zv/..ZRRҥse.]tVuڵk[n6ݻw/RٳP~ߧOVo.{I╬˂=ݻw1c tlMG})))]ȳGr/uE*Z2uL6~Ko\ڢ!YMj&W^+w*PwN-[?qɓ'W^y@D}؜9snN>?{ǎ>u#" BI S'O3駟gYsϭy /^zioW_]2?7;vlcV;vlٻ[uI;vPq.EEEyD]jʹ1KVsM4S׮] SRR7y衇O:ZD~%Ǘ+ PrU+Eٳcƌ1߫W/[ dtȕ\@IH#_|q]"AM-A~W(|,%-[Uۚ ~iEJKK TL(Z%˗*օʕ+Eˎ92EDް웑 `=BޱP DTsُ:^ҷo"׶s*Y1cE뻲͒}raaa*E?nME)6zfS Ŝuh={N=^o|]vçz.X܂e7ەeA#WyyyNG}t&L*̂U/m]"?@u/oT\*Z)]#o_L6, yB9zb9v yRl JrW /,ӧul]ɲ{RcfvGw68qb߾īZVW.%8t(\>ZQ!v,wˁ 񌒪M7Y)..?_{q25F%Kck~'fjIIII+Y-6KrQ2{[䗖*J'F'\U2,9c+fʻ^VHV\OC`*ydl"g>u8hjyjÂ֨$`o)S8dee+Yv{0ړM^lHSmUܶm[Ie0 ֋K*]i׶y;?[sR 7G,9{u]R+Y HV.{j4x^S{޽B?\S{$Tܷ,WVJNF3 iܯm J>W{ݫUXӇ4Vժ NU_=2Hz+SS_?3wA5o~Ctܹ:x:׵OY*lu˃]]Қ"SD|L؄Q^Z)Ӎ`?9(Jj *ɓ.,o^$]%n[rws$j^s淍̝༉ү Q͗jTij۶Vb}CIP~~~]*X*zI ѶfzjT`QII:Աo `eE,63i&Uc˓̓wW]+SMDx,rzjywJu+Zb/Tmn{s m/nws{oSO=s~z%XUL{NhCuNmϐ:ocQ]>RZZWٿ˿̿`M|my(9|5r+ōWɑM-(Xn51g;Ĝڵ ;601pP ͱ{9b?7w Wo^jNUs둥ӝ7.X u:t7E 3YTl.X֮];D *uўSzW/V}gJKK?O~rmw+Ȗ%csV,giSO-|rt"9sjymR9`fhju[rg*=n/k554`,#^Vu an[:m8WuBJUUp%VyyypZ&X m:`e[{_YΝ;P/Yyٿč5MkTe s̾5–ΤNڶJyozf|kTѿ5HkEw.h!:z,X+WT-77W[˄vdv<{+[TGII@Ͼַm K\RG6wU#5hLQ"߭{}kcy$jz 8 u+7"| IDAT霝yMkiF[qVD*ZJ9_k#XW~=wJ,l{L#;u_ȣ-514+T5z)Nrrz`<uQ?/V/v6ـq\U**y5%aQkrssʜpǦ^g^P`-Xj#%%%!XAwTZ],Utm|w#Z@˞ *cӺz*L״ XdɒkrrrTW#ulN}[WQQX~ +S{dq/X^-ȑfg7/wrRsĂ[wzEϸYWuR9-ŋQ^3H V(]``Vqq1F]%Gſ`eg{ɏfɩ+3;\uX+@8Q?pp9{Ӵϫg5C{/2BR4i#uZ|)U^^>ޮFh裏.BaWO۔v+ZɽW^$/;KuU-n7GS~fzrJyhDP鼟uU O׌y 0 V5}t{G{]]b1W)`e ȵ '_4U;O ;;Wʙ}[[& w|O;_ȜT)ot~UO;= KpqQ>w2gG}{B_jݙgVEOvvK`dGy Jlv~0a> aU˽iv4iMWj{VhXVVT-ۻjc5Fze՛wi!Cs壝MFު>2Jk@ V¡V'<}͋[Serήn4&(oWNWWǽp4@ rhBZ̦Eޞ}[Rڶm#lm;͑;q_͖7^*^<'< ւ .jDg`Y+18|G]&T6_n2TwxuB<㵁iQVl6Bryi ZgZ&޻ySd|zIZQzɷLwt|{ 獪=IA7;;{h\ =XZ2;y澵r򣪙ryI>L +ɩ=8 lrM~>|9Qj*U',ZrswwWɳw.rqV`~ZZ`u`%l'|Ի3T M>{z&"!2Rxߜ(xu[mahZS /[?~|t:~=>2IX҂ezFգryq`*yc2sbx/IKI9rҲMf,Q[/ctuoht%(^U]9CnZ޺g#Vf3c5gb0x,+APoհjݳyH?7wRp&~߭ * G]+3ˣ"}U)d˝*G{_Yg_R`!X EM6n38ooF֍ ~ ߱_\1NN߻Z4`Ԃ/?zrKUj6rŀ]&ߵTN]l_<>V!X͛`A\|tsyR:ye[sD㡪eZ?a#-HQ|ݵ@>D"wv+SUg P`!XI[Uۯ'YMn#ֺD_`$`E(Εۦ uh9S=yCXpcBê wm]ުi2wpZ@+``7nfe+]UN[+[3N_Oj Jb֏m~U:ggwM%=]cr(iywJy,SSSdΠe3yTJIߑ;>j 孕kC^e핲px/*X ^7S9+X8,,G7U;;V8O=}x 0F,j"U>عBN,H-s}:/$u,PoJ.$G_>P>ܳʩms N5`y*z7ԆίoP%&$Xi,˼*ʔMt*R~j*y~"9Ar-`A͋O[߷LC7fbZR9k=/Xa%ysʇ{Ȼ;WʱsUudBJc%(׷=Q%ĺٲrlH_MwvU!X!,ٙ)C7qYH8Uw ˄ K5`%~XG7-;{{W˿_?GO(]s;ԛ$XYeFfEZDv`EGodYl69;}kݫK7{3豁 Ad@m`|idZ9J~w)=:e?AF&HEk{`F|U` Eyw8K|a$9q|o]%n^tf%]AT`%dJn[*^)]{:}t'Ġˡвs©]U}ƨtOrz>h_8#ZBp?+ buIɗO݊f`QaU^2Ϲ7UA̟M)K~b}_Y!7AT4 J jG=UUJʂ)2_OۻmV.] Outź]N2rdW9}ksO0'j !OD޸koRlT'\RTyGݻ [^Vlx4 )X_iNllsԮUa/m+ ~\>6RrQګ='Ց6UcKaZh`+qz9@r-Z^yjTs _VYFqE5`9朮wVk*^)wN)=&6wj*X'rT,7m=DؽXvSWX./W/-,#N5`!Nߑ Ou e笱2S+U 1{<|&2gp:q ќ&<ڶL[*_>iP7'՞KAxCMv[侵We* G_Uң_1CnxBhjyrE:9'O3懦oO}#K9G~gCu [lja,+x 澵CtB=kjȩݫ+C P<ؿ\߲H>سJ޺gd,޷^Lԯe9Ζ7G,iQ,+^xF zrpیѡ,?U~ܫDU9yR=UR&ԛs g]-mPHxwDo*Xwű`y5gu_nVNr ('H{4=|d\)TT'^\1\GZ ]R _v{}˜o&CaR}/V/v6pj=N>5rrNE˂`!XB< ٻvm|xogowSW9<XdDO<X!'vr~UϥZ~sKMilX|ϮwCDŽB+hjW#/K;i̽k;il8gm,w:o\X^q,o,K-mO=9&,G(RHryBkO@6sGMwReW6;ˇj#Oy𿮻ʩv(q` 1zj wvW7]v^5'tϛ{WSEu=NX7O_߼{Ϸ/m3GIvԸ`!X`jbRU uPꄞ%KDzB^44U>\P[]-\)_"u/>oQ[eBICQ]?n4 ͋ +Hu˩9?o++F; %Y-y$  UQ///m]˜> ZH׻9>e=cϩfί`]VT#XV V[-R5Cz/ΖppUz(-5h~2rYRϭbxi*cW&58mcT#XV ܏D)v~PY D5ë_^,\!gNjY7ad6Ƨ.KZ 'ڼS#ۆO@W*?\1S޹R>޷9KoyIUя߽\>޷V^^";Ad`U`U,o#’ 9denZ>ocj{W@Au$KHVϔك{{cٜ>-#X`QB `i͍s,ZXFߗO7^VG9ŠErbgJtr#yVBQ9U_{gfJynˢs~@mSw$RdZ9zg|i$X#yVB]R=U} 徫.WWʇ{U([,@2Ru|g{rn+#y`-`i ,+fΠnWUN/mY"`*H.T?jޱBj[#Z>Cuj+GF60O(Qze!fr虗%[*ԮU֎u-V@dK@ޜڭ6M^.wdӥ%B|qv8"=F8BIۗ?%,߫&oܵT>ػZ^^"AqJ᳛ɻVɝ+f˵z'Zfw,iq,+xELJջ; Q#yN;*d˴֮|arr kS `!Xqc]\4UWsR>ٷ9Pm%} O5`@a-,,gkJx, URu$+`!XP/`!XP/`!XP/`!XP/`!XP/`!XP/`!XP/`!XP/`!XP/`!XP/`!XP/>`!XP/`!XP/`!XP/q+X ,`uЂ $GyI8-%XS`@R.G,JR XUW΃rp yv{VUX`ٍLBϺJl7n<y},)I$XgϞUn}>ߴmVUio=wWfQ\5Yݽvt練 ,pSwoF cr7ه+oӃݢl0j W~p<ڮ!#sesOF"۫3}9yOoR95A^E BJb Yo_׮2233S<\{x vUEKCa}X=&4kbk"m{ "[ `@Hi=m O$w+NWF(}e^{OfY@ULhaXe-ald$Q߄fT{D9 xVY?!Vg~õ\d. f0Wٞ)OFhzKgU:[XfpȸXwE䄈tq ް`@Hi;W5}ҺG}7>﹓'O׿;c[5V{K6uWT/H=Mɪb' ' d $K}S322&LO'j&E"L\bqiijG"Hdf$\?g߾}[N<Ӓ)I.X7'N˃>gϞs#,}a1պoOxXL־M6t!rə+[r5\Y{Mcze_`y-} IDAT^X^*468{c$k.]99''L#MS4d}y:'Pż"\DfG""\/׿~)]ص`@ X/y+dQ}cꗑZ5FKHC-=TiO)mʽUC;7[buhz+YefeEk|8R1c]f1YȖ-ZaNN2󟿫/)UBԡC]reʓ4=v7%Tuƈ@Kb\iO)\u{X/W+Ur,dCVoZazlFX2fKyZqU3IV#TtةS'eW{Z?,瓮 uMOOK#Tv-Ke``%ST@SQ*WWҠ\7ɂԥBw%+Z.4EK7TX1z`eM d_5Kڷo 'm߾& kΜ9Yz2W-VTx Kl+SZ4 fY]ZUS np/ZKF(MUTLuϢ13vxZ%Zegg+u5$> ֕W^'edd̰mj<>Y2dc\v>;a=h-VvUGϕ{K jl0Z?izwo`WeCUqS2-S2V-bFl DTL%ʲm۶m5I,S%b~opʓ&[<lG02eTFʴg>+[LlŐڎ}/KMdE 2լ`<Ȕ*#UZUXzTV 6,xrTj| 4eˈ23/T(vWu=D QϟzFZʕ{@<ãdK-N@lo0*#VZE:Fh]*Xd5$Z)՘h帚mᲥTl1S2-E٩{뢜u!صkr ky>l9ܒ~VnGZj:_vvpJd̲`v-QyѼjU܊Յ["^M~{ra'WL8HWz!Xt(XWV_7mm`Wy.gS)H5&U+w_6$\Wc-}]2˄ʬ V/| ,H*CuN/jd^u"W^[&4&NMXŽ\ih 4U;2e2mʬ*`@`]wukpzU##XuT !U^iUT4U,9lp`f_җE Q֭[7A, Vg=zb]jJ#TH_2MeBe_Wz"Xt` 6zz-Xz՘\ 4&ZRy0R/|BCw v{kyЮ^5eO*d5G̓$/ V(e̎AH+KO5Ovv zGk[Fkpw/zC+G @G܂e<*X zu%X']R X'XS2"X)XVxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxmq zx h~#X~,?cur9xq,90?ˍӷar2^7\||, E<`ŖJ9xLy;o#u!ˁ38~ 9~F(`~|_%y7?q~,+`ѭd ;PS|o| euS~^7l!>Gn\?k> |o=C@DRI݄ })UlƟïu!6ԞPEoR +% + "1 6Y8A| zCH A |`%N,@,C``9> X''8+ XgV + "1 6Y8A| zCH A |`%N,@,C``9> X''8+ XgV + "1 6Y8A| zCH A |`%N,@,C``9> X'Z'y]ԯ>/V@AR V,C``9> X'gv:~_ѿk"ȤH$2Y:1\D&D"YFk zl/kYYٜ|+;O8g G |`%N,@JԽ[oJfG"#H$2G+",-fBTrqW5W_|[Dٳ.YVAR Vbj15k2uo߾5*}EJŒH$2bf*4.lv]9O^k׮]k_1]V0AR VK_7E"K{(;;{^zzKTRp-.ѨJ Dnjӥ.|MzNڵk7;--mN^^}.Rˆ?v)_ 6Y8A| `8t~TtK@=Y?za.v[McjR=ӴleE|8G35R^`,J X>`[T4?أsssYU3 +F Fn#pG#Z#ZS%D%WvQN~9,"`nΙ3\ӯ/1Hdt$DFjFh{0,qXҌ̈DKLEkfzzdMZ~*W]+ XgV +a^zjԔj5Ymmɔ!.%9=baDl[#[FCLP\e+ XgV +aL%)))d]rpK< D"4-'f|̘Ȗ-8T2225aʕ#X~,@G'LreVc0KZWO3>f̌x j*\FFk5լ)8nʕײ?L,+q`0uzJ&^b5_2b5HK*#QgE7Č3#^}ꖩj>1F233Uq̪UuͿ``9> X',3>55UU늉+S'?#UDuE$=ez f {qm@deQWF"`n<;=|p%VcSSS'(KLժKT((zcRlҮhV?KL_ָLdu]^@ jGH X>`~Qw-Xc`7!V媷2U)[ 5|Gb-U`zMkP.c` E"`z2wӣGVb5*55u䪗VŪ%SyziJWthK@С! 8/$`#X~,@Gƌ&QiiicreUTyv~|2.|%YjvD馛r^H jGH X>`%`;V=58,--m4W_dW+Se$=f̘ӒUduע4,++KoyB"XV?E +qkܸq"24--mU2}W]e|KX2BA$k,ed,%2}Yf8zW:/$`#X~,@G&N6Uw?FlBMp>E,"k^%CTmvz9jGH X>`%`}4~x48--mz:}r%VF"4g F-\Ak5M7kppVV4gm`,J X>`%NK.QKN҆Y˃uTr%Vj:ܲ,\hM^&TA;vT>6lz-#Xr>K}@'O XS8q LKKjm]ݓ\4&g,&\F̒Y*{2a}*6n8Z6G |`%N,@JFi꿲݂e˕]r˅YKf WU2KS+eVրlUiD"`85i$4@ 9eIή\5$Tmhdaڴitk &Y8A|JXk5b6INCU j)'`7',Ճտ}' 9A{i-VnH4$\ܓjv܍`uG"`85yVfT$k#Xݽ]`%#X~,@giӦdm`o0^,ܓ矾8VV 9?^=YV,?#X~,@NyV ,WMR[[5s %BgA"`Ԃw, p,R?O XAOpVH`u#X?E +  i,+GH X>`=!X! `8''8+A"``4_?#X~,@GV X~]V`A| zCB˯ p,R?O XAOpVH`u#X?E +  i,+GH X>`=!X! `8''8+A"``4_?#X~,@GV X~]V`A|.'DB˷`4'+,AOvVTWM7o瓏;V0A|ģuN պ`A|#XIrS Xa ^͛o,`w,?oVjTB˧g}AZ},  v0`;q`;V`tG`yG+A|#X?EA#X? X>`" X~` c,nV`w,?oV`1O7x+G;7x+G˧<#X<#Xa  v,  v0`;q`;V`tG`yG+A|#X?EA#X? X>`" X~` c,nV`w,?oV`1O7x+G;7x+G˧<#X<#Xa  v,  v0`;q`;V`tG`yG+A|#X?EA#X? X>`" X~` c,nV`w,?oV`1O7x+G;7x+G˧<#X<#Xa  v,  v0`;q`;V`tG`yG+A|#X?EA#X? X>`" X~` c,nV`w,?oV`1ʍIDATO7x+_?]'X"H7 JK`ŏ`uDpGr啯Kz4"X ,oc.8sm-WzJ[ZhK\\eMYuL-Vl;YuPwyO߇=c0m j^ee+U 6Xl`,  85bUcߙ%K{=6XGÏT[n^?~پ -˭>01G?_}7M`Ds"zdchgc|*,,I _=,noWz}} ^q5ęvMu7>۷.W+X-\+׈?=N}[ϮD`J (2 0<m˧+𲳳e>yb`cܜX?nuDB+O ll#W_cğ1;w/~%k4X̟$4X,3/+Ȓ;v|&Kqq>qܡ&^/>iI'Xץ{=8?t䐸0'`0f`e1X%`M]\~G97!s^qS{CG%μC8v=+bAqίDpi} Hu?)ddRuJw9q`mذI54Xbtm֫!#acKW;X̟$7XpY-[@Om9Ch?wUgl/UgTjl`SqvI̟"oYn,0R`|<tڡ*RqNI px:*]m{J5 S@# VM 9u<98> _rTU0}*U{5YYYrn%OJG"E(_Ϝ9;) V1X$f͌2O'\r@>DZ;ˑ: w9Pb?If. W. QtȑU°HoB5S )2Twūn SRR"zW}#UZ:thE2b69'AC=(W$OŽۢK8(>;wlx<0!cN玄?'dׯ_=WG"\ϯQU)S;? 7T`Y.GVu}QfիWy#c||NIqq2<8h3b6 +UIKK s}\z5T<%7##l/g$Im ?\Ers"Zi<;?jLaMep$hkk A) BO*,8yߝ:u*qqmݳg&9k!Wuw>ڠa -r;ĉaq-7<ۜň?edJܓxsՂmB-]T2yUCП~<9X)<2@Lp5X?b:YB7 G<Ÿ.%'|lR%Fr\xKKKL"6Yql!]po*%ؚ" `͌sfC/33S򧺳s 3o؛*wnw*; 5`aU V@zzz4\Kvg4`0_۽Ux , 7N26:4a#4˭~k8)߫s\2_UPW̟$1XhhV-Tf͒&1 D%I%nj\XMɡ8y2_NjUн§L?#2p'tt#=|Y]|0zW*/cgxxxLtJHH` ܙ? ֦YMOXUd1--M%OBGy&;WXXt.o~\GZ"Tн7C3;P0fۮo+|F^!o|GbWaLO>y4Piii-N Yl2nQz >ͣbUƪp,5kLÇ3/_~k޽ŷtTzAZ=2b_'[s<şk't::::V;۝/^ݻ8it ,NgA *r5w644dggwWXXSO}o```0xDK5*ŊP理N> /=ܳt }>_ ur5åfpc`mBvdzXUxT0e+^õ?'NxN+2CFÊ{. K.>22}m[nVE\{…&d`k\ E̟k;i(^ P'0 9Hz+ߠ:5jZ*'+uyQTyT; ,wKUbR|r{lwu?4[dp{<sssnjjqբEV5&ZK&R~cܹp0Too ḇL`U$b`b.jS](JX~O^^^o^^ލJ|>5Jknf  ?V|܁\+e~ɮP-Jxqp;{_OaϘB),h d5hKOO_d| 1 [)0^> NA70Kk-tR MC;xkO!OIKWEV}.ǚG:Y0|WI֪ܼL<-S.a] v=|^zH~tTԦD{ +\=Np0S0OLa:_+{d,w:+\.Wv:=J+zz5mX9SȄCרh 댐?йw^1ijX><$+ -&k#I)+uDsrSCIP;[2iA dZn{P7]t+&"y͈=KUPqK#, h? ;?yacսb$ذ;5YڮۅUA5gcقjU fzDKbbhNM\ܽwyt@ɂ"ڂ=ȷi +v5 4\(IҘG*EGt`T/,XHY)/jP-bcǠjspÝ+[b?=]t݁8Ռޱy=ȷi +v5 *]aVt'dknng$)\&p?5YpO|Զ *Gc@O1U ":WtǙ ]7"x\ +7aeγ( +6 Ta?:c抎%d27gvPɂB2QJhjU ?>b wu R㣋n΄ntqG C⚘He{`CU?XBS0 xI}2:nM%9T:AG-$LJ"X@Y)#f +aRR]d]<`qBv'XS :3HC^M犻)4A;Y:]GP &t@"J=|<܁|23UЎAK~6[ʑ/y,j:pPWAPqBv'XS l` *lkO r*:uY,*Az HN8Y,3A@@1VkEnŒ?xyE-`,~98NSv7X3 `5V*}W̟:3ۆ:-6]:Y-]n C-Xіd:W 7CMأhCs` YP5V\?V- :3a0epn`hЩ++n]7+{0s5hG < f17&2[ Curso de Claude Code – De cero a experto
  • Blog

    Mi carrito (0)

    ¡Ups! Todavía no hay nada en tu carrito.

    discord bot

    Bots de Discord: Optimiza tu Servidor con una Automatización Eficiente

    Los bots de Discord son herramientas increíbles para mejorar cualquier servidor. Ofrecen una amplia gama de funciones, desde la automatización de tareas hasta la adición de elementos interactivos únicos. En este artículo, exploraré cómo crear un bot para Discord que ayude a optimizar los anuncios de productos.

    Me centraré en cómo conectar directamente una hoja de cálculo de Google con Discord para automatizar las actualizaciones de inventario. Explicaré dos métodos diferentes: el enfoque tradicional usando JavaScript y una opción más sencilla utilizando n8n, una plataforma de automatización de bajo código. Ambas opciones son excelentes para mantener a tu comunidad informada de manera eficiente.

    ¿Es fácil crear un bot de Discord?

    Crear un bot de Discord puede ser fácil o desafiante, según el método que elija. Si sé programar en JavaScript o Python, tengo muchas opciones para hacer un bot personalizado. Necesito aprender la API de Discord y encontrar un lugar para alojar mi bot.

    Si no sé programar, puedo usar herramientas sin código como n8n. Estas me permiten crear bots arrastrando y soltando bloques, sin escribir código. Es más fácil para principiantes.

    Algunos pasos básicos para crear un bot son:

    1. Registrar el bot en el portal de desarrolladores de Discord
    2. Obtener un token para el bot
    3. Programar las funciones del bot
    4. Invitar el bot a un servidor

    Con práctica, hacer bots se vuelve más sencillo. Puedo empezar con proyectos simples e ir aumentando la complejidad. Lo importante es elegir el método que mejor se adapte a mis habilidades.

    Cómo crear un bot de Discord usando JavaScript

    Requisitos previos

    Para empezar a crear nuestro bot de Discord, necesitamos algunas cosas. Primero, debo tener Node.js instalado en mi computadora. También necesito un webhook de un canal de Discord y una hoja de cálculo de Google Sheets para guardar el inventario de productos. Es importante que esta hoja sea accesible con una clave de API de Google. Además, debo configurar un proyecto en Google Cloud y activar las APIs de Google Sheets y Google Drive.

    Paso 1: Preparar dependencias y claves API para desarrollar el bot de Discord

    Comienzo creando una carpeta para mi proyecto y ejecutando “npm init -y” para inicializar mi proyecto Node.js. Luego instalo las bibliotecas necesarias con “npm install googleapis node-cron”.

    En un archivo llamado “bot.js”, importo las dependencias y configuro mis claves API:

    const fetch = require('node-fetch');
    const { google } = require('googleapis');
    const cron = require('node-cron');
    
    const GOOGLE_API_KEY = 'MI_CLAVE_API_DE_GOOGLE'; 
    const SPREADSHEET_ID = 'ID_DE_MI_HOJA_DE_CALCULO'; 
    const DISCORD_WEBHOOK_URL = 'URL_DE_MI_WEBHOOK_DE_DISCORD';
    

    Paso 2: Configurar clientes de API de Google y monitoreo de archivos

    Creo instancias de los clientes de API de Sheets y Drive:

    const sheets = google.sheets({ version: 'v4', auth: GOOGLE_API_KEY });
    const drive = google.drive({ version: 'v3', auth: GOOGLE_API_KEY })
    

    Luego defino funciones para obtener la fecha de última modificación del archivo y para obtener los datos de la hoja:

    async function obtenerUltimaModificacion() {
      // Código para obtener la fecha de última modificación
    }
    
    async function obtenerDatosHoja(rango) {
      // Código para obtener los datos de la hoja
    }
    

    Paso 3: Hacer un anuncio en Discord usando la integración de webhook

    Creo una función para enviar mensajes a Discord:

    async function anunciarActualizaciones(filas) {
      const tabla = formatearComoTablaAscii(filas);
      const mensaje = `¡Hola a todos! Tenemos actualizaciones de productos! 🎉\n\`${tabla}\``;
      
      await fetch(DISCORD_WEBHOOK_URL, {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({ content: mensaje })
      });
    }
    

    La función formatearComoTablaAscii toma los datos y los formatea en una tabla legible.

    Paso 4: Implementar detección de cambios y automatización

    Uso node-cron para programar revisiones automáticas:

    const programacion = '* * * * *';
    
    async function iniciarYProgramarCron() {
      cron.schedule(programacion, async () => {
        try {
          await revisarActualizaciones();
        } catch (error) {
          console.error('Error durante la revisión programada:', error);
        }
      });
    }
    
    iniciarYProgramarCron();
    

    La función revisarActualizaciones compara la fecha de modificación actual con la última guardada y envía un mensaje si hay cambios.

    Paso 5: Elegir una plataforma de alojamiento para tu bot de Discord

    Para mantener mi bot funcionando constantemente, debo elegir una plataforma de alojamiento. Algunas opciones populares son:

    1. Heroku: Fácil de usar y tiene un plan gratuito.
    2. DigitalOcean: Ofrece más control pero requiere más conocimientos técnicos.
    3. Repl.it: Ideal para principiantes, con un entorno de desarrollo en línea.
    4. AWS Lambda: Buena opción para bots que no necesitan ejecutarse continuamente.

    Elijo la plataforma que mejor se adapte a mis necesidades y presupuesto. Debo asegurarme de configurar las variables de entorno para mis claves API y otros datos sensibles en la plataforma que elija.

    Este proceso me permite crear un bot de Discord funcional que monitorea cambios en una hoja de Google Sheets y envía actualizaciones automáticas a un canal de Discord. Puedo personalizar aún más el bot agregando comandos adicionales o integrando otras APIs según mis necesidades específicas.

    Cómo crear un bot de Discord sin programar

    Paso 1: Usa Google Sheets como disparador de flujo de trabajo

    Empiezo agregando un nuevo nodo de activación de Google Sheets. Este nodo inicia mi flujo de trabajo cuando detecta cambios en la hoja de cálculo.

    Para autorizar el acceso, hago clic en “Crear nueva credencial” en la sección de credenciales. Sigo la guía de configuración para conectar mi cuenta de Google y generar las credenciales necesarias.

    Configuro las actualizaciones programadas usando un menú desplegable simple. Elijo la opción de sondeo y lo configuro para que revise la hoja cada minuto.

    Ingreso el ID de mi hoja de cálculo en el campo “Documento”. Luego, selecciono la hoja específica que quiero monitorear del menú desplegable “Hoja”.

    Configuro el nodo para que se active con actualizaciones e inserciones de nuevas filas. Dejo “Incluir en salida” como “Nueva versión” ya que es todo lo que necesito para componer mi mensaje de Discord.

    Paso 2: Da formato a los datos con un nodo de código JavaScript

    Creo un nodo de código personalizado llamado “Convertir a tabla ASCII”. Este nodo aplica una función de formato de tabla similar a la que usé en la sección de JavaScript.

    Ajusto la variable columns_to_display para incluir todas las columnas que quiero que contenga el mensaje final.

    Obtengo la salida del nodo anterior usando la variable integrada $('nombre del nodo anterior').

    El resto del código es muy similar a la función formatAsAsciiTable de la sección anterior. Formatea los datos brutos de la hoja de cálculo en una tabla legible antes de enviarla al canal de Discord.

    Paso 3: Envía la actualización a tu canal de Discord

    Uso el nodo de Discord para enviar el mensaje. Elijo cómo conectarme a mi servidor de Discord. El nodo ofrece varias opciones: webhook, credenciales OAuth o credenciales de bot.

    Para mantenerlo simple, uso la autenticación de webhook. Elijo “webhook” como “Tipo de conexión” y hago clic en “Crear nueva credencial” en el menú desplegable “Credencial para webhook de Discord”. Simplemente pego la URL del webhook.

    Configuro el mensaje que enviará mi bot. Elijo “Mensaje” como “Recurso” y “Enviar” como “Operación”. Selecciono mi comunidad y canal, y en el campo “Mensaje” ingreso:

    {{ $json.ascii_table }}
    

    Finalmente, hago clic en “Probar flujo de trabajo”. Si todo funciona correctamente, veo un mensaje en mi canal de Discord con los datos de productos formateados de mi hoja de Google.

    Este método me permite crear un bot de Discord funcional sin necesidad de escribir código complejo. Es una solución rápida y eficiente para quienes buscan automatizar tareas en Discord sin tener conocimientos avanzados de programación.

    Resumen

    He explorado dos métodos para crear bots de Discord. El primero es usar JavaScript, que ofrece gran flexibilidad y control. Es ideal si tengo experiencia en programación y quiero personalizar cada detalle.

    La otra opción es n8n, perfecta cuando busco rapidez y facilidad. Me permite automatizar tareas rápidamente sin necesidad de programar mucho.

    Ambos métodos tienen sus ventajas. JavaScript me da libertad total, mientras que n8n me ahorra tiempo. La elección dependerá de mis habilidades y objetivos.

    Crear bots requiere aprendizaje, pero con práctica puedo dominar cualquiera de estas técnicas. Lo importante es empezar y no desanimarse. Con esfuerzo, pronto tendré mi propio bot funcionando en Discord.

    ¿Qué sigue?

    Flujos de trabajo más populares con Discord

    Los bots de Discord son muy útiles. Puedo crear flujos de trabajo interesantes que conecten Discord con otras apps. Por ejemplo, puedo hacer un bot que use ChatGPT para analizar mensajes y enviar notificaciones automáticas a diferentes canales. Esto agrega funciones únicas a mi servidor.

    Crea tus propios flujos de trabajo de Discord

    Ahora puedo crear mis propias automatizaciones complejas mucho más rápido. No tengo que luchar con APIs complicadas. Puedo inspirarme en flujos de trabajo pre-hechos por otros usuarios para empezar. Luego, los adapto a mis necesidades específicas.

    Algunas ideas que puedo probar:

    • Enviar alertas de eventos importantes
    • Moderar contenido automáticamente
    • Integrar datos de otras plataformas

    Con las herramientas adecuadas, las posibilidades son infinitas. Puedo hacer que mi bot de Discord sea verdaderamente único y útil para mi comunidad.

    Preguntas Frecuentes

    ¿Cómo agrego un bot musical a mi servidor Discord?

    Para agregar un bot musical a tu servidor Discord, sigue estos pasos:

    1. Busca un bot musical confiable (como Groovy o Rythm)
    2. Ve a su sitio web oficial
    3. Haz clic en “Invitar” o “Agregar a Discord”
    4. Selecciona tu servidor
    5. Dale los permisos necesarios
    6. Confirma la adición

    El bot aparecerá en tu lista de miembros. Usa comandos como !play para empezar a escuchar música.

    ¿Qué hace el bot MEE6 en Discord?

    MEE6 es un bot muy útil con varias funciones:

    • Da la bienvenida a nuevos miembros
    • Modera el chat automáticamente
    • Crea sistemas de niveles y rangos
    • Programa anuncios y recordatorios
    • Integra redes sociales
    • Crea comandos personalizados

    Puedo configurar MEE6 desde su panel web para adaptar estas funciones a las necesidades de mi servidor.

    Pasos para crear mi propio bot de Discord

    Para crear un bot personalizado:

    1. Creo una aplicación en el portal de desarrolladores de Discord
    2. Añado un bot a la aplicación
    3. Genero un token de acceso
    4. Programo el bot (con Python, JavaScript u otro lenguaje)
    5. Uso una librería como discord.py para conectarlo a Discord
    6. Lo invito a mi servidor

    Requiere conocimientos de programación, pero me da control total sobre las funciones.

    Comandos principales de ProBot en Discord

    ProBot ofrece muchos comandos útiles:

    • !ban: Expulsa a un usuario permanentemente
    • !kick: Expulsa a un usuario temporalmente
    • !mute: Silencia a un usuario
    • !warn: Da una advertencia a un usuario
    • !clear: Borra mensajes del chat
    • !autorole: Asigna roles automáticamente
    • !levelup: Configura el sistema de niveles

    Puedo personalizar los prefijos y permisos de estos comandos.

    Cómo configuro un bot de bienvenida

    Para configurar un bot de bienvenida:

    1. Agrego un bot con esta función (como MEE6 o Dyno)
    2. Voy a su panel de control web
    3. Activo el módulo de bienvenida
    4. Elijo el canal para los mensajes
    5. Personalizo el texto de bienvenida
    6. Configuro una imagen o rol de bienvenida (opcional)
    7. Guardo los cambios

    Así, cada nuevo miembro recibirá un saludo personalizado.

    Bots recomendados para mejorar mi servidor

    Algunos bots muy útiles son:

    • MEE6: Para moderación y niveles
    • Dyno: Ofrece muchas funciones de administración
    • Mudae: Para juegos y sorteos
    • Tatsu: Sistema de economía y recompensas
    • ProBot: Moderación avanzada
    • Carl-bot: Reacciones de rol y más

    Elijo los que mejor se adapten a las necesidades de mi comunidad. Puedo combinar varios para tener todas las funciones que necesito.

    ¿Quieres aprender de verdad?

    Accede a todos los cursos con el Máster Completo. Pago único, acceso de por vida.

    Dto nuevo cliente

    Consigue un 15% de descuento en tu primera compra

    Lo recibirás inmediatamente en tu correo.

    No enviamos SPAM