Skip to content

ike-gg/Tetra

Repository files navigation

banner


Tetra

Emote management Discord bot.
Bot Invite Link · Report Bug · Request Feature

About The Project

Tetra is a Discord bot project that greatly simplifies importing emotes from various services such as 7TV, BTTV, FFZ or direct links to sources onto your Discord server.

The built-in automatic file optimization feature requires no additional action from users, and the optional scaling function allows you to adjust the emote to look its best.

Additionally Tetra offers a few other smaller but equally exciting features, such as adding unavailable emotes directly from messages or reactions.


Built with

discordjs express nodejs typescript sharpjs zod


Getting Started

  1. Clone repo
git clone https://github.com/ike-gg/Tetra
  1. Install dependencies
npm install
  1. Create .env file and fill it with your credentials
  node_env: z.enum(["development", "production"]).default("development"),

  discordBotToken: z.string(),
  discordBotId: z.string(),
  oauthClientId: z.string(),
  oauthClientSecret: z.string(),

  inviteLink: z.string().url(),

  twitchClientId: z.string(),
  twitchSecretKey: z.string(),

  secretPhrase: z.string(),

  tenorApiKey: z.string(),

  imgurClientId: z.string(),

  DATABASE_URL: z.string().url(),

  PORT: z.number().optional(),
  1. Deploy global commands and push prisma schema
npm run deploy && npm run prisma:push
  1. Run bot
npm run start

Roadmap

  • Import emotes from 7TV, FFZ, BTTV
    • by name
    • by link (even with direct link to source)
    • by channel emote set (limited to 7TV)
  • Automatically emote optimization
  • Optional emote scaling option
  • Context Commands for "stealing" emotes from messages and reactions
  • Media command to extract media files from various socialmedia platform posts (Twitter, Instagram, Tiktok)
  • Fully integrated Tetra Web Tetra Panel
    • Emote search engine using 7TV, BTTV and FZZ apis
    • Server scope emote managmenet from panel level
    • Manual adjustment
    • Mass import / emote queue (dealing with discord api limits)
    • Sync Twitch channel with you discord server
  • Tetra Premium 🤭
  • Users without permission can make request to add emote (?)

Contributing

To contribute, simply fork this project and create a pull request with your changes. Whether it's a new feature, bug fix, or documentation improvement, we appreciate all contributions. Thank you for your interest in helping to make this project even better!