Skip to content

neoxr/neoxr-bot

Repository files navigation

NEOXR-BOT (BETA TEST)

An implementation of @neoxr/wb which has been optimized to be lightweigth.

Important

To use @neoxr/wb >= v1.17.20 you must add the following components Open Commit

Premium Script v3.0.1-Optima

🏷️ Price : Rp. 150.000 / $20.80

Special Features & Benefit :

  • AI & AI Image (Original OpenAI)
  • Anti Bot
  • Auto Download
  • Porn Detector (Only Image)
  • 9 Mini Games
  • Leveling & Roles
  • Email Verification
  • Captcha Verification
  • Send Email
  • High Optimation
  • Free Updates
  • Bonus ApiKey 5K Request (for 2 month)

Additional Features :

Addional Features adalah fitur tambahan yang di jual terpisah / Additional features are features that are sold separately.

🏷️ Cloud Storage (+Rp. 35.000 / +$6.80)

Cloud Storage ini berfungsi untuk menyimpan file media (sticker, foto, video, audio) ke cloud storage tanpa membebani disk space server karena file langsung di simpan kedalam database. Plugin storage.js dan storage_ev.js

🏷️ Menfess (+Rp. 15.000 / +$3.80)

Menfess untuk mengirim chat confess kepada seseorang dan penerima pesan bisa membalas chat dari pengirim confess tanpa perlu menggunakan command/perintah

🏷️ Payment Gateway (+Rp. 80.000 / +$10.80)

Payment Gateway ini berfungsi untuk melakukan pembayaran otomatis menggunakan QRIS pada fitur ini terdapat script payment gateway, plugin payment.js, sewa.js dan buyprem.js harga dan fee bisa di sesuaikan sesuai keinginan

🏷️ Game Plugins (+Rp. 70.000 / +$9.80)

23 plugin game yang semuanya tanpa menggunakan api dan tanpa di enskripsi, dengan ini ada tambahan update schema, profile, rank, pocket, dll.

Creator / Group : Wildan Izzudin / Chatbot

Requirements

  • NodeJS >= 14
  • FFMPEG
  • Server vCPU/RAM 1/2GB (Min)

Configuration

There are 2 configuration files namely .env and config.json, adjust them before installing.

{
   "owner": "6285887776722",
   "owner_name": "Wildan Izzudin",
   "database": "data",
   "limit": 15,
   "ram_limit": "900mb",
   "max_upload": 50,
   "max_upload_free": 10,
   "cooldown": 3,
   "timer": 180000,
   "timeout": 1800000,
   "permanent_threshold": 3,
   "notify_threshold": 4,
   "banned_threshold": 5,
   "blocks": ["994", "91", "92"],
   "evaluate_chars":  ["=>", "~>", "<", ">", "$"],
   "pairing": {
      "state": true, // "true" if you want to use the pairing code
      "number": 62xxxx // start number with country code
   }
}
### ApiKey : https://api.neoxr.my.id
API_ENDPOINT = 'https://api.neoxr.my.id/api'
API_KEY = 'your_apikey'

### Database : https://www.mongodb.com/
DATABASE_URL = ''

### Timezone (Important)
TZ = 'Asia/Jakarta'

Notes :

  • ram_limit : ram usage limit, for example you have a server with 1gb of ram set before the maximum capacity is 900mb.

  • API_KEY : some of the features in this script use apikey, especially the downloader feature, to get an apiKey you can get it on the Neoxr Api's with prices that vary according to your needs.

  • DATABASE_URL : can be filled with mongo and postgresql URLs to use localdb just leave it blank and the data will be saved to the .json file.

Localdb is only for development state, for production state you must use a cloud database (mongo / postgres)

High Level Spam Detection

This program is equipped with a spam detector (anti-spam) which is very sensitive.

