<div class="botcont"><img src="https://learnoutlive.com/wp-content/themes/learnoutlive/includes/chatbot/img/bot.jpg" alt="bot" class="portrait"><h1 class="port">Meet buchbot.</h1> <span class="portdes">your friendly chatbot</span></div> <style> .portrait { margin: 0 auto; display: block; border-radius: 50%; width: 127px; } h1.port { color: #3a3a3a; text-align: center; font-size: 1.3em; } h1.port:after { content: "beta"; font-size: 10px; position: absolute; top: -14px; color: orange; } .botcont { font-family: sans-serif; margin-top: 1em; } span.portdes { color: #3a3a3a; display: block; margin: 0 auto; text-align: center; font-size: 0.8em; margin: -12px 0 20px 0px; }</style> <script>//init variables var i = 0; var lethimread = 0; var rlength = 0; $('body').hide().fadeIn('fast'); </script>{ (set: $responses to (a: "XXX") ) (set: $responses to it + (a: "<span data-tooltip='Hi there!'>Hallo!</span> 👋 So you want to learn German with stories?" ) ) (display: "Messenger") } =| [[Ja!]] [[Nein]] <script>$('body br').remove();</script> {(set: $responses to it + (a: (passage:)'s name)))(set: $responses to it + (a: "<span data-tooltip='That&#8216;s awesome.'>Das ist großartig!</span> ✨ I'd like to ask you a few questions to help you get started. I'll even teach you a few words and expressions along the way (just tap the underlined words in my messages). <span data-tooltip='Alright?'>In Ordnung?</span>"))(display: "Messenger")} =| [[Ok]] [[Nope]] {(set: $responses to it + (a: (passage:)'s name)))(set: $responses to it + (a: "That's okay. There are a million ways to learn German and whatever works for you is best. Head on over to our <a target='_top' href='https://learnoutlive.com/blog/'>blog</a> to discover tons of free German learning resources. Can I help with something else?"))(display: "Messenger")} =| [[Nope]] [[Actually, I changed my mind. Tell me more!]] [[Tell me more about your books!]] {(set: $responses to it + (a: "Nope"))(set: $responses to it + (a: "Ok. <span data-tooltip='See you around.'>Bis dann!</span> 👋"))(display: "Messenger")} =| [[start over|Start]] {(set: $responses to it + (a: (passage:)'s name)))(set: $responses to it + (a: "<span data-tooltip='That&#8216;s awesome.'>Das ist großartig!</span> ✨ I'd like to ask you a few questions to help you get started. <span data-tooltip='Alright?'>In Ordnung?</span>"))(display: "Messenger")} =| [[Ok]] [[Nope]] {(set: $responses to it + (a: (passage:)'s name)))(set: $responses to it + (a: "<span data-tooltip='Splendid'>Wunderbar!</span> Do you have any experience learning German with stories?"))(display: "Messenger")} =| [[none at all]] [[a little]] [[quite a bit]] {(set: $responses to it + (a: (passage:)'s name)))(set: $responses to it + (a: "<span data-tooltip='Not a problem'>Kein Problem!</span> Our 5 day 📧 <a target='_top' href='https://learnoutlive.com/how-to-learn-german/'>free email course</a> will help you get started in no time. Find out why learning German with stories works, discover tons of (free) resources and helpful tips and tools to get the most out of your learning journey. Sign up 👉 <a target='_top' href='https://mailchi.mp/learnoutlive/learn-german-with-stories'>here</a>. Anything else?"))(display: "Messenger")} =| [[I don't like email]] [[Tell me more about your books!]] [[Nope]] {(set: $responses to it + (a: (passage:)'s name)))(set: $responses to it + (a: "<span data-tooltip='Brilliant'>Hervorragend!</span> 😎 What can I do to help you take your German learning journey to the next level?"))(display: "Messenger")} =| [[Tell me more about your books!]] [[I need help with grammar and rules]] {(set: $responses to it + (a: (passage:)'s name)))(set: $responses to it + (a: "<span data-tooltip='fabulous'>Fantastisch!</span> 🎉 What can I help you with?"))(display: "Messenger")} =| [[Tell me more about your books!]] [[Any literature recommendations?]] [[I need help with grammar and rules]] {(set: $responses to it + (a: (passage:)'s name)))(set: $responses to it + (a: "Head over to our <a target='_top' href='https://learnoutlive.com/german-reading-materials/'>link library</a> to discover all kinds of (free) resources from German short stories to novels, audiobooks and more. Anything else?"))(display: "Messenger")} =| [[Tell me more about your books!]] {(set: $responses to it + (a: (passage:)'s name)))(set: $responses to it + (a: "Check out our <a target='_top' href='https://learnoutlive.com/category/grammar/'>grammar section</a> for free guides, textbooks, worksheets and exercises."))(display: "Messenger")} =| [[Tell me more about your books!]] {(set: $responses to it + (a: (passage:)'s name)))(set: $responses to it + (a: "<span data-tooltip='Understood'>Verstanden</span>. If you'd rather dig through our resources on your own, head over to our <a target='_top' href='https://learnoutlive.com/german-reading-materials/'>link library</a> to discover all kinds of free resources from German short stories to audiobooks, worksheets and more. Anything else?"))(display: "Messenger")} =| [[Nope]] [[Tell me more about your books!]] {(set: $responses to it + (a: (passage:)'s name)))(set: $responses to it + (a: "<span data-tooltip='Marvellous'>Klasse</span>. What would you like to know?"))(display: "Messenger")} =| [[Show me books for beginners]] [[... intermediates]] [[... advanced]] [[general questions]] {(set: $responses to it + (a: (passage:)'s name)))(set: $responses to it + (a: "For beginner German learners I'd recommend checking out 🟢 <a target='_top' href='https://books.learnoutlive.com/category/dino-lernt-deutsch/'>Dino lernt Deutsch</a>, a German travel/comedy series for beginners starting at the A1/A2 level. Learn more <a target='_top' href='https://books.learnoutlive.com/category/dino-lernt-deutsch/'>here</a>. Also take a look at our 💬 <a target='_top' href='https://books.learnoutlive.com/easy-german-dialogues-fun-simple-conversation-practice-for-beginners-and-intermediates-audiobook/'>Easy German Dialogues</a>."))(display: "Messenger")} =| [[... intermediates]] [[... advanced]] [[general questions]] {(set: $responses to it + (a: (passage:)'s name)))(set: $responses to it + (a: "For intermediate German learners check out our 🟠 <a target='_top' href='https://books.learnoutlive.com/category/baumgartner-momsen/'>Baumgartner & Momsen</a> series, a mystery series for beginners starting at the B1/B2 level. Learn more <a target='_top' href='https://books.learnoutlive.com/category/baumgartner-momsen/'>here</a>. "))(display: "Messenger")} =| [[Show me books for beginners]] [[... advanced]] [[general questions]] {(set: $responses to it + (a: (passage:)'s name)))(set: $responses to it + (a: "For advanced learners we have the 🔴 <a target='_top' href='https://books.learnoutlive.com/category/aschkalon/'>Aschkalon</a> trilogy, an interactive fantasy story starting at the B2/C1 level. Learn more <a target='_top' href='https://books.learnoutlive.com/category/aschkalon/'>here</a>. "))(display: "Messenger")} =| [[Show me books for beginners]] [[... intermediates]] [[general questions]] {(set: $responses to it + (a: (passage:)'s name)))(set: $responses to it + (a: "Okay. What would you like to know?"))(display: "Messenger")} =| [[Where can I get your books?]] [[I need help with grammar and rules]] [[Do you offer flashcards?]] {(set: $responses to it + (a: (passage:)'s name)))(set: $responses to it + (a: "You can find the digital editions of our ebooks and audiobooks on our own <a target='_top' href='https://books.learnoutlive.com'>store</a>, on Amazon Kindle, Apple Books, Nook, Kobo and many other stores. Paperback editions are available via Amazon, Book Depository, Barnes & Noble and many other stores."))(display: "Messenger")} =| [[I need help with grammar and rules]] {(set: $responses to it + (a: (passage:)'s name)))(set: $responses to it + (a: "<span data-tooltip='Of course!'>Selbstverständlich</span>. Almost all of our books come with free flashcards (available in ANKI format or via Quizlet."))(display: "Messenger")} =| [[I need help with grammar and rules]] [[Where can I get your books?]] {(set: $responses to it + (a: "OPTION"))(set: $responses to it + (a: "BOTREPLY"))(display: "Messenger")} =| [[USERREPLY]]{ (set: $right to false) (set: $vocab to 1) }Double-click this passage to edit it.Double-click this passage to edit it.<script> var reset = true; </script> (goto: "Start") <div class="container"><div id="intro_"></div> (for: each _response, ...$responses)[ (if: $right)[ <div class='left speech bubble-left'> <div class='avatar'></div> <div class="loading"><div class="three-balls-loading"><span></span><span></span><span></span></div></div> <span class="vol" onclick="">_response</span> <span class="txt"> _response</span> </div> (set: $right to false) ] (else:) [ <div class='right speech bubble-right'><span class="vol" onclick="speak($.trim($($(this)).text().replace(new RegExp(ranges.join('|'), 'g'), '')), 'male');">_response</span><span class="txt">_response</span></div> (set: $right to true) ] ]</div> <link rel="stylesheet" type="text/css" href="css/typing.css?v=2"> <script> // ACTIVATE DEBUG MODE //var debug = defined; var str = "{_response}"; if (hesitate == null){ var hesitate = 0 + Math.floor(Math.random() * 1); } //$('tw-column tw-link:contains("xxx")').addClass("hideme"); //counting last RIGHT message //performance tweak //var rlength = $.trim($('tw-expression tw-hook:nth-last-of-type(3) .txt').text()).length; var rlength = 10; // counting last LEFT message //performance tweak var length = $.trim($('tw-expression tw-hook:nth-last-of-type(2) .txt').text()).length; //var lethimread = 1 + Math.floor((Math.random() * 150) + 500) + (rlength*25); var lethimread = 1; //var number = 1 + Math.floor(Math.random() * 1) + length; var number = 1; $('tw-expression tw-hook:nth-last-of-type(3) .speech').delay(100).fadeIn(); // Remove TYPING message // scroll to typing $("html, body").delay(100).animate({ scrollTop: $(document).height() }, "slow"); window.setTimeout(function(){$('tw-column tw-link span').addClass("typing");}, lethimread+number+11800); $('.loading').delay(100+length*8).fadeOut(); // show LEFT text message window.setTimeout(function(){ $('tw-expression tw-hook:nth-last-of-type(2) .txt').fadeIn(); $('tw-expression tw-hook:nth-last-of-type(2)').fadeIn(); }, 500+length*8); // seen checkmarks window.setTimeout(function(){$("tw-expression tw-hook:nth-last-of-type(3) .txt").addClass("seen");}, lethimread/2-number); // wrap span around answer $('tw-column tw-link').wrapInner('<span></span>'); // show button //console.log(length*10+500); $("tw-column").delay(length*8+500).fadeIn(); $('tw-column tw-link span').delay(length*8).fadeTo("slow", 1); $('tw-link').click(function(){ // Clear the timeout // clearTimeout(timer); }); //HIDE PLACEHOLDER $('.speech .txt tw-expression:contains("XXX")').parent().parent().parent().remove(); $('tw-expression tw-hook:nth-last-of-type(2)').delay(lethimread).fadeIn() $('tw-expression tw-hook:nth-last-of-type(2)').delay(lethimread).css("display", "block !important"); $('.avatar').delay(number+400+hesitate).fadeIn().css("vertical-align", "bottom"); $('.multipart').delay(number+400+hesitate).fadeIn(); //var readmeleft = $.trim($('tw-expression tw-hook:nth-last-of-type(2) .txt').text()) //var readmeright = $.trim($('tw-expression tw-hook:nth-last-of-type(3) .txt').text()) // DISABLE AUTOSAVE //window.localStorage.clear(); if (typeof debug !== 'undefined') { console.log("debug mode"); document.getElementsByTagName('html')[0].style.border = "2px dashed orange"; } else { sessionStorage.removeItem("Saved Session"); } //Emoji Remover var ranges = [ '\ud83c[\udf00-\udfff]', '\ud83d[\udc00-\ude4f]', '\ud83d[\ude80-\udeff]', '\ud83e[\ud000-\udfff]', '[\u2000-\u3300]', '\u00a9|\u00ae|' ]; //scroll to end of message $("html, body").delay(length*8+500).animate({ scrollTop: $(document).height() }, "slow"); </script></div><div class="whitespace"></div>