Skip to content
This repository has been archived by the owner on Dec 3, 2021. It is now read-only.

A TypeScript framework which works as an API wrapper for chat bots such as discord or slack.

License

Notifications You must be signed in to change notification settings

Blackhawk-TA/dynoBot-Framework

Repository files navigation

dynoBot-Framework

license Build Status npm github

End of life

Due to discord's decision to enforce slash commands for bots, I will stop developing this project. This means that I won't fix any issues or bugs nor add new features. The project will remain on GitHub, but it will be achieved.

This also applies for the dynoBot project.

Overview

  1. dynoBot-Framework
  2. Documentation
  3. Setup
  4. Events
  5. Implementation

dynoBot-Framework

dynoBot-Framework is an chat bot api wrapper which allows you to code your bot independently from chat bot APIs such as the ones from discord or slack. Currently only discord bots are supported. Slack will follow soon.

Documentation

You can find a documentation for the dynoBot-Framework here:

http://dynodoc.tapadventures.com/

Setup

npm install dynobot-framework

Now you can use the framework by adding following line:

const {DiscordBot} = require("dynobot-framework");

Events

Supported events:

  • error - returns Error object
  • serverMemberAdd - returns User object
  • serverMemberRemove - returns User object
  • message - returns Message object
  • ready - no return value

Events can be used like this:

Bot.onEvent("<event-name>", (returnValue) => {
	//Code that shall be executed when the event was triggered
});

Implementation

There is an open source bot called dynoBot which uses the dynoBot-Framework. You can take a look at it if you prefer a more realistic implementation example.

There is also an example of a simple bot implementation to get started withk:

const {DiscordBot} = require("dynobot-framework");
const Bot = new DiscordBot("<discord-token>");

Bot.onEvent("ready", () => {
	console.log("Bot started");

	Bot.onEvent("message", (msg) => {
		if (msg.isMentioned(Bot.getClient().getUser())) {
			msg.getTextChannel().send("OK");
		}
	});
});