Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kyanoxia/skycord
The unofficial official BlueSky announcement bot for Discord. It's recommended to self-host this!
https://github.com/kyanoxia/skycord
announcement-bot automation bluesky bot discord discord-bot discord-typescript twitter
Last synced: about 24 hours ago
JSON representation
The unofficial official BlueSky announcement bot for Discord. It's recommended to self-host this!
- Host: GitHub
- URL: https://github.com/kyanoxia/skycord
- Owner: Kyanoxia
- License: gpl-3.0
- Created: 2024-10-20T01:10:14.000Z (29 days ago)
- Default Branch: main
- Last Pushed: 2024-11-13T02:03:42.000Z (5 days ago)
- Last Synced: 2024-11-13T02:28:15.942Z (5 days ago)
- Topics: announcement-bot, automation, bluesky, bot, discord, discord-bot, discord-typescript, twitter
- Language: TypeScript
- Homepage: https://kyanoxia.com/skycord
- Size: 1.15 MB
- Stars: 10
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Skycord
A Discord bot to announce new posts from Bluesky!## 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 Skycord | `/botinfo` |
| `/connect` | Connect your BlueSky account | `/connect [embed provider] [replies] [message] [regex]` |
| `/disconnect` | Disconnect your BlueSky account | `/disconnect ` |
| `/getlastpost` | (global) Get the latest post from a user | `/getlastpost ` |
| `/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/bluecord.git
```Travel into that directory:
```
cd bluecord
```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` |