Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- input_field_id = "im_editable2000000120";
- dialog_url = "https://vk.com/im?sel=c120";
- // Checks if the message is the task.
- function check(message) {
- return (message.indexOf(") Подсказка: ") != -1)
- }
- // From the bare HTML returns message text.
- function get_message_text(msg) {
- while (msg.indexOf("<br>") != -1) {
- msg = msg.replace("<br>", " ");
- }
- // Because VK developers are shit.
- if (msg[0] == "<") { // Old message type
- msg = msg.slice(1);
- return msg.slice(msg.indexOf(">") + 1, msg.indexOf("<"));
- } else { // New message type
- return msg.slice(0, msg.indexOf("<"));
- }
- }
- // Returns 4 probable answers for the task.
- function get_answers(message) {
- url = "http://baza-otvetov.ru/search/view/?q=";
- var xmlHttp = new XMLHttpRequest();
- xmlHttp.open("GET", url + encodeURIComponent(message), false);
- xmlHttp.send();
- res = xmlHttp.responseText;
- if (res.indexOf("По вашему запросу ничего не найдено") != -1) {
- return "Nothing found";
- }
- var answers = [];
- for (var i = 0; i < 4; i++) {
- res = res.slice(res.indexOf("Ответ: "));
- ans = res.slice(14, res.indexOf("</h"));
- answers.push(ans);
- res = res.slice(res.indexOf("</h"));
- }
- return answers;
- }
- // Checks if any answer fits the task.
- function get_answer(message, answers) {
- var len = message.split("•").length;
- var fchar = message[message.indexOf("Подсказка: ") + 11];
- for (var i = 0; i < 4; i++) {
- if (answers[i][0] == fchar && answers[i].length == len) {
- return answers[i];
- }
- }
- return "";
- }
- function pull_messages() {
- var last_messages = document.getElementsByClassName("im-mess--text");
- var last_message = get_message_text(last_messages[last_messages.length - 1].innerHTML);
- if (last_message != prev_message) {
- prev_message = last_message;
- if (check(last_message)) {
- var answers = get_answers(last_message);
- console.log("New problem. Answers: " + answers);
- var ans = get_answer(last_message, answers);
- im = document.getElementById(input_field_id);
- im.innerHTML = ans;
- }
- }
- if (document.URL == dialog_url) {
- setTimeout(pull_messages, 200);
- }
- }
- prev_message = "";
- if (document.URL == dialog_url) {
- pull_messages();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement