open-index/open-npm huggingface dataset:
npm package: @gilgames/discord-detours
Description: A software package used to find, call, and hook into Discord client's functions by injecting JS code in the browser context.
Author: Gilgames
Latest version: 0.2.0

# Discord Detours
Discord Detours is a package that helps you find,
call, and hook into Discord client's functions.  
This is intended to be used with tools like
[Puppeteer](https://github.com/puppeteer/puppeteer)
which let you programmatically control a browser
instance and run JavaScript code in its context.
You can also inject [`api.js`](https://github.com/Gilgames000/discord-detours/blob/master/api.js)
into Discord using an extension like
[Inject Code](https://chrome.google.com/webstore/detail/inject-code/gpaakhhkcmlenabckmapmlfnajboobbi)
directly from your browser.

## Installation
```npm
npm install @gilgames/discord-detours
```

## API reference
#### Utility functions for injecting the code (to be used with Puppeteer)
- `detours.serializeModule(module)`: serializes a module into a string (`JSON.stringify` is no good as it won't serialize functions)
- `detours.injectModule(serializedModule[, name])`: injects a serialized module into `window.name` (`name`defaults to `discordDetours` if not specified)

#### APIs for finding functions and modules
- `detours.api.getAllModules()`: returns a list of all modules
- `detours.api.findModuleByFunctionName(name)`: returns a module by function name
- `detours.api.findFunctionByName(name)`: returns a function by name
- `detours.api.findFunctionsMatchingPattern(pattern)`: returns a list of functions matching a regex pattern
  
#### APIs for hooking/detouring functions
*Will be added in the future.*

## Usage
#### Puppeteer
```js
const detours = require("@gilgames/discord-detours");

// Open the browser with Puppeteer, navigate to Discord, and login
// ...

// Execute the code in the browser's context using Puppeteer's `page.evaluate`
const serializedAPI = detours.serializeModule(detours.api);
await page.evaluate(detours.injectModule, serializedAPI);

// Call any Discord function
const token = await page.evaluate(() => window.discordDetours.findFunctionByName("getToken")());
console.log(token);

```

#### Using your browser
First you have to install an extension that lets
you inject code into a webpage. Then, navigate to
Discord's website, login, and inject the code that
you can find in the [`api.js`](https://github.com/Gilgames000/discord-detours/blob/master/api.js)
file, bar the module export at the bottom. You can
now call the API functions described in the usage
section directly from the console of your browser.
npm package: @gilgamesheth/sdk
Description: 🛠 An SDK for building applications on top of Gilgamesheth.
Latest version: 0.0.3

# Gilgamesheth SDK

[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)


In-depth documentation on this SDK is available at [gilgamesheth.com](https://gilgamesheth.com/docs/v1/SDK/getting-started/).

## Running tests

To run the tests, follow these steps. You must have at least node v10 and [yarn](https://yarnpkg.com/) installed.

First clone the repository:

```sh
git clone https://github.com/Gilgamesheth/gilgamesheth-sdk.git
```

Move into the gilgamesheth-sdk working directory

```sh
cd gilgamesheth-sdk/
```

Install dependencies

```sh
yarn install
```

Run tests

```sh
yarn test
```

You should see output like the following:

```sh
yarn run v1.22.4
$ tsdx test
 PASS  test/constants.test.ts
 PASS  test/pair.test.ts
 PASS  test/fraction.test.ts
 PASS  test/miscellaneous.test.ts
 PASS  test/entities.test.ts
 PASS  test/trade.test.ts

Test Suites: 1 skipped, 6 passed, 6 of 7 total
Tests:       3 skipped, 82 passed, 85 total
Snapshots:   0 total
Time:        5.091s
Ran all test suites.
✨  Done in 6.61s.
```