Skip to content

EdPutans/hoxbot

Repository files navigation

Hoxbot 🤖

Purpose

A discord bot meant for both the Hoxton staff and students to use!

For more details on how to use and build features, check out DiscordJS official docs.

Features

Current:

  • automatically transforming questions in the support channel into threads
  • allowing people to mark a thread as resolved / unresolved, as long as the thread is a #Classroom or #Support thread
  • quickly posting a zoom link to a meeting
  • fast creation of a new event
  • quick create stand up thread, which tracks which students replied in it. (A student is an account with Student permission).

Beta:

  • award stars to active students WIP:
  • Custom standup message

Installation and setup

The usual:

npm install

Create a .env file and create the following environment variables:

BOT_TOKEN
CLIENT_ID
CLIENT_SECRET
SERVER_ID

ED_ZOOM
NICO_ZOOM

Adding / modifying commands

To add a new command:

  1. Register the slash command by adding a new SlashCommandBuilder in registerCommands.ts, then running
npm run setup
  1. Create a handler function following the docs or existing commands
  2. Add that handler to index.ts file under the appropriate section
  3. Test your changes by disabling the bot running in the host container and running
npm run dev

Note that nodemon which runs the server will restart everytime files change.

Once done, push the changes and restart the container

Deployment

The project is currently deployed on Render with Ed's account: https://dashboard.render.com/web/srv-cc8sa82rrk03to1lk1i0 To prevent the app from sleeping, it is being pinged every 15 minutes by https://cron-job.org/en/

Therefore:

DO NOT REMOVE THE "USELESS" EXPRESS ROUTES

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published