Skip to content

Instantly share code, notes, and snippets.

View waptik's full-sized avatar
💻
Learning JavaScript and ReactJS...

TheVirginBrokey waptik

💻
Learning JavaScript and ReactJS...
View GitHub Profile
@waptik
waptik / test_array_of_objects.js
Last active May 8, 2021 04:17
[SOLVED] - I need help to: 1: rename keys to lowercase values 2: remove empty objects with one non-null key
// current code
const arrs = [
{
comments: 'asd',
movement: 'Back Squat',
userID: 'wDHZv3OL55SIymHkhMUejNleNkx1',
weight: '330',
},
{
@waptik
waptik / trackImages.ts
Last active April 18, 2021 12:04
How to get and save photo by group media in telegrafjs
import { Composer, MiddlewareFn } from "telegraf"
import { logAction } from "app/core/helpers/logAction"
import { BotContext } from "types"
import { report } from "../helpers"
import { withoutKeys } from "app/core/helpers/misc"
import { Message } from "typegram"
// @see https://github.com/TGxTG/TOUGAO/blob/master/src/model/Message.js#L86
@waptik
waptik / regex id.ts
Last active April 2, 2021 23:48
regex to filter bot command and args
// ref https://flaviocopes.com/javascript-regular-expressions
const re=/(?<code>(c|g)_\w+)(.)(?<to>to)(.)(?<id>id\d+)/
console.log(re.exec("c_84www to id890890")) // returns ["c_84www to id890890", "c_84www", "c", " ", "to", " ", "id890890", index: 0, input: "c_84www to id890890", groups: {code: "c_84www", to: "to", id: "id890890"}]
@waptik
waptik / example.ts
Created April 2, 2021 12:23
implementation of telegraf-session using Prisma as datastore based on https://github.com/alexnzarov/telegraf-session-mongodb
import { Context, Telegraf } from 'telegraf'
import { PrismaClient } from '@prisma/client'
import { session } from 'utils/telegraf-session-prisma' // path to session module
const prisma = new PrismaClient()
interface SessionData {
messageCount: number
// ... more session data go here
@waptik
waptik / toSlug.ts
Created March 29, 2021 11:51
Generate slugs following dev.to's pattern
import { parameterize } from "inflected"
import { nanoid } from "nanoid"
export function toSlug(slug: string) {
slug = parameterize(slug)
const nano = nanoid(4)
// https://stackoverflow.com/a/16577007/3342703
const id = nano.toLowerCase().replace(/[-_]/g, "")
return `${slug.replace("_", "")}-${id}`
}
@waptik
waptik / paginate.ts
Last active March 27, 2021 07:47
A simple pagination helper function for prisma 2
/**
* This is custom pagination helper that
* works with prisma 2
* @author @_waptik
*/
import db from "db" // xutom prisma wrapper by blitz-js
interface Paginate {
name: string
openapi: 3.0.0
info:
description: "This is a sample server Petstore server. You can find out more about
Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net,
#swagger](http://swagger.io/irc/). For this sample, you can use the api key
`special-key` to test the authorization filters."
version: 1.0.2
title: Swagger Petstore
termsOfService: http://swagger.io/terms/
contact:
@waptik
waptik / settings.json
Created March 2, 2021 16:16
My Windows Terminal settings
// This file was initially generated by Windows Terminal 1.5.10411.0
// It should still be usable in newer versions, but newer versions might have additional
// settings, help text, or changes that you will not see unless you clear this file
// and let us generate a new one for you.
// To view the default settings, hold "alt" while clicking on the "Settings" button.
// For documentation on these settings, see: https://aka.ms/terminal-documentation
{
"$schema": "https://aka.ms/terminal-profiles-schema",
"defaultProfile": "{86b16bac-aa37-46bd-936f-1416225becc5}",
// You can add more global application settings here.
@waptik
waptik / user_aliases.cmd
Last active March 30, 2021 14:30
cmder user aliases
;= @echo off
;= rem Call DOSKEY and use this file as the macrofile
;= %SystemRoot%\system32\doskey /listsize=1000 /macrofile=%0%
;= rem In batch mode, jump to the end of the file
;= goto:eof
;= Add aliases below here
e.=explorer .
gl=git log --oneline --all --graph --decorate $*
ls=ls --show-control-chars -F --color $*
pwd=cd
@waptik
waptik / settings.json
Last active February 11, 2021 04:03
Cmder VSCode windows
{
...
"terminal.integrated.env.windows": {
"CMDER_ROOT": "C:\\laragon\\bin\\cmder"
},
"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe",
"terminal.integrated.shellArgs.windows": [
"/K",
"%CMDER_ROOT%\\vendor\\bin\\vscode_init.cmd"
],