PHPackages                             ndtpro/nj-screenshot - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. ndtpro/nj-screenshot

ActiveLibrary

ndtpro/nj-screenshot
====================

Ninja Screenshot Tool for Laravel

v1.0.0(2mo ago)02MITPHPPHP ^7.2.5|^8.0

Since Mar 9Pushed 2mo agoCompare

[ Source](https://github.com/ndt-pro/nj-screenshot)[ Packagist](https://packagist.org/packages/ndtpro/nj-screenshot)[ RSS](/packages/ndtpro-nj-screenshot/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (1)Versions (3)Used By (0)

Ninja Screenshot Tool
=====================

[](#ninja-screenshot-tool)

Tool hỗ trợ chụp ảnh và lấy thông tin tài khoản Ninja School Online Teamobi

Yêu cầu
-------

[](#yêu-cầu)

- Laravel &gt;= 7
- API Key, Passphrase: Liên hệ Admin để lấy [NDTpro](https://ndtpro.me)

Cài đặt
-------

[](#cài-đặt)

1. Cài từ composer

```
composer require ndtpro/nj-screenshot
```

2. Hoặc cài từ git

- Thêm vào `composer.json`:

```
{
	"repositories": [
		{
			"type": "vcs",
			"url": "https://github.com/ndt-pro/nj-screenshot"
		}
	],
	"require": {
		"ndtpro/nj-screenshot": "^1.0"
	}
}
```

- Chạy lệnh để cài đặt:

```
composer update
```

2. Publish config ra app Laravel:

```
php artisan vendor:publish --tag=nj-screenshot-config
```

3. Thêm API Key và Passphrase được cung cấp vào `.env`:

- `NJ_SCREENSHOT_API_KEY` - API Key
- `NJ_SCREENSHOT_PASSPHRASE` - Passphrase

4. **Quan trọng:** Thêm URL callback vào exception CSRF trong `app/Http/Middleware/VerifyCsrfToken.php`:

```
protected $except = [
  'nj-screenshot/callback',
];
```

---

Sử dụng
-------

[](#sử-dụng)

### Đẩy dữ liệu (Submit)

[](#đẩy-dữ-liệu-submit)

- Đẩy dữ liệu ngay khi thêm tài khoản bằng cách:

```
use Ndtpro\NjScreenshot\ScreenshotClient;

$client = app(ScreenshotClient::class);

$client->submit([
  'id' => 123,
  'username' => 'ninjadeptrai',
  'password' => 'matkhau', // mật khẩu gốc (không mã hóa)
  'server' => 1, // bind máy chủ tương ứng ở dưới
]);
```

```
{
	"bokken": 1,
	"shuriken": 2,
	"tessen": 3,
	"kunai": 4,
	"katana": 5,
	"tone": 6,
	"sanzu": 7,
	"sensha": 8,
	"fukiya": 9,
	"tekkan": 10,
	"daisho": 11
}
```

### Đẩy dữ liệu tự động

[](#đẩy-dữ-liệu-tự-động)

- Trong trường hợp máy chủ của chúng tôi không hoạt động, để đảm bảo không bỏ sót vui lòng tạo schedule đẩy dữ liệu sau mỗi 5 phút bằng cách thêm vào `App\Console\Kernel.php`

```
use Ndtpro\NjScreenshot\ScreenshotClient;

protected function schedule(Schedule $schedule)
{
  $schedule->call(function () {
    $client = app(ScreenshotClient::class);

    // Lấy danh sách tài khoản chưa được chụp ảnh và get dữ liệu
    // Đẩy từng tài khoản lên
    $client->submit([
      'id' => 123,
      'username' => 'ninjadeptrai',
      'password' => 'matkhau',
      'server' => 1,
    ]);
  })->everyFiveMinutes();
}
```

### Đăng ký Listener nhận dữ liệu

[](#đăng-ký-listener-nhận-dữ-liệu)

Trong `app/Providers/EventServiceProvider.php`:

```
use Ndtpro\NjScreenshot\Events\ScreenshotProcessed;

protected $listen = [
  ScreenshotProcessed::class => [
    AccountListener::class,
  ],
];
```

Ví dụ Listener:

```
class AccountListener
{
  public function handle(ScreenshotProcessed $event): void
  {
    $data = $event->data;  // Dữ liệu server gửi về
    // Xử lý, lưu DB, v.v
  }
}
```

Dữ liệu là json có dạng:

```
{
	"action": "callback_info",
	"callback_secret": "callback_secret",
	"data": {
		"CAPTURES": ["iVBORw0KGgoAAAANSUhEUg...", "iVBORw0KGgoAAAANSUhEUg...", "iVBORw0KGgoAAAANSUhEUg..."], // mảng json của ảnh
		"INFO": {
			"CHAR_BANG_HOA": 0,
			"CHAR_CLAN": "",
			"CHAR_CLAN_TYPE": 0, // chức vụ bang
			"CHAR_CLASS": 6, // phái
			"CHAR_DAMAGE": 4591.8,
			"CHAR_DAMAGE_DOWN": 88,
			"CHAR_EXACTLY": 154,
			"CHAR_FATAL": 186,
			"CHAR_GENDER": 1, // giới tính
			"CHAR_HP": 4791,
			"CHAR_HP_MAX": 4791,
			"CHAR_KY_NANG_SO": 0,
			"CHAR_LEVEL": 69, // cấp độ
			"CHAR_LUONG": 180, // lượng
			"CHAR_MISS": 221,
			"CHAR_MOUNT_STAR": 0, // cấp độ thú cưỡi
			"CHAR_MP": 5412,
			"CHAR_MP_MAX": 5412,
			"CHAR_NAME": "tennhanvat", // tên nhân vật
			"CHAR_PHONG_LOI": 0,
			"CHAR_PK": 0,
			"CHAR_REACT_DAME": 143,
			"CHAR_RES_FIRE": 274,
			"CHAR_RES_ICE": 574,
			"CHAR_RES_WIND": 241,
			"CHAR_SYS_DOWN": 0,
			"CHAR_SYS_UP": 140,
			"CHAR_TIEM_NANG_SO": 0,
			"CHAR_XU": 5000000, // xu
			"CHAR_XU_IN_BOX": 0, // xu trong rương
			"CHAR_YEN": 10000000, // yên
			"WEAPON_LEVEL": 11 // cấp vũ khí
		},
		"id": 123
	},
	"id": 123,
	"username": "ninjadeptrai",
	"message": "Thành công",
	"status": 1
}
```

### Lấy thông tin Partner

[](#lấy-thông-tin-partner)

```
use Ndtpro\NjScreenshot\ScreenshotClient;

$client = app(ScreenshotClient::class);

$result = $client->get();
```

- Kết quả bao gồm số tài khoản đã đẩy lên và giới hạn trong ngày:

```
{
	"success": true,
	"count": 4,
	"limit": 80,
	"message": "Thành công"
}
```

Lưu ý
-----

[](#lưu-ý)

- Dữ liệu trả về cho callback lớn, đảm bảo cấu hình body client size cho máy chủ đủ lớn để nhận dữ liệu

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance94

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

61d ago

Major Versions

v0.0.1 → v1.0.02026-03-09

### Community

Maintainers

![](https://www.gravatar.com/avatar/5d4640f507d61724ff407f7819334d7f4688e806a1618c385c65521318c084c9?d=identicon)[ndtpro](/maintainers/ndtpro)

---

Top Contributors

[![ndt-pro](https://avatars.githubusercontent.com/u/46679653?v=4)](https://github.com/ndt-pro "ndt-pro (2 commits)")

---

Tags

laravelscreenshotninja

### Embed Badge

![Health badge](/badges/ndtpro-nj-screenshot/health.svg)

```
[![Health](https://phpackages.com/badges/ndtpro-nj-screenshot/health.svg)](https://phpackages.com/packages/ndtpro-nj-screenshot)
```

###  Alternatives

[anourvalar/eloquent-serialize

Laravel Query Builder (Eloquent) serialization

11320.2M21](/packages/anourvalar-eloquent-serialize)[api-platform/laravel

API Platform support for Laravel

59126.4k6](/packages/api-platform-laravel)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
