Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Describe the prefix option of the session plugin #1152

Merged
merged 11 commits into from
Dec 4, 2024
13 changes: 13 additions & 0 deletions site/docs/es/plugins/session.md
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,18 @@ Si debes usar la opción (que por supuesto sigue siendo posible), debes saber lo
Asegúrese de entender las consecuencias de esta configuración leyendo el artículo [este](../guide/deployment-types) y especialmente [este](../plugins/runner#procesamiento-secuencial-cuando-sea-necesario).
:::

También puedes especificar un prefijo si quieres añadir namespacing adicional a tus claves de sesión.
Por ejemplo, así puedes almacenar datos de sesión por usuario pero con un prefijo llamado `user-`.

```ts
bot.use(session({
getSessionKey: (ctx) => ctx.from?.id,
prefix: "user-",
}));
```

Para un usuario que tenga el identificador de usuario `424242`, la clave de sesión será ahora `user-424242`.

### Migraciones de chat

Si está utilizando sesiones para grupos, debe tener en cuenta que Telegram migra grupos regulares a supergrupos en determinadas circunstancias (por ejemplo, [aquí](https://github.com/telegramdesktop/tdesktop/issues/5593)).
Expand Down Expand Up @@ -593,6 +605,7 @@ bot.use(
storage: new MemorySessionStorage(),
initial: () => undefined,
getSessionKey: (ctx) => ctx.chat?.id.toString(),
prefix: "",
},
bar: {
initial: () => ({ prop: 0 }),
Expand Down
13 changes: 13 additions & 0 deletions site/docs/id/plugins/session.md
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,18 @@ Telegram mengirim webhook secara berurutan untuk setiap chat, oleh karena itu se
Jika kamu terpaksa harus menggunakan opsi tersebut (yang mana masih bisa dilakukan), kamu harus paham betul dengan tindakan yang kamu lakukan. Pastikan memahami konsekuensi menggunakan konfigurasi ini dengan membaca [materi berikut](../guide/deployment-types), khususnya [yang ini](./runner#pemrosesan-secara-berurutan-ketika-diperlukan).
:::

Kamu juga bisa menentukan sebuah prefix atau awalan untuk setiap session key.
Berikut cara menyimpan data session untuk setiap user menggunakan sebuah awalan `user-`:

```ts
bot.use(session({
getSessionKey: (ctx) => ctx.from?.id,
prefix: "user-",
}));
```

Dengan begitu, misalkan terdapat user dengan nomor identifikasi `424242`, session key akan menjadi `user-424242`.

### Migrasi Chat

Jika kamu menggunakan session untuk grup, kamu perlu tahu bahwa dalam kondisi tertentu (misalnya [di sini](https://github.com/telegramdesktop/tdesktop/issues/5593)), Telegram akan melakukan migrasi dari grup biasa menjadi supergroup.
Expand Down Expand Up @@ -596,6 +608,7 @@ bot.use(
storage: new MemorySessionStorage(),
initial: () => undefined,
getSessionKey: (ctx) => ctx.chat?.id.toString(),
prefix: "",
},
bar: {
initial: () => ({ prop: 0 }),
Expand Down
13 changes: 13 additions & 0 deletions site/docs/plugins/session.md
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,18 @@ If you must use the option (which is of course still possible), you should know
Make sure you understand the consequences of this configuration by reading [this](../guide/deployment-types) article and especially [this](./runner#sequential-processing-where-necessary) one.
:::

You can also specify a prefix if you want to add additional namespacing to your session keys.
For example, this is how you can store session data per user but with a prefix called `user-`.

```ts
bot.use(session({
getSessionKey: (ctx) => ctx.from?.id,
prefix: "user-",
}));
```

For a user who has the user identifier `424242`, the session key will now be `user-424242`.

### Chat Migrations

If you are using sessions for groups, you should be aware that Telegram migrates regular groups to supergroups under certain circumstances (e.g. [here](https://github.com/telegramdesktop/tdesktop/issues/5593)).
Expand Down Expand Up @@ -595,6 +607,7 @@ bot.use(
storage: new MemorySessionStorage(),
initial: () => undefined,
getSessionKey: (ctx) => ctx.chat?.id.toString(),
prefix: "",
},
bar: {
initial: () => ({ prop: 0 }),
Expand Down
13 changes: 13 additions & 0 deletions site/docs/ru/plugins/session.md
Original file line number Diff line number Diff line change
Expand Up @@ -354,6 +354,18 @@ Telegram отправляет вебхуки последовательно в
[здесь](./runner#последовательная-обработка-при-необходимости).
:::

Вы также можете указать префикс, если хотите добавить дополнительное пространство имён к вашим ключам сессий.
Например, вот как можно сохранять данные сессии для каждого пользователя с использованием префикса `user-`.

```ts
bot.use(session({
getSessionKey: (ctx) => ctx.from?.id,
prefix: "user-",
}));
```

Для пользователя с идентификатором `424242` ключ сессии теперь будет иметь вид `user-424242`.

### Миграции чата

Если вы используете сессии для групп, вам следует знать, что при определенных
Expand Down Expand Up @@ -684,6 +696,7 @@ bot.use(
storage: new MemorySessionStorage(),
initial: () => undefined,
getSessionKey: (ctx) => ctx.chat?.id.toString(),
prefix: "",
},
bar: {
initial: () => ({ prop: 0 }),
Expand Down
13 changes: 13 additions & 0 deletions site/docs/uk/plugins/session.md
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,18 @@ Telegram надсилає вебхуки послідовно для кожно
Переконайтеся, що ви розумієте наслідки такої конфігурації, прочитавши [цю статтю](../guide/deployment-types) й особливо [цю](./runner#послідовна-обробка-там-де-це-необхідно).
:::

Ви також можете вказати префікс, якщо хочете додати додатковий простір імен до ваших ключів сесій.
Наприклад, ось як ви можете зберігати дані сесії для кожного користувача і з префіксом `user-`.

```ts
bot.use(session({
getSessionKey: (ctx) => ctx.from?.id,
prefix: "user-",
}));
```

Для користувача з ідентифікатором `424242` ключ сесії тепер буде `user-424242`.

### Міграції чату

Якщо ви використовуєте сесії для груп, вам слід знати, що за певних обставин Telegram мігрує звичайні групи в супергрупи, як описано [тут](https://github.com/telegramdesktop/tdesktop/issues/5593).
Expand Down Expand Up @@ -595,6 +607,7 @@ bot.use(
storage: new MemorySessionStorage(),
initial: () => undefined,
getSessionKey: (ctx) => ctx.chat?.id.toString(),
prefix: "",
},
bar: {
initial: () => ({ prop: 0 }),
Expand Down
12 changes: 12 additions & 0 deletions site/docs/zh/plugins/session.md
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,18 @@ Telegram 在每次聊天时都会按照顺序发送 webhooks,因此默认的
通过阅读 [这个](../guide/deployment-types),特别是 [这个](./runner#为什么需要顺序处理),确保你了解使用这个配置的后果。
:::

如果你想向会话密钥添加额外的命名空间,你还可以指定前缀。
例如,你可以通过使用名为 `user-` 的前缀的方式,存储每个用户的会话数据。

```ts
bot.use(session({
getSessionKey: (ctx) => ctx.from?.id,
prefix: "user-",
}));
```

对于具有用户标识符 `424242` 的用户,会话密钥现在将变为 `user-424242`。

### 聊天迁移

如果你正在群组中使用会话,你应该知道 Telegram 在某些情况下会将常规群组迁移到超级群组(例如 [此处](https://github.com/telegramdesktop/tdesktop/issues/5593))。
Expand Down
Loading