The Factoid Authority Bot,
Monitors your nodes,
Wakes you up when it all goes tits up.

Stuart Johnson ccea7398f6 * clsNode.cs: Allow custom api port number 2 days ago
.vs ccea7398f6 * clsNode.cs: Allow custom api port number 2 days ago
TFA-Bot ccea7398f6 * clsNode.cs: Allow custom api port number 2 days ago
.gitignore b122ffef6f * Program.cs: 4 months ago
BuildCommon.targets 2478364128 Missing ; 5 months ago
Dockerfile efd4b897ad fix SIPp version 4 months ago
LICENSE 3be8577400 first commit 5 months ago df1c1d2cb0 Fix restart=always 3 months ago
TFA-Bot.sln 07da990979 * TFA-Bot.sln: 5 months ago 71c98d4ef4 * clsVersion.cs: Version change 5 months ago


Factom Node Monitor


  • A well connected server, with Docker for running your Bot on.
  • A private Discord Server account.
  • Factom nodes to monitor! Make sure port 8088 is open to your Bot server.

Getting started

  1. Copy this Google spreadsheet, rename it, and fill in every sheet tab. Follow the instructions on the "Settings" tab.

  2. Get a read-only share URL for your spreadsheet. (Dont share it with anyone, but you can invite your members for full read/write access)

  3. On your server (using your own URL):

docker build -t tfa-bot
docker run --restart=always -d -e "BOTURL=" --name bot tfa-bot
Optional SIP Server, for Phone Call alerts

TFA-Bot uses SIPp to make phone calls via a SIP VOIP gateway. The supplied dialplan.xml may work for you. It calls any given number until it's answered (or times out). Some services may require a custom dialplan or "scenario", which you can test using the sipp bash command. Alternative scenario scrips here

Fill in your SIP settings on the spreadsheet. You can optionally provide the password to docker using -e "SIP-PASSWORD=...."


Type 'Help' in any discord channel where the Bot is present. You can add the Bot to all your Discord channels so that it reacts to your commands wherever you are. The Bot will monitor Factom's #operators-alerts channel. Anything posted there, will be copied to your own Bot Alerts channel.

Type 'nodes' to see the current state.