Run your own instance of NotiFansly and customize it for your community
Before you begin, make sure you have the following:
You'll need to create your own Discord bot application:
Go to the Discord Developer Portal
Click "New Application" and give it a name (e.g., "MyNotiFansly")
Navigate to the "Bot" tab and click "Add Bot"
Under the "Privileged Gateway Intents" section, enable:
Copy your bot token by clicking "Reset Token" and then "Copy" (keep this secure!)
Go to the "Installation" → uncheck user install and use discord's provided install link.
Select the following scopes:
Select the following bot permissions:
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.
NotiFansly is written in Go with pre-built executables available:
Download the latest release (current version: v0.3.4) from our GitHub repository
# Linux (64-bit)
wget https://github.com/fvckgrimm/discord-fansly-notify/releases/download/v0.3.4/discord-fansly-notify_0.3.4_linux_amd64.tar.gz
tar -xzf discord-fansly-notify_0.3.4_linux_amd64.tar.gz
# macOS
wget https://github.com/fvckgrimm/discord-fansly-notify/releases/download/v0.3.4/discord-fansly-notify_0.3.4_darwin_amd64.tar.gz
tar -xzf discord-fansly-notify_0.3.4_darwin_amd64.tar.gz
# Windows
# Download the discord-fansly-notify_0.3.4_windows_amd64.zip file and extract it
Create a directory for the bot and extract the executable there
Create a .env file in the same directory as the executable.
# --- Required Settings ---
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
# --- Optional Settings (for customization) ---
# The channel ID where the bot should log when new creators are added.
LOG_CHANNEL_ID=
# The maximum number of creators a single Discord server can monitor.
# Set to 0 or a negative number to disable the limit entirely.
MAX_MONITORED_USERS_PER_GUILD=0
# How often (in seconds) the bot checks for new posts and streams.
# Default is 120 (2 minutes).
MONITOR_INTERVAL_SECONDS=120
# Database type. Can be "sqlite" or "postgres". Defaults to "sqlite".
DB_TYPE=sqlite
# Path for the SQLite database file (if DB_TYPE is sqlite).
SQLITE_PATH=bot.db
# Connection string for PostgreSQL (if DB_TYPE is postgres).
# POSTGRES_URL=postgres://user:password@host:port/dbname
You must provide these values for the bot to run:
These settings have default values and can be changed to customize your bot's behavior:
0 disables the limit, allowing unlimited creators per server. This is the recommended setting for self-hosting.sqlite file database, which is sufficient for most users.Important: Never share your Fansly token with anyone. It provides full access to your account.
Now you're ready to start your NotiFansly instance:
# Linux/macOS
chmod +x ./discord-fansly-notify
./discord-fansly-notify
# Windows
.\discord-fansly-notify.exe
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.
Self-hosting gives you full control. Key benefits include:
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.
By default, the bot checks every 2 minutes (120 seconds). You can change this with the MONITOR_INTERVAL_SECONDS setting in your .env file.
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.
The bot uses your own credentials and doesn't distribute content, but automated access may not be explicitly allowed. Use at your own discretion.
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.
If you encounter any issues or have questions, join our support server: