Drath / VK big stickers

// ==UserScript==
// @name     VK big stickers
// @description Increases emoji window and sticker size to 128px in VK social network 
// @version  5
// @grant    GM_addStyle
// @license MIT
// @updateURL https://openuserjs.org/meta/Drath/VK_big_stickers.meta.js
// @copyright 2019, Drath (https://openuserjs.org/users/Drath)
// @include  https://vk.com/*
// @run-at         document-start
// ==/UserScript==

window.addEventListener('afterscriptexecute', function (e) {
  let src = e.target.getAttribute('src');
  console.log(src);
  if (src && src.match("https://.+?.vk.com/js/cmodules/web/emoji.*")) {
    document.head
      .appendChild(document.createElement('script'))
      .innerHTML =
       `(function(){
            Emoji.stickerSize=128;
              Emoji.render.stickerRs=function (e, i, t) {
                var o = {
                  optId: e,
                  selId: i,
                  stickerId: t[0],
                  size: 128,
                  stickerSize: 128,
                  stickerUrl: t[2].replace(/(\\/sticker\\/\\d+\\-\\d+)(\\-\\d+)/,'$1-128'),
                  fav: t[4] || '',
                  favHash: t[5] || '',
                  referrer: Emoji.getStickerReferrer(i),
                  favClass: t[4] ? 'faved' : ''
                },
                    r = '';
                if (browser.msie && !browser.msie_edge || !t[3]) r = Emoji.stickerItem();
                else {
                  r = Emoji.stickerItemAnimation();
                  var s = rand(1, 100000);
                  o.animationUrl = t[3],
                    o.uniqId = s
                }
                return rs(r, o)
              }

              Emoji.render.stickerHintRs=function (e, i, t) {
                  var o = i,
                      r = '';
                  r = i < 0 ? window.promotedStickerUrls && window.promotedStickerUrls[ - o] : t ? t[2] : '';
                  var s = t ? t[3] : '',
                      n = {
                        optId: e,
                        selId: 0,
                        stickerId: o,
                        stickerUrl: r.replace(/(\\/sticker\\/\\d+\\-\\d+)(\\-\\d+)/,'$1-128'),
                        class: o < 0 ? 'promo' : '',
                        onclick: 'Emoji.stickerHintClick(' + e + ', ' + o + ', \\'' + r + '\\', this)',
                        stickerSize: Emoji.stickerSize
                      },
                      a = '';
                  return (!browser.msie || browser.msie_edge) && s && r ? (a = Emoji.hintsStickerItemAnimation(), n.animationUrl = s, n.class += ' sticker_animation')  : r && (a = Emoji.hintsStickerItem()),
                    rs(a, n)
              }
            })()`;
    document.head
      .appendChild(document.createElement('style'))
      .innerHTML =
      `
          .bigStickers .emoji_sticker_item .emoji_sticker_image {
              width: 128px;
              height: 128px;
              max-width: 128px;
              max-height: 128px;
							filter: drop-shadow(0 0 3px white);
          }
          .bigStickers .emoji_scroll_stickers .emoji_sticker_item {
              width: 128px;
              height: 128px;
              padding: 4px;
          }
          .bigStickers ._emoji_wrap .emoji_tt_wrap {
              width: 570px;
          }
          .bigStickers .emoji_list {
              width:545px !important;
              height: 400px !important;
          }
          .bigStickers .emoji_tabs .emoji_tabs_wrap{
              width: 485px;
          }
          .bigStickers .emoji_tabs .emoji_tabs_r_s {
              right: 40px;
              margin-left: unset;
          }
          .bigStickers .emoji_smiles_row {
               display: inline;
          }
          
          .bigStickers ._sticker_hints.sticker_hints_tt {
            top: -150px !important;
          }
          .bigStickers .sticker_hints_tt .emoji_sticker_item {
            height: 128px !important;
            width: 128px !important;
            padding: 4px !important;
          }
          .bigStickers .sticker_hints_arrow {
            display: none !important;
          }
          .bigStickers .sticker_hints_inner {
            overflow-x: scroll !important;
          }
          .bigStickers .ui_scroll_inner {
            min-height: 110%;
          }
`
  }
    document.body.classList.add("bigStickers");
}, true);