Skip to content

bullishgopher/wallet-watch-bot

Repository files navigation

Wallet Watch Discord Bot

TypeScript version Node.js version APLv2 Build Status - GitHub Actions

This tool enables you to monitor Ethereum wallets, check their ETH balances, and compile a list of the NFTs owned by each wallet. The bot is crafted for effortless setup and deployment within your preferred environment.

Screenshots

track wallet

check balance

Video

wallet watch bot

🏃🏽 Instant Value: All basic tools included and configured:

  • TypeScript 5.1
  • ESM
  • ESLint with some initial rules recommendation
  • Jest for fast unit testing and code coverage
  • Type definitions for Node.js and Jest
  • Prettier to enforce consistent code style
  • NPM scripts for common operations
  • EditorConfig for consistent coding style
  • Reproducible environments thanks to Volta
  • Example configuration for GitHub Actions
  • Simple example of TypeScript code and unit test

Prerequisites

  • Node.js 18.x or higher
  • A Discord bot token
  • An Alchemy API key

Installation

  1. Clone the repository or download the source code.

  2. Install dependencies:

pnpm install

Configuration

Create .env in the project directory and add your Discord bot token and Alchemy API key.

DISCORD_BOT_TOKEN=
DISCORD_CHANNEL_ID=
ALCHEMY_API_KEY=

Running the Bot

Start the bot:

pnpm start

The bot should now be running and connected to your Discord server. You should see a message in the configured channel indicating that the Wallet Watch Bot is online.

Usage

The bot has the following commands:

!track <address>: Track an Ethereum address for incoming and outgoing transactions.

!balance <address>: Check the Ether balance of an Ethereum address.

!nfts <address>: List NFTs owned by an Ethereum address.

!help: Show a help message with the available commands.

Available Scripts

  • clean - remove coverage data, Jest cache and transpiled files,
  • prebuild - lint source files and tests before building,
  • build - transpile TypeScript to ES6,
  • build:watch - interactive watch mode to automatically transpile source files,
  • lint - lint source files and tests,
  • prettier - reformat files,
  • test - run tests,
  • test:watch - interactive watch mode to automatically re-run tests

Contributing

Feel free to open issues or submit pull requests if you find any bugs or have suggestions for improvements.

License

Licensed under the APLv2. See the LICENSE file for details.

Resources

Discord.js Guide - Frequently asked Questions

Discord.js Docs

Node + TypeScript Template

How to Make a Discord Bot: an Overview and Tutorial

How to make a Discord bot with code in 5 steps