Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

README.md


@puregram/utils

package, containing some useful utilities for puregram package

introduction

this package exists only for one main reason: basically not everyone wants to have such utils as getCasinoValues and WebApp class when installing puregram, so these functions were moved to separated package

example

const { Telegram } = require('puregram')
const { getCasinoValues } = require('@puregram/utils')

const telegram = Telegram.fromToken(process.env.TOKEN)

telegram.updates.on('message', (context) => {
  if (context.hasDice() && context.dice.emoji === '🎰') {
    console.log(getCasinoValues(context.dice.value)); // e.g. ['seven', 'bar', 'grapes']
  }
})

telegram.updates.startPolling()

installation

$ yarn add @puregram/utils
$ npm i -S @puregram/utils

list of utilities

WebApp

generateSecretKey(token: string)

returns: Promise<WebAppGenerateSecretKeyResult>

returns secret key generated by the token

const { key } = await WebApp.generateSecretKey(BOT_TOKEN)

parseInitData(initData: string)

returns: string

returns parsed init data

const data = WebApp.parseInitData(initData)

generateInitDataHash(initData: string, key: Buffer)

returns: Promise<WebAppGenerateInitDataHashResult>

returns init data hash generated by the key

const { hash } = await WebApp.generateInitDataHash(initData, secretKey)

validate(params: WebAppValidateInitDataParams)

returns: Promise<WebAppValidateResult>

returns whether params.initData is valid or not

const { valid } = await WebApp.validate({ initData, key: secretKey })

getCasinoValues(value: number | string)

returns: SlotMachineValue

returns an array of CasinoValue detected by value in the dice

if (context.hasDice() && context.dice.emoji === '🎰') {
  return context.send(`You got ${getCasinoValues(context.dice.value).join(', ')}!`)
}