gemini beta v0.1

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » gemini beta v0.1 » админка » регламенты блять


регламенты блять

Сообщений 1 страница 2 из 2

1

перенос неактивных эпизодов делаем раз в полгода, просто переносим темы не закрывая их

перенос завершенных эпизодов по запросу игрока - через опцию "закрыть и перенести", тема должна быть закрыта обяз

работа с токенами и ваучерами идет в разделах админки:
https://upforme.ru/uploads/001a/e1/ae/2/780628.png

0

2

тех инфа для меня
app_id "9" - это баланс токенов
app_id "3" - это инфа о ваучерах
app_id "55" - это снс

Событие

Описание

pun_post

Стандартное событие, вызываемое также при отправке сообщения с помощью ajax. Как в стандартном сценарии, так и при автообновлении - вызывается в момент появления нового(-ых) сообщения(-й) на странице. В случае автообновления объект event содержит свойство mode со значением 'update'. Актуально для скриптов, обрабатывающих содержимое постов.

pun_main_update

Событие, вызываемое при обновлении содержимого #pun-main на странице темы, в Активных темах или на главной странице (когда информация на странице полностью актуализирована). Актуально, если ваш скрипт как-либо видоизменяет содержимое страницы и при автообновлении нужно выполнить преобразования вновь.

// $(document).on('имя_события', function(event) {
// // ваш код обработчика
// })

код создания и отправки уведы
Код:
notifications.addTemplate('testttt', {
    title: 'Заголовок уведомления',
    url: 'шаблон ссылки, по которой будет происходить переход при клике на уведомление',
    html: 'шаблон HTML содержимого уведомления, где {PROPERTY} будет значением свойства property, переданного в объекте в notifications.add()'
});

notifications.add(2, 'testttt', {user_id: 2, username: 'ник', avatar: 'https://forumavatars.ru/img/avatars/001a/e1/ae/2-1781859182.gif'});
код бэкапа
Код:
// =========================================
// ТЗ: Восстановление данных из Firebase
// =========================================
// Запускать в консоли браузера на форуме под админом (GroupID = 1)

// 1. Показать последний бэкап
const db = firebase.firestore();
const snap = await db.collection("backups").orderBy("timestamp", "desc").limit(1).get();
const backup = snap.docs[0].data();
console.log("Дата бэкапа:", backup.date);
console.log("Пользователей app_3:", Object.keys(backup.app_3).length);
console.log("Пользователей app_9:", Object.keys(backup.app_9).length);

// 2. Восстановить ВСЕ данные
const delay = ms => new Promise(r => setTimeout(r, ms));

// Восстановить app_3 (ваучеры)
for (const [key, value] of Object.entries(backup.app_3)) {
  await mybbAPI.call("storage.set", { 
    app_id: 3, 
    key: key, 
    value: value, 
    token: window.ForumAPITicket 
  });
  console.log("app_3 OK:", key);
  await delay(100);
}

// Восстановить app_9 (токены)
for (const [key, value] of Object.entries(backup.app_9)) {
  await mybbAPI.call("storage.set", { 
    app_id: 9, 
    key: key, 
    value: value, 
    token: window.ForumAPITicket 
  });
  console.log("app_9 OK:", key);
  await delay(100);
}

console.log("Восстановление завершено");

// =========================================
// ДОПОЛНИТЕЛЬНО:
// =========================================

// Восстановить только одного пользователя:
// const userId = 3;
// if (backup.app_3["user_" + userId]) {
//   await mybbAPI.call("storage.set", { app_id: 3, key: "user_" + userId, value: backup.app_3["user_" + userId], token: window.ForumAPITicket });
// }
// if (backup.app_9["user_" + userId]) {
//   await mybbAPI.call("storage.set", { app_id: 9, key: "user_" + userId, value: backup.app_9["user_" + userId], token: window.ForumAPITicket });
// }

// Показать все бэкапы (последние 10):
// const all = await db.collection("backups").orderBy("timestamp", "desc").limit(10).get();
// all.forEach(doc => console.log(doc.data().date, Object.keys(doc.data().app_3).length + Object.keys(doc.data().app_9).length, "пользователей"));

// Удалить старые бэкапы (оставить только последние 7):
// const allSnaps = await db.collection("backups").orderBy("timestamp", "desc").get();
// let count = 0;
// allSnaps.forEach(async doc => { count++; if (count > 7) await db.collection("backups").doc(doc.id).delete(); });

0


Вы здесь » gemini beta v0.1 » админка » регламенты блять


Рейтинг форумов | Создать форум бесплатно