Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function randomcharacter(list) {
- var keys = Object.keys(list);
- var random = Math.floor(Math.random() * (keys.length));
- return list[keys[random]];
- }
- var character_list = {
- pilsudski: {
- url: "https://i.imgur.com/BFERwbz.png",
- width: 280,
- height: 294
- },
- dmowski: {
- // url: "https://i.imgur.com/tQRC7Rt.png",
- url: "https://i.imgur.com/4Sq9ud2.png", // wersja z wygładzonym bokiem
- width: 228,
- height: 284
- },
- paderewski: {
- url: "https://i.imgur.com/ANVJUhk.png",
- // url: "https://i.imgur.com/noURYPy.png", // inne zdjęcie
- width: 214,
- height: 281
- },
- }
- var last_character_url = "";
- function insertpilsudski(character_list, randomCharacter=false) {
- dialog = document.createElement('div');
- dialog.classList.add("postac_czerwona_dialog");
- if(randomCharacter) {
- var character = randomcharacter(character_list);
- last_character_url = character.url;
- }
- else
- var character = character_list.pilsudski; // domyślna postać
- dialog.style.cssText = `
- position: fixed;
- bottom: ${character.height+20}px;
- right: 65px;
- width:250px;
- color: #030303;
- background-color: #d4c0a6;
- padding: 6px;
- border-radius: 4px;
- box-shadow: 2px 2px 4px #000000;
- `;
- pil = document.createElement('div');
- pil.classList.add("postac_czerwona");
- pil.style.cssText = `
- position: fixed;
- bottom: 0px;
- right: 85px;
- width: ${character.width}px;
- height: ${character.height}px;
- background: url("${character.url}");
- `;
- /* ponowne losowanie posta po kliknięciu na dymek */
- dialog.addEventListener("click", insertrandompost);
- dialog.style.cursor = "pointer";
- /* ponowne losowanie postaci po kliknięciu */
- if(randomCharacter) {
- pil.addEventListener("click", changecharacter);
- pil.style.cursor = "pointer";
- }
- document.body.appendChild(pil);
- document.body.appendChild(dialog);
- }
- function randompost() {
- var posts = document.querySelectorAll('.post:not(#quote-preview)');
- var random = Math.floor(Math.random() * (posts.length));
- post = posts[random].querySelector('.postMessage').innerText;
- post = post.replace(/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/g, ''); // usuwanie linków
- post = post.replace(/>>(\/[.+]+\/)?[0-9]{1,9}( \(OP\))?/g, ''); // usuwanie backlinków
- post = post.replace(/&/g, '&').replace(/</g, '<'); // zamiana tagów html
- post = post.replace(/(^>.*)/gm, '<span style="color:#4f6a07">$1</span>'); // zielone strzałki
- post = post.replace(/^\s+|\s+$/g, ''); // usuwanie enterów na początku
- post = post.replace(/(\r\n|\r|\n){2,}/g, '$1\n'); // usuwanie nadmiarowych enterów
- post = post.replace(/(?:\r\n|\r|\n)/g, '<br>'); // dodanie enterów do html
- return post;
- }
- function insertrandompost() {
- post = randompost();
- i = 0
- while(post == '' || post.length > 650) {
- if(i >= 200) {
- post = "Nie mam nic do powiedzenia.";
- break;
- }
- post = randompost();
- i++;
- }
- dialog.innerHTML = post;
- }
- function changecharacter() {
- var character = randomcharacter(character_list);
- while(character.url == last_character_url) { // zapobieganie duplikatom
- var character = randomcharacter(character_list);
- }
- var char_box = document.querySelector('.postac_czerwona');
- var dialog = document.querySelector('.postac_czerwona_dialog');
- char_box.style.width = `${character.width}px`;
- char_box.style.height = `${character.height}px`;
- char_box.style.background = `url("${character.url}")`;
- dialog.style.bottom = `${character.height+20}px`;
- last_character_url = character.url;
- }
- window.onload = () => {
- if(document.querySelector('.post:not(#quote-preview)') != null) {
- insertpilsudski(character_list, randomCharacter=true);
- insertrandompost();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment