Smallsan / kogasa-bot

Kogasa, a funny Discord bot.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

kogasa

A comfortable Discord bot for convenience features.

Prefix: ??

Features

Parenthesis are optional, square brackets are required.

  • buffer ("delete" | "edit"): Find deleted or edited messages.
  • love [mentions]: Calculate the love between two or more people. [Disabled]
  • quote: Reply to someone to quote them saying a fire line of text. Includes attachments. Requires canvas-http-api.
  • ytdl [link] [format_id]: Download videos from YouTube. Requires ytdlp-drive.
  • ytdlf: Get the quality and format of your video. Can be used with ytdl with a format_id.
  • google [search_query] and img [search_query]: Gets google searches and images.
  • randomweb: Sends you a random website with gacha elements snuck in.
  • sauce: Reply to an image to find the source of the image relating to anime.
  • help: Finally, a help command!
  • doctor: Check if your servers are working.

Incoming Features

  • dm: A band-aid solution to enable DM-only commands.
  • confess [server_id] [message] [DMS ONLY]: Confess something anonymously to servers.

A basic file structure for easy additions to the bot.

Running

Base Kogasa

  1. Put a config.json on the root of the folder.

The structure of it is like this:

{
	"token": "[token of the bot here]",
	"clientID": "[application id of the bot here]",
	"test_token": "[token of the *test* bot here]",
	"saucenao_token": "[saucenao token here]"
}
  1. Run npm install, npm run build, and npm run prestart in that order.

Fully Featured Kogasa

This assumes you have done Base Kogasa.

  1. Download and extract ytdlp-drive.
  2. Put a config.json with this structure:
{
	"clientID": "clientID of google drive",
	"clientSecret": "clientSecret of google drive",
	"redirectURI": "https://developers.google.com/oauthplayground",
	"token": "token of google drive"
}
  1. Run npm install and ts-node --esm index.ts.
  2. Download and extract canvas.
  3. Run npm install and ts-node --esm index.ts.

Contributing

  1. Make sure to use prettier after you make changes to the code. Run it by calling npm run format.

Misc

Why is there SO MUCH HTTP servers??

  • It seemed cool to implement but it got out of hand quickly.

Incoming

  • Adding unit tests with Chai to make the program a bit safe.

About

Kogasa, a funny Discord bot.

License:Apache License 2.0


Languages

Language:TypeScript 99.6%Language:JavaScript 0.4%