const { Spam } = new(require('@neoxr/wb))

const spam = new Spam({
   RESET_TIMER: env.cooldown,
   HOLD_TIMER: env.timeout,
   PERMANENT_THRESHOLD: env.permanent_threshold,
   NOTIFY_THRESHOLD: env.notify_threshold,
   BANNED_THRESHOLD: env.banned_threshold
})

const isSpam = spam.detection(client, m, {
   prefix, command, commands, users, cooldown,
   show: 'all', // for logger in the terminal, choose 'all' or 'command-only'
   banned_times: users.ban_times
})

console.log(isSpam.state)

Look, i tries to spam commands against the bot, and will only respond to 1 command.

and the message gets a red label [ SPM ] as spam message in the terminal.

Run on Heroku

To run this bot on Heroku you only need to add 2 buildpacks :

delete the package.json, and rename package-for-heroku.json to package.json

Run on Clovyr

Clovyr is a free cloud compute with vscode based for running bot with specifications of 2 CPU and 4GB RAM (idk storage size)

with vscode it will be very easy to do recode and debugging scripts

Notes :

  • CLOVYR_APPNAME : application name on your clovyr

Specifically for the 2 configurations below, you must carry out an inspect element using a computer to get cookies and keep-alive links

  • CLOVYR_URL : keep-alive link

  • CLOVYR_COOKIE : cookie from clovyr

Pairing Code

Connecting account without qr scan but using pairing code.

{
   "pairing": {
      "state": true, // "true" if you want to use the pairing code
      "number": 62xxxx // start number with country code
   }
}

Installation & Run

Make sure the configuration and server meet the requirements so that there are no problems during installation or when this bot is running, type this on your console :

$ yarn
$ node .

or want to use pm2

$ yarn
$ npm i -g pm2
$ pm2 start index.js && pm2 save && pm2 logs

Command Plugin

Command Plugin is a plugin that will run using the command.

exports.run = {
   usage: ['mediafire'],
   hidden: ['mf'],
   use: 'link',
   category: 'downloader',
   async: async (m, {
      client,
      args,
      text,
      isPrefix,
      command,
      env,
      Scraper,
      Func
   }) => {
      try {
         // do something
      } catch (e) {
         console.log(e)
         client.reply(m.chat, Func.jsonFormat(e), m)
      }
   },
   error: false,
   limit: true,
   restrict: true,
   cache: true,
   location: __filename
}

Up Side Options :

  • usage : main command that will automatically appear in the menu list, use of usage can be in the form of arrays and strings.

  • hidden : commands that are hidden from the menu list, suitable for command aliases or hidden features.

  • use : this parameter is optionally used when the plugin / feature requires input such as link, query, amount, etc.

  • category : categories for each plugin that the command will be arranged by category when the menu is displayed.

  • m : parameters that contain chat object.

  • client : parameter which contains several messaging functions from @neoxr/wb and default functions from Baileys.

  • args : nput given after command in the form of an array is usually found in downloader feature which uses links such as ig, youtube, fb, etc. Parsing based on index. (Example: args[1], args[2], args[3], ....)

  • text : input that is given after command in the form of a string is usually found in search features that use queries/keywords such as lyrics, chords, yts, etc.

  • isPrefix : prefix used, if noprefix mode is active this parameter will be blank (it's no problem).

  • command : commands used can be used in an if else or switch case conditional when creating 1 plugin with several commands in it.

  • env : parameters that contain the configuration from the config.json file.

  • Scraper : parameter containing some of the scraper functions of @neoxr/wb module.

  • Func : parameter containing some of the utilites functions of @neoxr/wb module.

Down Side Options

  • error : not very useful :v

  • limit : limit the use of features with limits, to set the number of limits give integer data and for default is boolean true for 1.

  • premium : to create special features for premium users.

  • restrict : limit input, restricted input is in the form of badwords in db.setting.toxic.

  • cache : option to auto update when done recode.

  • __filename : file path for auto update

Other :

cmd.async(m, { client, args, text, isPrefix: prefix, prefixes, command, groupMetadata, participants, users, chats, groupSet, setting, isOwner, isAdmin, isBotAdmin, plugins, blockList, env, ctx, Func, Scraper })

Event Plugin

Event Plugin is a plugin that runs automatically without using the command.

exports.run = {
   async: async (m, {
      client,
      body,
      prefixes
   }) => {
      try {
         // do something
      } catch (e) {
         return client.reply(m.chat, Func.jsonFormat(e), m)
      }
   },
   error: false,
   cache: true,
   location: __filename
}
  • body : chat in the form of text or emoticons, this plugin is usually used for auto response or group protectors such as anti-links, anti-toxic etc.

  • prefixes : parameter which contains all prefixes in the form of an array, to use them parse based on index. (Example: prefixes[0]).

Other :

event.async(m, { client, body, prefixes, groupMetadata, participants, users, chats, groupSet, setting, isOwner, isAdmin, isBotAdmin, plugins, blockList, env, ctx, Func, Scraper })

Others please learn by yourself from other plugins.

Check this repository regularly to get updates because the progress base is not 100% yet (this is just a base or beta test), if you find an error please make an issue. Thanks.