Skip to content

Instantly share code, notes, and snippets.

View VityaSchel's full-sized avatar
🏳️‍🌈
pride

Viktor Shchelochkov VityaSchel

🏳️‍🌈
pride
View GitHub Profile
@VityaSchel
VityaSchel / .env
Last active January 3, 2026 16:07
Telegram MTProto program template (with login, 2FA support and @mtproto/core module)
APP_ID=
APP_HASH=
PHONE=
TWO_FA_PASSWORD=
@VityaSchel
VityaSchel / blender.py
Created April 1, 2022 21:04
Import umap level files from Unreal Engine games to Blender
import bpy
import json
from mathutils import Euler
import math
base_dir = 'C:\\Users\\VityaSchel\\Documents\\umap-exporter\\'
objects = json.load(open(base_dir + 'mapped.json'))
if(len(bpy.data.collections) > 1):
@VityaSchel
VityaSchel / README.md
Last active October 18, 2023 20:11
Youtube cutter (Node.js, cli)

Youtube cutter

Follow these steps:

  1. Install yt-dlp somewhere on your computer and make sure it's accessible via PATH
  2. create new folder anywhere on your computer
  3. download cut.js here
  4. download pacakge.json here
  5. run npm i in this folder (npm and node must be installed)
  6. (RECOMMEND) download cutyt.cmd into this folder, change path to cut.js to yours, go to windows settings and add path to the folder to Environmental variable PATH, then you can run this as:
@VityaSchel
VityaSchel / README.md
Last active February 4, 2026 11:46
Example of reading another process memory in Go without knowing base address

You can find explanation here: https://stackoverflow.com/questions/71716646/golang-calculate-address-of-another-process-memory-based-on-process-handle-and-o/72674927#72674927 This is actually my answer posted by my friend because SO doesn't allow you to reclaim your own bounty :)

It's not perfect because I don't know Go and you can definetely replace windows.OpenProcess with kernel32.OpenProcess but I'm too tired to experiment. It just works!

Also keep in mind that this code only works if you have running TJoC:R game running, because I was writing it for my trainer . You should change process name and addresses if you know how to do that. Otherwise, feel free to copy any part of code and use it.

@VityaSchel
VityaSchel / animated-svg-recorder.js
Last active January 3, 2026 16:06
Record animated SVG on websites (animated by lottie and similar tools)
let recordedChanges = []
let startRecordingSVG = () => { recordedChanges = [] }
let stopRecordingSVG = () => { console.log(JSON.stringify(recordedChanges)) }
let observer = new MutationObserver(mutationRecords => {
for(const record of mutationRecords) {
if(record.attributeName === 'd') {
recordedChanges.push(record.target.getAttribute('d'))
}
}
@VityaSchel
VityaSchel / telegram-mtproto-entities-to-html.ts
Created January 8, 2023 18:39
Function that accepts clear text with Telegram Core API styled text message entities and converts it to HTML.
import { Api } from 'telegram'
// gram.js format
const insert = (text: string, start: number, substring: string) => {
return text.substring(0, start) + substring + text.substring(start, text.length)
}
export function styleEntitiesToHTML(text: string, entities: Api.TypeMessageEntity[]): string {
let html = text
const tags = {
@VityaSchel
VityaSchel / index.html
Created April 30, 2023 20:13
Sucklabs browser matrix generator
<!DOCTYPE html>
<html lang="ru" dir="ltr">
<head>
<meta charset="utf-8">
<title>Sucklabs browser matrix generator</title>
</head>
<body>
<form id='form' style='display: flex; flex-direction: column; width: 182px;'>
<textarea name="name" rows="8" cols="10" id='text'>chrome: 95 windows 11, 95 windows 10, 95 windows8 8.1, 95 mac 11.4, 95 linux *, 94 windows 11, 94 windows 10, 94 windows8 8.1, 94 mac 11.4, 94 linux *, 93 windows 11, 93 windows 10, 93 windows8 8.1, 93 mac 11.4, 93 linux *, 93 android 11, 93 android 10
opera: 80 windows 11, 80 windows 10, 80 windows8 8.1, 80 windows8 8, 80 mac 11.4, 80 linux *, 63 android 11, 63 android 10
@VityaSchel
VityaSchel / README.md
Last active May 31, 2026 11:53
Reset Steam achievements on MacOS without SAM (updated for macOS 26 and 2025)

This took me a while to figure out, so here's all you need to know:

  1. In order to clear an achievement we're going to use Steam's client secret console and achievement_clear command
  2. You'll need the game ID (appid, number like 123456) and an achievement id (text like ACHIEVEMENT_NAME) in order to lock it
  3. Since there is no "clear all achievements" command, we're going to use keyboard simulation to paste a long list of commands to the Steam's client console

Steps to reset all achievements for a Steam game

  1. Open https://steamdb.info/ and find your game in the search
  2. Open "Achievements" page
  3. Open your browser's DevTools and paste this script into the browser console on SteamDB page:
@VityaSchel
VityaSchel / README.md
Created August 22, 2023 20:20
Люди о войне

Скрипт для получения списков с сайта https://human-nonhuman.info/

Получите два списка: humans и nonhumans

@VityaSchel
VityaSchel / preview.md
Last active August 29, 2023 06:29
Show all IDs on screen in At Dead of Night or any other webpage (oneliner)
We couldn’t find that file to show.