您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Telegram Dark Theme
当前为
// ==UserScript== // @name Telegram Dark // @namespace http://tampermonkey.net/ // @version 0.4.3 // @description Telegram Dark Theme // @author BeknAlyb // @match https://web.telegram.org/* // @grant none // ==/UserScript== (function() { 'use strict'; var animStopFlag = 0; function stopTextAnim() { if(animStopFlag >= 1){ animStopFlag = 2; sendBtnColorAnim(); startFish(); } else{ stopFish(); animStopFlag = 1; } } function addCss(css) { var head, style, linkF1, linkF2, linkF3, divTopPanel; var button; head = document.getElementsByTagName('head')[0]; if (!head) { return; } divTopPanel = document.getElementsByClassName('tg_head_split'); if (!divTopPanel[0]) { return; } style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = css; head.appendChild(style); button = document.createElement('div'); button.className = 'stopAnimButton'; button.addEventListener("click", stopTextAnim); divTopPanel[0].appendChild(button); linkF1 = document.createElement('link'); linkF1.href = 'https://fonts.googleapis.com/css2?family=Montserrat+Alternates:wght@500&display=swap'; linkF1.rel = 'stylesheet'; head.appendChild(linkF1); linkF2 = document.createElement('link'); linkF2.href = 'https://fonts.googleapis.com/css2?family=Neucha&display=swap'; linkF2.rel = 'stylesheet'; head.appendChild(linkF2); linkF3 = document.createElement('link'); linkF3.href = 'https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap'; linkF3.rel = 'stylesheet'; head.appendChild(linkF3); //Just stopping animation stopTextAnim(); } //Typing animation var messageTextArea; messageTextArea = document.getElementsByClassName('composer_rich_textarea')[0]; //messageTextArea.addEventListener("input", inputAnimation); function inputAnimation(e){ //console.log('Message: ' + messageTextArea.textContent); } //Send button animation below var sendBtnText = null; var int2 = 150; var int3 = 255; var addInt2, addInt3 = null; var multiplier = 0; var animate; function init() { sendBtnText = document.getElementsByClassName('im_submit'); sendBtnText[0].style.color = 'rgb(0, 150, 255)'; sendBtnText[0].style.textShadow = '0 0 2px rgb(0, 190, 255)'; sendBtnColorAnim(); } function mouseut(){ sendBtnText[0].style.color = 'rgb(0, 150, 255)'; sendBtnText[0].style.textShadow = '0 0 2px rgb(0, 50, 60)'; }; function mousever(){ sendBtnText[0].style.color = 'rgb(133, 205, 255)'; sendBtnText[0].style.textShadow = '0 0 2px rgb(0, 190, 255)'; } function sendBtnColorAnim() { multiplier += 0.5; if(int2 <= 60 && int3 <= 102){ multiplier = 0.5; addInt2 = 1; addInt3 = 2; } else if(int2 >= 150 && int3 >= 255){ multiplier = 0.5; addInt2 = -1; addInt3 = -2; } else{ } int2 += addInt2 * multiplier; int3 += addInt3 * multiplier; sendBtnText[0].style.color = 'rgb(' + 0 + ', ' + parseInt(int2) + ', ' + parseInt(int3) + ')'; sendBtnText[0].style.textShadow = '0 0 2px rgb(0, ' + parseInt(int2) + ', ' + parseInt(int3)*0.9 + ')'; animate = setTimeout(sendBtnColorAnim,50); if(animStopFlag == 1) { sendBtnText[0].style.color = 'rgb(0, 150, 255)'; sendBtnText[0].style.textShadow = '0 0 2px rgb(0, 50, 60)'; sendBtnText[0].addEventListener("mouseover", mousever); sendBtnText[0].addEventListener("mouseout", mouseut); int2 = 150; int3 = 255; multiplier = 0; clearTimeout(animate); } else if(animStopFlag == 2){ sendBtnText[0].removeEventListener("mouseover", mousever); sendBtnText[0].removeEventListener("mouseout", mouseut); animStopFlag = 0; } } window.onload = init; var mask = document.getElementsByClassName('im_history_selected_wrap')[0]; var mask1 = document.getElementsByClassName('im_history_col_wrap')[0]; var isAnimate = 1; var canvasW = 0, canvasH = 0; var canvas = document.createElement('canvas'); var canvasContext = canvas.getContext('2d'); var positionInfo = mask1.getBoundingClientRect(); var posheight = positionInfo.height; var poswidth = positionInfo.width; canvas.width = poswidth; canvas.height = window.innerHeight - positionInfo.bottom + 8; canvas.className = 'aquarium'; canvas.disabled = true; mask1.insertBefore(canvas, mask); canvasW = canvas.width; canvasH = canvas.height; var fishBox = []; var fishImages = []; var moveX = 2; var moveY = 0; var img1 = new fishType('https://img.icons8.com/plasticine/100/000000/fish.png', true); var img2 = new fishType('https://img.icons8.com/color/64/000000/fish-food.png', true); var img3 = new fishType('https://img.icons8.com/color/96/000000/clown-fish.png', true); var img4 = new fishType('https://img.icons8.com/officel/80/000000/clown-fish.png', true); var img5 = new fishType('https://img.icons8.com/office/40/000000/fish-food.png', true); var img6 = new fishType('https://img.icons8.com/color/96/000000/jellyfish.png', true); var img7 = new fishType('https://img.icons8.com/color/48/000000/bubble.png', true); function fish (x, y, type, flip, speed, scale){ this.x = x; this.y = y; this.type = type; this.flip = flip; this.speed = speed; this.scale = scale; } function fishType(url, push){ var img1 = document.createElement('img'); img1.src = url; if(push){ fishImages.push(img1); } } function spawnBubble(){ var hFlip = 1; var fishX = -250; var fishType = 6; var fishY = getRandom(0, canvasW - 60); var speed = getRandom(1, 3); var bubble = new fish( fishX, fishY, fishType, hFlip, speed, Math.random() * (0.5 - 0.15) + 0.15 ); if(isAnimate && !document.hidden){ fishBox.push(bubble); } setTimeout(spawnBubble, getRandom(500, 5000)); } function spawnFish(){ var hFlip = 1; var fishX = -250; var fishType = getRandom(1, getRandom(4, getRandom(4, 5))); var fishY = getRandom(0, canvasW - 60); var speed = getRandom(1, 3); if(getRandom(1, 10) >= 5 && fishType != 5){ hFlip = -1; fishX = canvasW; } else if(fishType == 5) speed = getRandom(1, 3)*0.5; var fish1 = new fish( fishX, fishY, fishType, hFlip, speed, Math.random() * (1.1 - 0.9) + 0.9 ); if(isAnimate && !document.hidden){ fishBox.push(fish1); } setTimeout(spawnFish, getRandom(2000, 15000)); } function animateFish(){ drawFish(); if(isAnimate) requestAnimationFrame(animateFish); } function drawFish(){ canvasContext.clearRect(0, 0, canvasW, canvasH); for(var i = 0; i < fishBox.length; i+=1){ var speed = fishBox[i].speed; var x = fishBox[i].x; canvasContext.save(); if(fishBox[i].type >= 5){ canvasContext.globalAlpha = 0.6; canvasContext.translate( fishBox[i].y + Math.sin(x/(100/speed))*10 + fishImages[fishBox[i].type].width / 2, -x + canvasH - fishImages[fishBox[i].type].height/ 2 ); canvasContext.rotate(Math.cos(x/(100/speed))*2*(Math.PI/180)); } else{ canvasContext.translate( x*speed + fishImages[fishBox[i].type].width / 2, fishBox[i].y + Math.sin(x/(70/speed))*10*speed + fishImages[fishBox[i].type].height/ 2 ); canvasContext.rotate(Math.cos(x/(70/speed))*3*speed*(Math.PI/180)); } canvasContext.scale(fishBox[i].flip, 1); canvasContext.drawImage( fishImages[fishBox[i].type], fishImages[fishBox[i].type].width / -2, fishImages[fishBox[i].type].height/ -2, fishImages[fishBox[i].type].width*fishBox[i].scale, fishImages[fishBox[i].type].height*fishBox[i].scale ); canvasContext.restore(); fishBox[i].x += speed*fishBox[i].flip; } for(var i = 0; i < fishBox.length; i+=1){ if(fishBox[i].x*fishBox[i].flip > 1000 || fishBox[i].x < -300) fishBox.splice(i, 1); } } function stopFish(){ isAnimate = 0; } function startFish(){ isAnimate = 1; animateFish(); } function getRandom (min, max) { min = Math.ceil(min); max = Math.floor(max); return Math.floor(Math.random() * (max - min + 1)) + min; } spawnFish(); spawnBubble(); animateFish(); addCss (` body { background: #333; } body.non_osx { /* font: 11px/18px 'Press Start 2P', sans-serif, Actor, Helvetica; letter-spacing: 0.5px; */ /* font: 13px/18px 'Neucha', cursive, Actor, Helvetica; letter-spacing: 0.5px; */ font: 12px/18px 'Montserrat Alternates', sans-serif, Actor, Helvetica; } .im_history_message_wrap{ z-index: 1; } .aquarium{ position: absolute; } .stopAnimButton { margin-top: -48px; margin-right: 104px; position: relative; float: right; width: 53px; height: inherit; background: #1d1d1d; background-image: url("https://img.icons8.com/office/40/000000/whole-fish.png"); background-repeat: no-repeat; background-position: center; color: white; display: block; } .stopAnimButton:hover { background: #141617; color: white; cursor: pointer; background-image: url("https://img.icons8.com/office/40/000000/no-fish.png"); background-repeat: no-repeat; background-position: center; } a { color: #7eaad1; text-decoration: none; } .im_dialogs_scrollable_wrap a.im_dialog:hover,.im_dialogs_scrollable_wrap a.im_dialog_selected { border-radius:0; background:#27292b } .im_dialogs_scrollable_wrap .active a.im_dialog { border-radius:0; background-color:#41525f } .im_dialogs_scrollable_wrap .active a.im_dialog:hover,.im_dialogs_scrollable_wrap .active a.im_dialog_selected { background-color:#41525f } a.im_dialog:hover .im_short_message_text, a.im_dialog_selected .im_short_message_text{ color: #999; } .im_dialogs_col .nano > .nano-pane > .nano-slider { background: rgb(60, 60, 60); } a.tg_checkbox, p.tg_checkbox { color: white; } .composer_rich_textarea, .composer_textarea { box-shadow: 0 1px 0 0 #afafaf; } .composer_rich_textarea:focus, .composer_textarea:focus { box-shadow: 0 2px 0 0 #afafaf; } a.im_dialog .im_dialog_chat_from_wrap,a.im_dialog .im_short_message_media, a.im_dialog .im_short_message_service { color: #808080; } .im_history_col .nano > .nano-pane > .nano-slider, .contacts_modal_col .nano > .nano-pane > .nano-slider, .sessions_modal_col .nano > .nano-pane > .nano-slider, .stickerset_modal_col .nano > .nano-pane > .nano-slider, .im_dialogs_modal_col .nano > .nano-pane > .nano-slider { background: #484848; } .im_history_col .nano > .nano-pane, .contacts_modal_col .nano > .nano-pane, .sessions_modal_col .nano > .nano-pane, .stickerset_modal_col .nano > .nano-pane, .im_dialogs_modal_col .nano > .nano-pane { background: #333; } .stickerset_modal_sticker_wrap:hover { background: #333; } .im_send_panel_wrap { max-width: 640px; padding-bottom: 40px; } .im_send_form { max-width: 470px; left: 68px; right: 72px; } .btn-primary { color: #fff; background-color: #2e404e; border-radius: 3px; } .btn-md-primary, .btn-md-primary:focus, .btn-md-primary:hover { color: #b5ddff; } .btn-md:hover { background: #52606f; } /*.im_submit { color: rgb(0, 149, 255); text-shadow: 0 0 2px #00c0ff; } */ .im_submit:hover { color: #8ed0ff; background: #3589c500; } .im_edit_panel_wrap { padding: 0px 0 60px; margin: 0 24px 0 12px; } .im_message_selected .im_message_outer_wrap, .md_modal_head, .md_modal_head_simple, .stickerset_actions_wrap, .im_message_unread_split { background: #1515156b; opacity: 1; } .dropdown.open .tg_head_btn, .tg_head_btn:hover { color: #fff; text-decoration: none; background: #141617; } .im_history_select_active .im_message_outer_wrap:hover { background: #1515156b; } .im_message_author { color: #499dd9; } .im_message_reply { padding-left: 12px; padding-top: 2px; padding-bottom: 2px; padding-right: 0; } .im_message_reply_border { background: #7eaad1; height: 38px; width: 2px; position: absolute; margin-left: -12px; margin-top: -1px; } .im_message_reply_author { font-weight: 700; color: #7eaad1; line-height: 16px; margin-bottom: 3px; } .im_message_wrap { max-width: 660px; padding: 0 0px 0 0px; margin: 0 20px; margin-top: 0px; margin-right: 60px; margin-bottom: 0px; margin-left: 40px; position: static; } .im_message_focus_active .im_message_outer_wrap { background-color:rgb(0, 0, 0); animation-name:im_message_focus_fade; -webkit-animation-timing-function:ease-in; animation-timing-function:ease-out; animation-duration:4s } @keyframes im_message_focus_fade{ from{ background-color:#333b42 } to{ background-color:rgba(242,246,250,0) } } .im_send_dropbox_wrap { background: #1d1d1d; display:none; padding:17px 10px 0; border:1px dashed #999; overflow:hidden; text-align:center; color:#999; position:absolute; } @media (min-width: 900px) { .im_message_wrap { position: relative; } .im_message_selected .icon-select-tick, .im_history_selectable .im_message_outer_wrap:hover .icon-select-tick { position: absolute; width: 26px; height: 26px; margin: 9px 0 0 590px; display: block; background-image: url(../img/icons/IconsetW.png); background-repeat: no-repeat; background-position: -9px -481px; opacity: 0.5; } .is_2x .im_message_selected .icon-select-tick, .is_2x .im_history_selectable .im_message_outer_wrap:hover .icon-select-tick { background-image: url(../img/icons/IconsetW_2x.png); background-size: 42px 1171px; } .im_message_selected .icon-select-tick { opacity: 1 !important; } .im_grouped_short .icon-select-tick, .im_grouped_short .im_message_outer_wrap:hover .icon-select-tick { margin-top: -2px; } .im_message_fwd .icon-select-tick, .im_message_outer_wrap:hover .im_message_fwd .icon-select-tick { margin-top: 10px; } .im_grouped_fwd .icon-select-tick, .im_grouped_fwd .im_message_outer_wrap:hover .icon-select-tick { margin-top: 7px; } .im_grouped .icon-select-tick, .im_grouped .im_message_outer_wrap:hover .icon-select-tick { margin-top: 7px; } .im_grouped_fwd_short .icon-select-tick, .im_grouped_fwd_short .im_message_outer_wrap:hover .icon-select-tick { margin-top: -5px; } } .im_history_typing { font-size: 11px; color: #999; max-width: 556px; margin: 0 35px; padding: 13px 81px 8px 85px; } .audio_player_seek_slider .tg_slider_track { margin: 7px 0; background: rgba(65, 73, 78, 0.5); height: 4px; border-radius: 0; } .audio_player_volume_slider .tg_slider_track { margin: 7px 0; background: rgba(79, 86, 90, 0.5); height: 4px; } .im_dialogs_search_field { font-size: 12px; line-height: normal; border: 1px solid #333333; border-radius: 5px; padding: 6px 26px 6px 30px; margin: 0; background-color: #333333; background-image: url(../img/icons/IconsetW.png); background-repeat: no-repeat; background-position: -6px -205px; } .im_dialogs_scrollable_wrap a.im_dialog_searchpeer, .im_dialogs_scrollable_wrap a.im_dialog_searchpeer:hover, .im_dialogs_scrollable_wrap a.im_dialog_searchpeer_selected { background: #306288; } .modal-content { position: relative; background-color: #22292d; background-clip: padding-box; border-radius: 5px; outline: 0; } .confirm_modal_description { text-align: center; padding: 20px 0; font-size: 14px; line-height: 160%; color: aliceblue; } .tg_head_split, .im_page_wrap,Femo .im_send_form, .stickerset_modal_stickers_list, .md_modal_body { background-color: #222; color: #f1efeb; !important; border: none; box-shadow: none; } .im_bottom_panel_wrap{ position: relative; } .im_history_pinned_wrap { padding: 7px 10px 7px 20px; border-bottom: 1px solid #7d7d7d; } .reply_markup_button { color: #e6e6e6; display: block; width: 100%; background: #47545f; height: 30px; font-size: 13px; margin: 0; padding: 6px; overflow: hidden; text-overflow: ellipsis; } .reply_markup_button:focus, .reply_markup_button:hover { color: #ffffff; background: #637b90; } .im_record_bg { background-color: #00000000; width: 40px; height: 40px; } a.composer_emoji_btn:hover { background-color: #3b3f4273; border-radius: 3px; } .tg_head_peer_title_wrap, .tg_head_btn { background-color: #1d1d1d; } .im_dialog_peer { color: white !important; } .badge { color: #ddd !important; background-color: #444 !important; } .im_dialogs_col_wrap { border-right: 2px solid #111 !important; } `); })();