https://github.com/Kyanoxia/orchid
Where Bluesky meets Discord
https://github.com/Kyanoxia/orchid
announcement-bot automation bluesky bot discord discord-bot discord-typescript twitter
Last synced: 22 days ago
JSON representation
Where Bluesky meets Discord
- Host: GitHub
- URL: https://github.com/Kyanoxia/orchid
- Owner: Kyanoxia
- License: gpl-3.0
- Created: 2024-10-20T01:10:14.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-02-03T12:57:30.000Z (4 months ago)
- Last Synced: 2025-04-22T15:07:53.873Z (about 1 month ago)
- Topics: announcement-bot, automation, bluesky, bot, discord, discord-bot, discord-typescript, twitter
- Language: TypeScript
- Homepage: https://kyanoxia.com/orchid
- Size: 1.54 MB
- Stars: 14
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Orchid
Gracefully connect your Bluesky account to any Discord channelcurrently limited to non-nsfw until May 1 2025
## Getting Started
To start, please invite the bot to your server using [this URL](https://discord.com/oauth2/authorize?client_id=1297227452707373267). Once it has successfully joined, use the `/connect` command to subscribe to a user!### Commands
**`<>` indicates required, `[]` indicates optional**
| **Command Name** | **Description** | **Usage** |
| --------------------- | ------------------------------------------- | ------------------------------------------------------------------ |
| `/botinfo` | (global) Display information about Orchid | `/botinfo` |
| `/connect` | Connect your BlueSky account | `/connect [embed provider] [replies] [message] [regex]` |
| `/disconnect` | Disconnect your BlueSky account | `/disconnect ` |
| `/help` | Display help page | `/help` |
| `/info` | Display information about a command | `/info ` |
| `/list` | Display subscribed users in channel | `/list` |## Self-Hosting
### Prerequisites
NodeJS (v18.19.0+) & NPM must be installed. Once installed, please globally install typescript for convenience:
```
npm i --global typescript
```
Now that that's out of the way, let's get to it.### Setting Up
Clone this repository:
```
git clone https://github.com/Kyanoxia/orchid.git
```Travel into that directory:
```
cd orchid
```Install Dependencies:
```
npm i
```Create your environment variables:
```
touch .env
```Start the bot:
```
npm run dev
```
or for production (using pm2 for process persistence)
```
npm run startpm
```### Environment Variables
| **Variable Name** | **Description** |
| --------------------- | -------------------------------------------:|
| `token` | Your discord bot token |
| `discordClientID` | Your discord bot Client ID |
| `mongoURL` | Your Mongo Database URL |
| `devGuildID` | Discord developer guild ID for dev commands |
| `devUID` | JS/TS-style array of developer user IDs |If you are unfamiliar with creating environment variables, please refer to [this page](https://www.dotenv.org/docs/security/env).
### Commands for developers
**`<>` indicates required, `[]` indicates optional**
| **Command Name** | **Description** | **Usage** |
| --------------------- | ------------------------------------------- | ---------------------------- |
| `/emit` | Artificially trigger join/leave event | `/emit ` |
| `/getdatabase` | Print the whole database to console | `/getdatabase` |