@motiontr/motiondb 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -13
- package/dist/Database.d.ts +1 -1
- package/dist/Database.js +1 -1
- package/dist/path.d.ts +1 -1
- package/dist/path.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ Discord botları için **tek dosyalık, atomik ve hızlı** JSON veritabanı.
|
|
|
6
6
|
```json
|
|
7
7
|
{
|
|
8
8
|
"guilds": {
|
|
9
|
-
"123456789012345678": { "
|
|
9
|
+
"123456789012345678": { "modLog": "918273645091827364", "welcome": { "channelId": "987654321098765432" } }
|
|
10
10
|
},
|
|
11
11
|
"users": {
|
|
12
12
|
"555555555555555555": { "coins": 250, "inventory": ["ticket", "vip"] }
|
|
@@ -58,7 +58,7 @@ await db.get('myKey'); // → 'myValue'
|
|
|
58
58
|
await db.get('olmayan'); // → null
|
|
59
59
|
await db.has('myKey'); // → true
|
|
60
60
|
await db.delete('myKey'); // → 1 (yoksa 0)
|
|
61
|
-
await db.ensure('ayarlar', {
|
|
61
|
+
await db.ensure('ayarlar', { modLog: '918273645091827364' }); // yoksa oluşturur
|
|
62
62
|
|
|
63
63
|
// ---- dot notation: iç içe nesneler ----
|
|
64
64
|
await db.set('myUser.balance', 700);
|
|
@@ -88,7 +88,7 @@ await db.count(); // → satır sayısı
|
|
|
88
88
|
|
|
89
89
|
// ---- tablolar (aynı dosyada ayrı bölüm) ----
|
|
90
90
|
const guilds = db.table('guilds');
|
|
91
|
-
await guilds.set('1552239063984246784.
|
|
91
|
+
await guilds.set('1552239063984246784.modLog', '918273645091827364');
|
|
92
92
|
await db.deleteAll(); // → silinen satır sayısı
|
|
93
93
|
db.useNormalKeys(true); // nokta literal anahtar yapsın
|
|
94
94
|
```
|
|
@@ -139,7 +139,7 @@ new MotionDB({
|
|
|
139
139
|
```json
|
|
140
140
|
{
|
|
141
141
|
"json": { "myKey": "myValue", "myUser": { "balance": 750 } },
|
|
142
|
-
"guilds": { "1552239063984246784": { "
|
|
142
|
+
"guilds": { "1552239063984246784": { "modLog": "918273645091827364" } }
|
|
143
143
|
}
|
|
144
144
|
```
|
|
145
145
|
|
|
@@ -157,9 +157,9 @@ const db = new JSONDatabase({ path: './data/db.json' });
|
|
|
157
157
|
db.registerShutdownHooks(); // kapanışta bekleyen yazışları diske atar
|
|
158
158
|
|
|
159
159
|
// oku / yaz (dot-path)
|
|
160
|
-
db.set('guilds.123456789012345678.
|
|
161
|
-
db.get('guilds.123456789012345678.
|
|
162
|
-
db.get('guilds.olmayan.
|
|
160
|
+
db.set('guilds.123456789012345678.modLog', '918273645091827364');
|
|
161
|
+
db.get('guilds.123456789012345678.modLog'); // '918273645091827364'
|
|
162
|
+
db.get('guilds.olmayan.modLog', 'yok'); // 'yok' (fallback)
|
|
163
163
|
|
|
164
164
|
// yoksa oluştur
|
|
165
165
|
db.ensure('users.555555555555555555', { coins: 0, inventory: [] });
|
|
@@ -228,7 +228,7 @@ new JSONDatabase({
|
|
|
228
228
|
### Path sözdizimi
|
|
229
229
|
|
|
230
230
|
```ts
|
|
231
|
-
db.get('guilds.123.
|
|
231
|
+
db.get('guilds.123.modLog'); // nokta ile
|
|
232
232
|
db.get('items[0].name'); // dizi indeksi
|
|
233
233
|
db.get('users["a.b"].coins'); // nokta içeren anahtar
|
|
234
234
|
db.get(['users', 'a.b', 'coins']); // segment dizisi (en hızlısı)
|
|
@@ -279,17 +279,20 @@ const client = new Client({
|
|
|
279
279
|
intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent],
|
|
280
280
|
});
|
|
281
281
|
|
|
282
|
+
const prefix = '!'; // ön ek config.js'te durur, veritabanında değil
|
|
283
|
+
|
|
282
284
|
client.on(Events.MessageCreate, (message) => {
|
|
283
285
|
if (message.author.bot || !message.guild) return;
|
|
284
|
-
|
|
285
|
-
const prefix = db.get(`guilds.${message.guild.id}.prefix`, '!');
|
|
286
286
|
if (!message.content.startsWith(prefix)) return;
|
|
287
287
|
|
|
288
288
|
const [cmd, ...args] = message.content.slice(prefix.length).trim().split(/\s+/);
|
|
289
289
|
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
message.
|
|
290
|
+
// !modlog #kanal — değişen sunucu ayarları veritabanında tutulur
|
|
291
|
+
if (cmd === 'modlog') {
|
|
292
|
+
const channel = message.mentions.channels.first();
|
|
293
|
+
if (!channel) return void message.reply('Bir kanal etiketle: !modlog #kanal');
|
|
294
|
+
db.set(`guilds.${message.guild.id}.modLog`, channel.id);
|
|
295
|
+
message.reply(`Mod log kanalı ayarlandı: ${channel}`);
|
|
293
296
|
}
|
|
294
297
|
});
|
|
295
298
|
```
|
package/dist/Database.d.ts
CHANGED
|
@@ -113,7 +113,7 @@ export declare class JSONDatabase<T extends object = Record<string, unknown>> ex
|
|
|
113
113
|
* ```ts
|
|
114
114
|
* db.edit((data) => {
|
|
115
115
|
* data.guilds ??= {};
|
|
116
|
-
* data.guilds[id].
|
|
116
|
+
* data.guilds[id].modLog = '918273645091827364';
|
|
117
117
|
* });
|
|
118
118
|
* ```
|
|
119
119
|
*/
|
package/dist/Database.js
CHANGED
package/dist/path.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Dot-path yardımcıları: "guilds.123456.
|
|
2
|
+
* Dot-path yardımcıları: "guilds.123456.modLog" veya 'users["a.b"].coins' gibi
|
|
3
3
|
* yolları segment dizisine çevirir ve nesne üzerinde okuma/yazma yapar.
|
|
4
4
|
*/
|
|
5
5
|
export type PathSegment = string | number;
|
package/dist/path.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Dot-path yardımcıları: "guilds.123456.
|
|
3
|
+
* Dot-path yardımcıları: "guilds.123456.modLog" veya 'users["a.b"].coins' gibi
|
|
4
4
|
* yolları segment dizisine çevirir ve nesne üzerinde okuma/yazma yapar.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
package/package.json
CHANGED