Create Farcaster bot
Create a Farcaster bot on Neynar in a few quick steps
Simplest way to start is to clone this git repo that has a sample bot ready to go: https://github.com/neynarxyz/farcaster-examples
In our farcaster-examples
repo, gm_bot
is an automated messaging bot designed to cast a 'gm 🪐' message in Warpcast every day at a scheduled time. The bot operates continuously as long as the system remains online. It leverages Neynar API and is built using @neynar/nodejs-sdk.
Prerequisites
- Node.js: A JavaScript runtime built on Chrome's V8 JavaScript engine. Ensure you have Node.js installed on your system.
Installation
Setting Up the Environment
-
Install PM2: PM2 is a process manager for Node.js applications. Install it globally using npm:
npm install -g pm2
-
Install Project Dependencies: Navigate to the project directory and run one of the following commands to install all required dependencies:
yarn install
npm install
-
Configure Environment Variables:
- Copy the example environment file:
cp .env.example .env
- Open the repo in your favorite editor and edit
.env
file to add yourNEYNAR_API_KEY
andFARCASTER_BOT_MNEMONIC
. Optionally, you can also specifyPUBLISH_CAST_TIME
andTIME_ZONE
for custom scheduling.
- Copy the example environment file:
Generating a Signer
Before running the bot, you need to generate a signer and get it approved via an onchain transaction. You can easily generate a signer by using the Neynar Dev portal at https://dev.neynar.com.
- Login to your Neynar dev portal
- App -> "Make a bot" -> Generate
- Click the Sign in With Neynar button
- Connect the bot's address, the Warpcast logged-in user must be the bot
- If everything goes well, there will be a signer UUID, which can be used to cast as the bot!
Running the Bot
-
Start the Bot: Launch the bot using the following command:
yarn start
npm run start
-
Verify the Process: Ensure that the bot is running correctly with:
pm2 status
-
View Logs: To check the bot's activity logs, use:
pm2 logs
-
Stopping the Bot: If you need to stop the bot, use:
pm2 kill
License
gm_bot
is released under the MIT License. This license permits free use, modification, and distribution of the software, with the requirement that the original copyright and license notice are included in any substantial portion of the work.
FAQs/Troubleshooting
- Q1: What if
gm_bot
stops sending messages?- A1: Check the PM2 logs for any errors and ensure your system's time settings align with the specified
TIME_ZONE
, also ensure that the process is running.
- A1: Check the PM2 logs for any errors and ensure your system's time settings align with the specified
Ready to start building?
Get your subscription at neynar.com and reach out to us on Telegram with any questions!
Updated 2 months ago