Self-Host NotiFansly Bot

Run your own instance of NotiFansly and customize it for your community

Prerequisites

Before you begin, make sure you have the following:

  • A Discord account
  • Basic familiarity with command line interfaces
  • A Fansly account with active login credentials
  • A server or computer to host the bot (available 24/7 for best results)

Discord Bot Setup

You'll need to create your own Discord bot application:

  1. Go to the Discord Developer Portal

  2. Click "New Application" and give it a name (e.g., "MyNotiFansly")

  3. Navigate to the "Bot" tab and click "Add Bot"

  4. Under the "Privileged Gateway Intents" section, enable:

    • Presence Intent
    • Server Members Intent
    • Message Content Intent
  5. Copy your bot token by clicking "Reset Token" and then "Copy" (keep this secure!)

  6. Go to the "OAuth2" → "URL Generator" tab

  7. Select the following scopes:

    • bot
    • applications.commands
  8. Select the following bot permissions:

    • Send Messages
    • Embed Links
    • Attach Files
    • Read Message History
    • Use External Emojis
    • Add Reactions
  9. Copy the generated URL – this is what you'll use to add your bot to servers

Note: By self-hosting, each server owner will add their own instance of the bot, which means you won't hit the 100-server limit that requires verification.

Installation

NotiFansly is written in Go with pre-built executables available:

  1. Download the latest release (current version: v0.2.5) from our GitHub repository

    # Linux (64-bit)
    wget https://github.com/fvckgrimm/discord-fansly-notify/releases/download/v0.2.5/discord-fansly-notify_0.2.5_linux_amd64.tar.gz
    tar -xzf discord-fansly-notify_0.2.5_linux_amd64.tar.gz
    
    # macOS
    wget https://github.com/fvckgrimm/discord-fansly-notify/releases/download/v0.2.5/discord-fansly-notify_0.2.5_darwin_amd64.tar.gz
    tar -xzf discord-fansly-notify_0.2.5_darwin_amd64.tar.gz
    
    # Windows
    # Download the discord-fansly-notify_0.2.5_windows_amd64.zip file and extract it
                  
  2. Create a directory for the bot and extract the executable there

Configuration

Create a .env file in the same directory as the executable:

APP_ID=YOUR_APP_ID
DISCORD_TOKEN=YOUR_BOT_TOKEN
PUBLIC_KEY=YOUR_PUBLIC_KEY
FANSLY_TOKEN=YOUR_FANSLY_TOKEN
USER_AGENT=YOUR_BROWSER_USER_AGENT
LOG_CHANNEL_ID=CHANNEL_ID_TO_LOG_ADDED_CREATORS
          

How to get each value:

  • APP_ID: Your application ID from the Discord Developer Portal
  • DISCORD_TOKEN: The bot token you copied earlier
  • PUBLIC_KEY: Found in the Discord Developer Portal under your application's "General Information"
  • FANSLY_TOKEN: Your Fansly authentication token (see below)
  • USER_AGENT: Your browser's user agent (can be found by searching "what is my user agent" in a search engine)
  • LOG_CHANNEL_ID: The ID of a channel where you want the bot to log when creators are added (optional)

Getting Your Fansly Token

  1. Log in to Fansly in your browser
  2. Open the browser developer tools (F12 or right-click > Inspect)
  3. Go to the "Application" tab (you might need to click the >> to find it)
  4. Select "Local Storage" in the left sidebar
  5. Look for the entry with key "auth" or "token"
  6. Copy the value – this is your FANSLY_TOKEN

Important: Never share your Fansly token with anyone. It provides full access to your account.

Running the Bot

Now you're ready to start your NotiFansly instance:

# Linux/macOS
chmod +x ./discord-fansly-notify
./discord-fansly-notify

# Windows
.\discord-fansly-notify.exe
          

Running as a Systemd Service

For reliable 24/7 operation on Linux systems using systemd, create a service file:

# Create a systemd service file
sudo nano /etc/systemd/system/notifansly.service
          

Add the following content to the file (replace paths and username with your own):

[Unit]
Description=Notifansly
After=network.target

[Service]
Type=simple
User=YOUR_USERNAME
Group=YOUR_GROUP
WorkingDirectory=/path/to/bot/directory
ExecStart=/path/to/bot/directory/discord-fansly-notify
Restart=always
RestartSec=1
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target
          

Enable and start the service:

# Reload systemd to recognize the new service
sudo systemctl daemon-reload

# Enable the service to start on boot
sudo systemctl enable notifansly.service

# Start the service
sudo systemctl start notifansly.service

# Check the status
sudo systemctl status notifansly.service
          

Alternatively, you can use PM2 as a process manager:

# Using PM2
npm install -g pm2
pm2 start ./discord-fansly-notify --name "notifansly"
pm2 save
pm2 startup
          

Once your bot is running, use the OAuth2 URL you generated earlier to add it to your Discord server.

Frequently Asked Questions

Why self-host instead of using the public bot?

Self-hosting gives you full control over your instance, allows customization, and completely avoids Discord's verification requirements for bots in 100+ servers. Since each server owner runs their own bot instance, no single bot needs to be in more than one server.

Does self-hosting really avoid Discord's verification requirements?

Yes! Discord's verification is only required when a single bot instance is in 100+ servers. By self-hosting, each server has its own separate bot instance, so none of them will hit this limit. This approach is completely legitimate and within Discord's terms.

How often does the bot check for new posts/streams?

The bot checks for updates every few minutes by default. This ensures timely notifications without excessive API requests.

Will my Fansly login stay active?

The token may expire after some time. If the bot stops working, you might need to obtain a new token using the method described in the Configuration section.

Is this against Fansly's terms of service?

The bot uses your own credentials and doesn't distribute content, but automated access may not be explicitly allowed. Use at your own discretion.

How can I customize the notification messages?

For basic users, the notifications have a standard format. Advanced users can modify the source code from our GitHub repository to customize message formats exactly to their preferences.

Need Help?

If you encounter any issues or have questions, join our support server: