Skip to content

A Discord bot for transcribing voice messages/media on Discord

Notifications You must be signed in to change notification settings

partyhatgg/yapper

Repository files navigation

Yapper

Welcome to the repository for Yapper, a Discord bot created to transcribe Discord voice messages.

Self Hosting

Running with Docker:

Please duplicate .env.example to .env.prod and .env.dev, then modify all the values accordingly and do the same for ./prisma/.env.

The default fields here are already configured for running in Docker.

Then: docker compose up :)

Running Locally:

To run this bot you will need Node.js v18.20.2 or higher. Then, using a system installed pnpm (or, pnpm provided by corepack with corepack prepare) run pnpm install to install the bot's dependencies.

Then, please duplicate .env.example to .env.prod and .env.dev, then modify all the values accordingly and do the same for ./prisma/.env.

This bot uses PostgreSQL! The format for a DATABASE_URL is:

postgresql://[user[:password]@][host][:port][/dbname]
Using RunPod

You will be asked for an RUNPOD_API_KEY, RUNPOD_LQ_ENDPOINT_ID, and RUNPOD_HQ_ENDPOINT_ID.

From the RunPod Console, select "Serverless", then "Quick Deploy" and select "Faster Whisper". RunPod will recommend a 24 GB GPU, this is perfectly fine. However, feel free to switch to the "16 GB GPU".

For many developers, you may set your RUNPOD_LQ_ENDPOINT_ID and RUNPOD_HQ_ENDPOINT_ID to the value under the name "Faster Whisper", or whatever custom name you've provided: image

Next, select "Settings", expand "API Keys" and create a new API Key with "Read" permission. Write permissions will allow this API key to modify your account, which is probably not what you want. This key is your RUNPOD_API_KEY.

Running without Docker:

  • Ready the Database with pnpm prisma migrate dev.

Then, to run the bot in production mode use pnpm start.

Or, to run the bot in development mode use pnpm build.

Tip

Using development mode will provide you with more detailed logs and push guild commands in the specified DEVELOPMENT_GUILD_ID instead of global commands.

If you run into any problems with either please create an issue.

Need a Tunnel to Develop Locally?

Follow the instructions here: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/get-started/create-local-tunnel

After that's complete, use pnpm tunnel!

About

A Discord bot for transcribing voice messages/media on Discord

Resources

Stars

Watchers

Forks