- https://www.youtube.com/channel/UC_OLBj-iftWE6IgC1wPjtCQ ung ho toi 1 sub nao
- // ==UserScript==
- // @name Duolingo-Cheat-Tool
- // @namespace http://tampermonkey.net/
- // @version 0.1
- // @description Auto answer Duolingo script!
- // @author Tran Quy <tranphuquy19@gmail.com>
- // @match https://www.duolingo.com/skill*
- // @icon https://www.google.com/s2/favicons?domain=duolingo.com
- // @grant none
- // ==/UserScript==
- const DEBUG = true;
- let mainInterval;
- const dataTestComponentClassName = 'e4VJZ';
- const TIME_OUT = 1;
- // Challenge types
- const CHARACTER_SELECT_TYPE = 'characterSelect';
- const CHARACTER_MATCH_TYPE = 'characterMatch'; // not yet
- const TRANSLATE_TYPE = 'translate';
- const LISTEN_TAP_TYPE = 'listenTap';
- const NAME_TYPE = 'name';
- const COMPLETE_REVERSE_TRANSLATION_TYPE = 'completeReverseTranslation';
- const LISTEN_TYPE = 'listen';
- const SELECT_TYPE = 'select';
- const JUDGE_TYPE = 'judge';
- const FORM_TYPE = 'form';
- const LISTEN_COMPREHENSION_TYPE = 'listenComprehension';
- const READ_COMPREHENSION_TYPE = 'readComprehension';
- const CHARACTER_INTRO_TYPE = 'characterIntro';
- const DIALOGUE_TYPE = 'dialogue';
- const SELECT_TRANSCRIPTION_TYPE = 'selectTranscription';
- const SPEAK_TYPE = 'speak';
- const SELECT_PRONUNCIATION_TYPE = 'selectPronunciation';
- // Query DOM keys
- const CHALLENGE_CHOICE_CARD = '[data-test="challenge-choice-card"]';
- const CHALLENGE_CHOICE = '[data-test="challenge-choice"]';
- const CHALLENGE_TRANSLATE_INPUT = '[data-test="challenge-translate-input"]';
- const CHALLENGE_LISTEN_TAP = '[data-test="challenge-listenTap"]';
- const CHALLENGE_JUDGE_TEXT = '[data-test="challenge-judge-text"]';
- const CHALLENGE_TEXT_INPUT = '[data-test="challenge-text-input"]';
- const CHALLENGE_TAP_TOKEN = '[data-test="challenge-tap-token"]';
- const PLAYER_NEXT = '[data-test="player-next"]';
- const PLAYER_SKIP = '[data-test="player-skip"]';
- const BLAME_INCORRECT = '[data-test="blame blame-incorrect"]';
- const CHARACTER_MATCH = '[data-test="challenge challenge-characterMatch"]';
- const clickEvent = new MouseEvent('click', {
- view: window,
- bubbles: true,
- cancelable: true
- });
- function getChallengeObj(theObject) {
- let result = null;
- if (theObject instanceof Array) {
- for (let i = 0; i < theObject.length; i++) {
- result = getChallengeObj(theObject[i]);
- if (result) {
- break;
- }
- }
- }
- else {
- for (let prop in theObject) {
- if (prop == 'challenge') {
- if (typeof theObject[prop] == 'object') {
- return theObject;
- }
- }
- if (theObject[prop] instanceof Object || theObject[prop] instanceof Array) {
- result = getChallengeObj(theObject[prop]);
- if (result) {
- break;
- }
- }
- }
- }
- return result;
- }
- function getChallenge() {
- // const dataTestComponentClassName = 'e4VJZ';
- const dataTestDOM = document.getElementsByClassName(dataTestComponentClassName)[0];
- if (!dataTestDOM) {
- document.querySelectorAll(PLAYER_NEXT)[0].dispatchEvent(clickEvent);
- return null;
- } else {
- const dataTestAtrr = Object.keys(dataTestDOM).filter(att => /^__reactProps/g.test(att))[0];
- const childDataTestProps = dataTestDOM[dataTestAtrr];
- const { challenge } = getChallengeObj(childDataTestProps);
- return challenge;
- }
- }
- function pressEnter() {
- document.dispatchEvent(new KeyboardEvent('keydown', { 'keyCode': 13, 'which': 13 }));
- }
- function dynamicInput(element, msg) {
- let input = element;
- let lastValue = input.value;
- input.value = msg;
- let event = new Event('input', { bubbles: true });
- // hack React15
- event.simulated = true;
- // hack React16 内部定义了descriptor拦截value,此处重置状态
- let tracker = input._valueTracker;
- if (tracker) {
- tracker.setValue(lastValue);
- }
- input.dispatchEvent(event);
- }
- function classify() {
- const challenge = getChallenge();
- if (!challenge) return;
- if (DEBUG) console.log(`${challenge.type}`, challenge);
- switch (challenge.type) {
- case SELECT_PRONUNCIATION_TYPE:
- case READ_COMPREHENSION_TYPE:
- case LISTEN_COMPREHENSION_TYPE:
- case FORM_TYPE: { // trắc nghiệm 1 đáp án
- const { choices, correctIndex } = challenge;
- if (DEBUG) console.log('READ_COMPREHENSION LISTEN_COMPREHENSION FORM', { choices, correctIndex });
- document.querySelectorAll(CHALLENGE_CHOICE)[correctIndex].dispatchEvent(clickEvent);
- return { choices, correctIndex };
- }
- case SELECT_TYPE:
- case CHARACTER_SELECT_TYPE: { // trắc nghiệm 1 đáp án
- const { choices, correctIndex } = challenge;
- if (DEBUG) console.log('SELECT CHARACTER_SELECT', { choices, correctIndex });
- document.querySelectorAll(CHALLENGE_CHOICE_CARD)[correctIndex].dispatchEvent(clickEvent);
- return { choices, correctIndex };
- }
- case CHARACTER_MATCH_TYPE: { // tập hợp các cặp thẻ
- const { pairs } = challenge;
- const tokens = document.querySelectorAll(CHALLENGE_TAP_TOKEN);
- pairs.forEach((pair) => {
- for(let i = 0; i < tokens.length; i++) {
- if(tokens[i].innerText === pair.transliteration || tokens[i].innerText === pair.character) {
- tokens[i].dispatchEvent(clickEvent);
- }
- }
- })
- return { pairs };
- }
- case TRANSLATE_TYPE: {
- const { correctTokens, correctSolutions } = challenge;
- if (DEBUG) console.log('TRANSLATE', { correctTokens });
- if (correctTokens) {
- const tokens = document.querySelectorAll(CHALLENGE_TAP_TOKEN);
- let ignoreTokeIndexes = [];
- for (let correctTokenIndex in correctTokens) {
- for (let tokenIndex in tokens) {
- const token = tokens[tokenIndex];
- if (ignoreTokeIndexes.includes(tokenIndex)) continue;
- if (token.innerText === correctTokens[correctTokenIndex]) {
- token.dispatchEvent(clickEvent);
- ignoreTokeIndexes.push(tokenIndex);
- if(DEBUG) console.log(`correctTokenIndex [${correctTokens[correctTokenIndex]}] - tokenIndex [${token.innerText}]`);
- break;
- };
- }
- }
- } else if (correctSolutions) {
- let textInputElement = document.querySelectorAll(CHALLENGE_TRANSLATE_INPUT)[0];
- dynamicInput(textInputElement, correctSolutions[0]);
- }
- return { correctTokens };
- }
- case NAME_TYPE: { // nhập đán án
- const { correctSolutions } = challenge;
- if (DEBUG) console.log('NAME', { correctSolutions });
- let textInputElement = document.querySelectorAll(CHALLENGE_TEXT_INPUT)[0];
- let correctSolution = correctSolutions[0];
- dynamicInput(textInputElement, correctSolution);
- return { correctSolutions };
- }
- case COMPLETE_REVERSE_TRANSLATION_TYPE: { // điền vào từ còn thiếu
- const { displayTokens } = challenge;
- if (DEBUG) console.log('COMPLETE_REVERSE_TRANLATION', { displayTokens });
- const { text } = displayTokens.filter(token => token.isBlank)[0];
- let textInputElement = document.querySelectorAll(CHALLENGE_TEXT_INPUT)[0];
- dynamicInput(textInputElement, text);
- return { displayTokens };
- }
- case LISTEN_TAP_TYPE: {
- const { correctTokens } = challenge;
- if (DEBUG) console.log('LISTEN_TAP', { correctTokens });
- const tokens = document.querySelectorAll(CHALLENGE_TAP_TOKEN);
- for (let wordIndex in correctTokens) {
- tokens.forEach((token) => {
- if (token.innerText === correctTokens[wordIndex]) {
- token.dispatchEvent(clickEvent);
- };
- });
- }
- return { correctTokens };
- }
- case LISTEN_TYPE: { // nghe và điền vào ô input
- const { prompt } = challenge;
- if (DEBUG) console.log('LISTEN', { prompt });
- let textInputElement = document.querySelectorAll(CHALLENGE_TRANSLATE_INPUT)[0];
- dynamicInput(textInputElement, prompt);
- return { prompt };
- }
- case JUDGE_TYPE: { // trắc nghiệm 1 đáp án
- const { correctIndices } = challenge;
- if (DEBUG) console.log('JUDGE', { correctIndices });
- document.querySelectorAll(CHALLENGE_JUDGE_TEXT)[correctIndices[0]].dispatchEvent(clickEvent);
- return { correctIndices };
- }
- case DIALOGUE_TYPE:
- case CHARACTER_INTRO_TYPE: { // trắc nghiệm 1 đáp án
- const { choices, correctIndex } = challenge;
- if (DEBUG) console.log('DIALOGUE CHARACTER_INTRO', { choices, correctIndex });
- document.querySelectorAll(CHALLENGE_JUDGE_TEXT)[correctIndex].dispatchEvent(clickEvent);
- return { choices, correctIndex };
- }
- case SELECT_TRANSCRIPTION_TYPE: {
- const { choices, correctIndex } = challenge;
- if (DEBUG) console.log('DIALOGUE CHARACTER_INTRO', { choices, correctIndex });
- document.querySelectorAll(CHALLENGE_JUDGE_TEXT)[correctIndex].dispatchEvent(clickEvent);
- return { choices, correctIndex };
- }
- case SPEAK_TYPE: {
- const { prompt } = challenge;
- if (DEBUG) console.log('SPEAK', { prompt });
- document.querySelectorAll(PLAYER_SKIP)[0].dispatchEvent(clickEvent);
- return { prompt };
- }
- default:
- break;
- }
- }
- function breakWhenIncorrect() {
- const isBreak = document.querySelectorAll(BLAME_INCORRECT).length > 0;
- if (isBreak) {
- console.log('Incorrect, stopped');
- clearInterval(mainInterval);
- };
- }
- function main() {
- try {
- let isPlayerNext = document.querySelectorAll(PLAYER_NEXT)[0].textContent.toUpperCase();
- if (isPlayerNext.valueOf() !== 'CONTINUE') {
- classify();
- breakWhenIncorrect()
- pressEnter();
- }
- setTimeout(pressEnter, 1);
- } catch (e) {
- console.log(e);
- }
- }
- function solveChallenge() {
- mainInterval = setInterval(main, TIME_OUT);
- console.log(`to stop run this command clearInterval(${mainInterval})`);
- }
- // solveChallenge();
- (solveChallenge)();
- 1
Thứ Hai, 15 tháng 11, 2021
Code duolingo ( 2022 but just work with some lesson )
Đăng ký:
Đăng Nhận xét (Atom)
-
// ==UserScript== // @name Duolingo-Cheat-Tool // @namespace http://tampermonkey.net/ // @version 0.1 // @description Auto ...
-
https://www.youtube.com/channel/UC_OLBj-iftWE6IgC1wPjtCQ ung ho toi 1 sub nao // ==UserScript== // @name Duolingo-Cheat-Tool // @nam...
-
Tampermonkey: https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo/related?hl=vi Code: ( sẽ có vd hướng d...
83 nhận xét:
code nào nó khác hay giống bạn
các code đều giống nhau chỉ là nó nhanh hơn thôi
nhưng mà sao mk nhập vào nó kêu là lỗi không làm được
mình mới sửa code bạn làm lại đi :)
mk làm được rồi mà bạn lặp lại code chứ không ghi thêm vào đúng không
hmm ghi thêm chứ bạn code này sẽ nhanh hơn các code còn lại
code này dán nhiều lần có chạy không bạn
bạn có thể sài code khác chứ code này mình dùng vẫn ok mà
bạn làm code mà bài nghe làm đúng á chứ không mấy bài không tắt được thì uổng
code dán nhiều lần vẫn chạy
nếu các bạn mún hỏi gì hãy lên discord của mình
ok bạn cho mk link ik
https://discord.gg/hrMdnuNFu4
ô
ok
ok cam on nhan dz
Co x4 k ạ nêu co cho mik xin link
chưa có bạn ơi đợi mãi à
discord của bạn là gì
:)
các video mình lun có link discord vào đó xem
R bt rôi cha nội
bn ơi mik ko vào discord dc
bn up code x3 lên blogspot đi
có code r này
hay lắm bạn ơi
chán quá chưa có code x4 nữa
làm code hack coin của mope.io đi anh
bạn ơi có code hack VioEdu không
bạn ơi làm video hack 100000kn trên wep đi
bạn làm video hack 100000000kn đi
nhanh ha nhandz
hay
nhanh
bạn gửi rồi mà
g
hello nhandz
nhandz
Bao giờ có code tự làm tất cả mọi thứ nhỉ tất cả các loại bài tập ấy
cam on nhan dz
cam on nhan dz rat nhieu
ừ chư có code x4 nữa, có code x4 thì còn nhanh hơn nữa
bạn ơi
sao ko có code hack poweline.io vậy?
có vài bài phải tự làm
bn làm code hack kho truyện duolingo đi
how to dùng tampermonkey :)
ôg chỉ cách dùng tampermonkey đi
hello
hello nhan dz
anh ơi có cai code hack lingotr chưa anh
h
cố chịu đi
code nó ko tự động qua câu nữa bạn sửa lại đi
hông có đâu
bạn ơi code bị lỗi rồi
nhập chỗ nào
Hmm lên làm cho nó tự bấm trả lời
Code x3 đủ rồi bạn, đừng được voi đòi hai bà trưng :]
Máy hm nay mình dùng code toàn bị sai thoi
cách hack ý bạn hack giùm tớ được ko tên tài khoãn l2 phan gia khai mật khẩu là gia khai hack giúp em đạt được cúp vàng nha cái học vượt ý
bạn cho mình hỏi ctrl c rồi thì ctrl v ở đâu vậy
van khong hoat dong dc ban oi
bn ơi bn sửa lại code ik code bị j ý
code bị sao ý bn ạ
sao ko lm đc bài nghe v bạn
em thấy cái code của anh nó cứ bị sao ik
nó ko làm dc những bài chọn nối và nghe chọn
nó chỉ cs tắc dụng với bài ko cs những bài mà em vừa kể anh à
em mong anh sẽ khắc phục lỗi này
Cái code nó cứ bị lỗi làm sao đó
Nó ko có auto chuyển câu giống hồi đó nx
nick đícode bạn tên gì
hello thank nha
cc
code xịn =)
có code free linngot ko bn
code ko có cái tác dụn
g gì cả
hay
Print"XinTenDiscordNhandzz"
scipt.parent("Codex3", )
remoteEvent:Control("GetNameDiscord")
autoDrawn >= false
Print"UrlDiscord"
//DONTMAKEVIRUSTOTAL//
virustotal.script.parent"kill" --Do Some Things
end
end)
a xem seo no k hoat dong??
đm lừa đảo bố nhập đéo đc
dán trên MacBook Air ntn hả
có code 4 chưa
bn làm code hack vioedu đi
được
nhandz ơi
bạn ơi bao giờ có code x4
tròn một năm đăng code
Giá như có code x4! (┬┬﹏┬┬)
Đăng nhận xét