A simple Discord Bot scaffolding, a slight rev on the one in the valtown guide.

The discordBot function takes in an object where each key is a Discord command and the value is a function to handle the command. If the function returns a Promise, it will be handled as a deferred interaction with a followup message.

Usage:

import { discordBot } from "https://esm.town/v/dglazkov/discordBot"; const echo = async (data) => { await new Promise((r) => setTimeout(r, 5000)); return { type: 4, data: { content: data.data.options[0].value, }, }; }; export default discordBot({ ping: () => ({ type: 4, data: { content: `Pong! It is ${new Date()}`, }, }), echo, });

Migrated from folder: HassleBot/discordBot