Loading repository data…
Loading repository data…
lianecagara / repository
CassidySpectra is the first ever all-around (Personal Fb bot, Page Bot, Discord Bot, Web Bot) chatbot with the best Typescript Tooling and Rich Libraries. CassidySpectra is also a fork of CassidyRedux which is a revamped version of CassidyBoT with enhanced features and improved performance, created and well-maintained by lianecagara.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
CassidySpectra is the first ever all-around (Personal Fb bot, Page Bot, Discord Bot, Web Bot) chatbot with the best Typescript Tooling and Rich Libraries. CassidySpectra is also a fork of CassidyRedux which is a revamped version of CassidyBoT with enhanced features and improved performance, created and well-maintained by Liane Cagara (lianecagara in github).
CassidySpectra is designed to be a powerful and extensible bot framework that allows developers to create and manage a wide range of commands and functionalities. It leverages modern JavaScript and TypeScript features and provides a structured approach to command creation and management.
Welcome to the Cassidy Bot tutorial! 🎉 This guide will walk you through setting up and running the Cassidy bot on Railway. Cassidy is a bot that connects with Facebook Messenger (and optionally Discord) to automate your interactions. Follow these steps to get it up and running smoothly! 😎
Before you start, make sure you have:
Get your own copy of the Cassidy bot code by forking the main repository or generating from it's template.
Your forked/generated repository will be at https://github.com/your-username/CassidySpectra. ✅
You’ll need a dummy Facebook account to run the bot safely.
git clone https://github.com/your-username/CassidySpectra
cd CassidySpectra
cookie.json file.node hidestate
This command will hide your appstate or cookie.
⚠️ Warning: Don’t commit sensitive info like cookies to a public repo! If your fork is public, make it private or use environment variables instead. (Also don't ever push .env to your repo)
Want Cassidy to work with Discord too? This step is optional!
settings.json—check the repo docs for details).{
// other infos...
"discordBotToken": "",
"discordClientID": "",
}
Note: This is optional and might depend on the bot’s setup. Skip if you’re only using Facebook Messenger.
To make Cassidy work with Facebook Messenger, you’ll need to configure it via Facebook Developers.
Go to Facebook Developers:
Create a Developer Account (if needed):
Create an App:
Add Messenger Product:
Connect Your Facebook Page:
Set Up Webhooks:
https://your_hosting.site/webhook (update this later after deployment).(make your own verify token in the developer.facebook.com example: pagebot you put in the developer.facebook.com verify token pagebot and get the verify token once again and put it in the settings.json)messagesmessaging_optinsmessaging_postbacksNote: You’ll update the Callback URL after deploying on Railway.
Add Page Subscriptions:
messages, messaging_optins, and are checked.{
// other infos...
"pageAccessToken": "",
"pageVerifyToken": "",
}
⚠️ Warning: Don’t commit tokens to a public repo! Use environment variables if possible.
Double-check these files in your forked repo:
cookie.json: Has your dummy account’s cookies.settings.json: Has your Page Access Token.Time to get Cassidy live using Railway and Docker!
Check the Dockerfile:
Create a Railway Project:
Set Up Deployment:
⚠️ Important: USA Oregon is required for proper operation.
Setup Environment Variables
Deploy the Bot:
https://your-project-name.up.railway.app).Update Webhook URL:
/webhook (e.g., https://your-project-name.up.railway.app/webhook).MONGO_URI="replace with the mongodb uri"
npm start
Let’s make sure it works!
Open Your Facebook Page:
Send a Test Message:
Note: The bot only responds to accounts with specific roles in the app. Add roles next!
To let certain accounts interact with the bot, assign roles in your Facebook app.
Go to developers.facebook.com:
Access Your App:
Select "App Roles":
Add Roles:
Assign Roles to Users:
Note: Ensure your test account has a role assigned to get responses!
Congrats! Your Cassidy bot is now running on Railway. Enjoy automating your Messenger tasks! 🎉
A command in CassidySpectra is typically defined in a JavaScript file with the following structure:
export const meta = {
name: "example",
otherNames: ["ex", "examples"],
author: "Author's Name",
version: '1.0.0',
description: "This is an example command used in demonstration.",
usage: "{prefix}{name}",
category: "Examples",
noPrefix: "both",
permissions: [0, 1, 2],
botAdmin: false,
waitingTime: 10,
ext_plugins: {
output: "^1.0.0"
},
whiteList: [
"id1",
"id2"
],
args: [
{
degree: 0,
fallback: null,
response: "You cannot use this argument",
search: "disallowedArg",
required: false,
}
],
supported: "^1.0.0"
};
export async function entry({ input, output }) {
messaging_postbacksGet Your Page Access Token:
Add Token to Bot:
settings.json.