more readable readme (not readable)
All checks were successful
Build and Push Docker Image / build (push) Successful in 1m6s

This commit is contained in:
2026-05-12 02:35:42 -04:00
parent ae2046185c
commit 020c4dcee2

View File

@@ -2,18 +2,23 @@
it finds twitter links and turns them into girlcock links for better embed it finds twitter links and turns them into girlcock links for better embed
# setup
## easiest way ## easiest way
docker image published at `git.cesium.one/kira/cockinator:latest` only needs `DISCORD` passed as a variable with your token docker image published at `git.cesium.one/kira/cockinator:latest` only needs `DISCORD` passed as a variable with your token
### examples ### examples
`docker run -e "DISCORD=TOKEN_HERE" git.cesium.one/kira/cockinator:latest` ```
docker run -e "DISCORD=TOKEN_HERE" git.cesium.one/kira/cockinator:latest
```
or if you like docker compose:
```yml ```yml
services: services:
bot: bot:
restart: unless-stopped
image: git.cesium.one/kira/cockinator image: git.cesium.one/kira/cockinator
environment: environment:
- DISCORD=TOKEN_HERE - DISCORD=TOKEN_HERE
@@ -23,20 +28,37 @@ services:
this also works in not docker with regular node.js, and pass it the `DISCORD` variable however you like this also works in not docker with regular node.js, and pass it the `DISCORD` variable however you like
`npm i && DISCORD=TOKEN_HERE node index.js` ```bash
npm i # run once to install dependencies
DISCORD=TOKEN_HERE node index.js
```
## other ways ## other ways
you can build the image yourself with `docker build . -t cockinator` to then run with `docker run cockinator` you can build the image yourself with `docker build . -t cockinator` to then run with `docker run -e "DISCORD=TOKEN_HERE" cockinator`
you can also build the image with docker-compose, by replacing `image: git.cesium.one/kira/cockinator` with `build: .` you can also build the image with docker-compose, by replacing `image: git.cesium.one/kira/cockinator` with `build: .`
## the config file ## the config file
for the full functionality of the bot, you can copy `config.json.default` to `config.json` and fill it in. for the advanced functionality (see below) of the bot, you can copy `config.json.default` to `config.json` and fill it in.
it'll need to be in the main directory, and for docker that means mounting it as a volume with `-v ./config.json:/app/config.json` it'll need to be in the main directory, and for docker that means mounting it as a volume with `-v ./config.json:/app/config.json`
## profile picture rotation # functionality
it'll take everything in ./avatars and shuffle them before rotating through them. this can also be mounted for docker with `-v ./avatars:/app/avatars` listens to messages and if one contains a twitter.com or x.com link, it'll send a new message containing girlcockx.com version of that link with extra garbage removed, and then clears the embed of the original message so only the new embed shows.
## advanced functionality
everything in here needs to be set up with `config.json` mentioned above
### jellyfin
read a Jellyfin library and generate direct links to the file, intended for vrchat media players.
**WARNING: the output of this feature is restricted to DMs because the links output expose the API key**, so also don't paste the output links anywhere
### avatar rotation
if you add images to `./avatars` (`/app/avatars` in the docker container), the bot will shuffle them all and cycle through daily. this will work without `config.json`, but can be configured further using it. for docker, you can mount `./avatars` to the container by adding `-v ./avatars:/app/avatars` to the docker run command