Skip to content

Instantly share code, notes, and snippets.

View mnixry's full-sized avatar
😴
Sleeping

Mix mnixry

😴
Sleeping
View GitHub Profile
@mnixry
mnixry / skyeysnow-puzzle-solver.user.js
Last active February 28, 2023 12:01
SkyeySnow Jigsaw Solver
// ==UserScript==
// @name SkyeySnow Jigsaw Solver
// @namespace https://gist.github.com/mnixry/
// @version 0.2.3
// @description Automaitc resolve jigsaw puzzle of SkyeySnow
// @author Mix
// @match https://skyeysnow.com//puzzle.php*
// @match https://www.skyey2.com//puzzle.php*
// @icon https://www.google.com/s2/favicons?sz=64&domain=skyeysnow.com
// @grant unsafeWindow
@mnixry
mnixry / novelai_keyencrypt.py
Created October 6, 2022 14:53
Encode Novel AI account e-mail & password set into login key.
from nacl import encoding, hash, pwhash
username = b"" # Input your email and password here
password = b""
result = pwhash.argon2id.kdf(
size=64,
password=password,
salt=hash.generichash(
password[:6] + username + b"novelai_data_access_key",
@mnixry
mnixry / recursive_convert.py
Last active February 9, 2025 22:26
Recursively convert videos in a specified folder with FFmpeg
import argparse
import re
import shutil
import subprocess
from datetime import datetime, timedelta
from fnmatch import fnmatch
from mimetypes import guess_type
from pathlib import Path
from tempfile import TemporaryDirectory
from typing import NamedTuple, Optional, cast
@mnixry
mnixry / highlight-inactive-member.user.js
Last active February 6, 2023 19:20
Userscript to highlight inactive group members with rainbow color
// ==UserScript==
// @name Highlight inactive group member
// @namespace https://gist.github.com/mnixry/
// @version 0.1
// @description Highlight inactive group members with rainbow color
// @author Mix
// @author yanyongyu
// @match https://qun.qq.com/member.html
// @icon https://www.google.com/s2/favicons?sz=64&domain=qq.com
// @updateURL https://gist.github.com/mnixry/8f77e4fa658170561d6f7197ce7d6340/raw/highlight-inactive-member.user.js
@mnixry
mnixry / quasar-masonry-demo.vue
Last active May 13, 2023 16:03
A flexible column masonry component for quasar
<template>
<q-slider v-model="cols" :max="6" :min="1"></q-slider>
<div class="column" :class="`masonry-${cols}`">
<div
v-for="(_, index) in new Array(cols).fill(undefined)"
:key="index"
class="flex-break"
/>
<q-card
@mnixry
mnixry / cloudflare-worker-blob-patch.ts
Created February 27, 2022 14:44
Polyfill for multipart-form Blob/File read and creation.
import '@ssttevee/cfw-formdata-polyfill';
import * as poly from '@ssttevee/blob-ponyfill';
export const BuiltinBlob = Blob,
BuiltinFile = File,
BuiltinFormData = FormData;
class OverrideFormData extends BuiltinFormData {
public append(name: string, value: string | Blob, filename?: string): void {
const reader = new poly.FileReaderSync();
@mnixry
mnixry / nonebot_guild_patch.md
Last active February 13, 2022 14:04
Patch for NoneBot2 (2.0.0a16) QQ guild support
@mnixry
mnixry / marxists-batch-download.js
Last active October 30, 2021 16:49
Chinese Marxists.org PDF books batch download script. (with Tampermonkey)
// ==UserScript==
// @name Marxist downloader
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Downlaod PDF books from Marxists.org Chinese
// @author Mix <mnixry@users.noreply.github.com>
// @match https://www.marxists.org/chinese/pdf/*
// @grant GM_download
// @grant unsafeWindow
// ==/UserScript==
@mnixry
mnixry / qq_message_xml.md
Last active August 4, 2026 09:50 — forked from koukuko/qq_message_xml.md
QQ的XML消息格式整理

QQ的XML消息格式整理

QQ可以使用xml的方式发送消息,以下为了方便描述统称为卡片。

发送方式

通过机器人的API进行发送xml即可,但是如果选择发送xml,那么其他如[image=xxx][@xxx]这些命令就不可使用了。整个消息只有XML。

基本结构

@mnixry
mnixry / crud-base.model.ts
Last active October 2, 2024 13:56
Nest.js CRUD service base class
/* eslint-disable @typescript-eslint/no-unused-vars */
import { Type as ClassType } from '@nestjs/common';
import { ApiProperty } from '@nestjs/swagger';
import { METADATA_FACTORY_NAME } from '@nestjs/swagger/dist/plugin/plugin-constants';
import { BUILT_IN_TYPES } from '@nestjs/swagger/dist/services/constants';
import { Transform, Type } from 'class-transformer';
import { IsEnum, IsOptional, IsPositive, Max } from 'class-validator';
import { Request } from 'express';
import {
IPaginationLinks,