This project is a Telegram bot that creates Universal Profiles (UPs) on LUKSO using the LUKSO Relayer API. The bot collects basic information from users and encodes data keys that specify the Universal Receiver Delegate, its permissions, and a controller provided by the user.
- Creates Universal Profiles via Telegram interface
- Collects user information (name, description, profile picture URL, Ethereum address)
- Encodes data keys for Universal Receiver Delegate and permissions
- Uses LUKSO Relayer API for profile creation
Developers extending this bot can leverage the collected data (name, profile picture, description) to:
- Deploy metadata to IPFS using LUKSO data provider, and generate the LSP3Metdata and set it on the profile.
- Implementing a key system within Telegram, allowing users to perform simple transactions without providing an external address as the controller.
- Node.js and npm installed
- LUKSO Relayer API access
- Telegram Bot Token
- ngrok for exposing the local server
- Clone the repository
- Install dependencies:
npm install
- Create a
.env
file in the root directory with the following variables:
TOKEN=your_telegram_bot_token
API_KEY=your_lukso_relayer_api_key
SERVER_URL=your_ngrok_url
- Generate a Telegram Bot Token:
- Talk to the BotFather on Telegram
- Follow the prompts to create a new bot
- Save the provided token in the
.env
file asTOKEN
- Request LUKSO Relayer API access:
- Contact LUKSO to request access to the Relayer API
- Once granted, save the API key in the
.env
file asAPI_KEY
- Set up ngrok:
- Install ngrok:
npm install ngrok
- Run ngrok:
ngrok http 5001
- Copy the provided HTTPS URL (e.g.,
https://x-x-x-x-x.ngrok-free.app
) - Save this URL in the
.env
file asSERVER_URL
- Start the server:
npm run dev
Your bot is now active. Send /start
to your bot on Telegram to begin the profile creation process.
If you prefer not to use the LUKSO Relayer and have your own method for creating profiles, you can modify the createProfile
function to implement your custom logic.
This bot requires access to the LUKSO Relayer API. Ensure you have the necessary permissions before deploying the bot.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.