Розробка Discord-бота управління whitelist

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Розробка Discord-бота управління whitelist
Простий
~3-5 днів
Часті запитання

Напрямки блокчейн-розробки

Етапи блокчейн-розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1306
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1218
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    920
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1147
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    610
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    885

Discord бот для управління вайтлістом

Вайтлист-фаза перед публічним мінтом вирішує кілька завдань одночасно: фільтрує ботів через верифікацію активності, вознаграджує ранніх прихильників, формує контрольований попит. Discord бот — стандартний інструмент для збору WL адрес, але його типова реалізація створює проблему: одна людина з кількома Discord акаунтами отримує кілька WL слотів.

Де ломаються WL боти

Проблема Sybil та її рішення

Базовий бот просто записує адресу гаманця — жодного захисту від кількох акаунтів однієї людини. На великі колекції приходять сотні ботів-акаунтів з куплено історією на Discord.

Один гаманець на Discord акаунт — мінімальний рівень: якщо гаманець вже зареєстрований на інший Discord ID — відхилити. Не захищає від власника кількох Discord акаунтів.

Вимоги членства на сервері — для реєстрації потрібно бути на сервері N днів, мати X повідомлень, мати певну роль. Це підвищує вартість атаки: купити прокачаний Discord акаунт дорожче, ніж створити новий.

Перевірка on-chain активності — найнадійніший фільтр. Бот перевіряє через Alchemy/Etherscan API: чи є у гаманця історія транзакцій, NFT з конкретних колекцій (OG holder), POAPs, мінімальний баланс. Це не тільки анти-Sybil, але й цільовий маркетинг — WL для справжніх колекціонерів, а не фліперів.

Валідація Ethereum адрес

Поширена помилка: бот приймає будь-яку рядок, схожу на адресу, без checksum-перевірки. Користувач вводить адресу в нижньому регістрі — це валідна Ethereum адреса. Але при генерації Merkle Tree для контракту потрібна нормалізація: всі адреси через ethers.utils.getAddress() або viem.getAddress() для EIP-55 checksum. Невідповідність регістру в Merkle Tree приведе до того, що користувач не зможе заминтити навіть з правильною адресою.

Перевірка: ethers.isAddress(input) перед записом + нормалізація через ethers.getAddress(input).

Функціональність бота

Реєстрація гаманця. /wallet 0x... — користувач вводить адресу. Бот валідує, перевіряє дубікати (обидва напрями: Discord ID → wallet та wallet → Discord ID), зберігає в БД.

Ролі та привілегії. Окремі ролі для різних категорій WL: OG (пріоритетний мінт, більше місць), WL (стандартний), Public. Бот автоматично призначає роль після перевірки on-chain критеріїв.

Управління листом. Admin команди: /wl-export — выгрузка CSV, /wl-stats — кількість по категоріям, /wl-remove @user — видалення з листа, /wl-check 0x... — перевірка адреси.

Генерація Merkle Tree. За запитом або автоматично перед деплоєм — бот генерує Merkle Tree з накопичених адрес та видає root для контракту. Proof для кожної адреси — через API або в личному повідомленні.

Технічний стек

discord.js v14 — основна бібліотека. Slash команди замість prefix команд (сучасний стандарт Discord). Обробка взаємодій з ephemeral відповідями для команд з личними даними.

База даних — PostgreSQL (для production) або SQLite (для малих колекцій). Зберігання: discord_id, wallet_address, registered_at, wl_tier, on_chain_checks_passed.

ethers.js v6 — валідація адрес, генерація Merkle Tree через merkletreejs + keccak256.

Деплой — Railway або VPS з PM2. Для надійності — webhook-based деплой замість long-polling.

Орієнтири за часом

Базовий бот (реєстрація, дедублікація, admin команди, експорт, генерація Merkle) — 3-4 дні. З on-chain перевірками активності та багаторівневими WL ролями — 5-7 днів. Кастомна геймифікація (квести, реферальна система) — обговорюється окремо.