New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

bananabots

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bananabots - npm Package Compare versions

Comparing version 0.1.4 to 0.1.5

28

index.js
const rq = require("prequest");
const httpBuildQuery = require('http-build-query');
const express = require("express");
const app = express();
const bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
const fastify = require('fastify')
const EventEmitter = require('events');
class Emitter extends EventEmitter {}
class BananaBots {
constructor({
token,
}) {
constructor(token) {
this.token = token;
this.events = new Emitter();
}
async createWebServer(port){
await rq(`http://bananabots.site/api/callback.create?token=${this.token}&port=${port}`).then(async (res) => {
async createWebServer(port, https){
this.app = fastify({https});
await this.call("callback.create", {port: port}).then(async (res) => {
if(res.error_msg) return console.error("Ошибка при создании веб-сервера: ", res.error_msg);

@@ -23,9 +18,8 @@ this.botip = res.botip;

});
app.post('/', (req, res) => {
if(req.ip.slice(7) !== this.botip) return res.end();
console.log(req.body)
this.events.emit(req.body.data.event, req.body.data);
return res.json({answer: true});
this.app.post('/', (req, res) => {
if(req.headers["x-forwarded-for"] || req.socket.remoteAddress !== this.botip) return res.send(false);
this.events.emit(req.body.event, req.body);
return res.send({answer: true});
});
app.listen(port);
this.app.listen(port, `0.0.0.0`, (err) => console.log(err));
}

@@ -35,3 +29,3 @@ async call(method, params){

params.token = this.token;
rq(`http://bananabots.site/api/${method}?${httpBuildQuery(params)}`)
rq(`https://bananabots.site/api/${method}?${httpBuildQuery(params)}`)
.then((res) => {

@@ -38,0 +32,0 @@ if(res.error_msg){ return reject(res);

{
"name": "bananabots",
"version": "0.1.4",
"version": "0.1.5",
"description": "простой враппер для взаимодействия с API.",

@@ -25,4 +25,3 @@ "main": "index.js",

"http-build-query": "^0.7.0",
"express": "^4.17.1",
"body-parser": "^1.19.0"
"fastify": "^3.6.0"
},

@@ -29,0 +28,0 @@ "author": "BananaBots (kravets)",

# BananaBots
[![npm](https://img.shields.io/npm/v/bananabots)](https://www.npmjs.com/package/bananabots)[![npm](https://img.shields.io/npm/dt/bananabots.svg)](https://www.npmjs.com/package/bananabots)[![npm](https://img.shields.io/npm/dm/bananabots.svg)](https://www.npmjs.com/package/bananabots)
================
`bananabots` - простой враппер для взаимодействия с API.
## Установка
## Установка:
### NPM

@@ -10,3 +11,3 @@ ```

```
## Пример:
### Иницилизация:
```js

@@ -18,10 +19,30 @@ const BananaBots = require('bananabots')

})
```
## Примеры:
### Запросы к апи:
| Параметр | Тип | Обязателен | Описание |
|--|--|--|--|
| methodName | string | Да |Имя метода |
| params | object | Нет | Параметры запроса |
**Пример:**
```js
bbot.call('users.getBalance', {id: 70267059})
.then(async (res) => console.log(res)); //Вывод в консоль результата метода users.getBalance (подробнее на сайте «http://bananabots.site/api»)
.then(async (res) => console.log(res)); //Вывод в консоль результата метода users.getBalance (подробнее на сайте «https://bananabots.site/api»)
```
###Обработка событий:
### Обработка событий:
**Создание Веб-сервера для получения событий:**
```js
bbot.createWebServer(3000); //позволит получать события на порту 3000
```
**Получать событие «new_transfer» можно так:**
```js
bbot.events.on("new_transfer", (data) => console.log(data)); //при событии new_transfer выведет в консоль информацию о переводе
```
```
| Параметр | Тип | Обязателен | Описание |
|--|--|--|--|
| eventName | string | Да |Имя метода |
| eventFunction | function | Да | Функция которая выполниться при получении события |
## Changelog:
**0.1.5** - Переписан на fastify тем самым ускорил (да fastify) обработку событий убрал ненужные зависимости и переписал документацию.
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc