TrelloBot/readme.md

43 lines
3.3 KiB
Markdown
Raw Normal View History

2020-04-29 13:54:12 +00:00
# Trellobot
A simple Discord bot to log and report events from your Trello boards in your Discord server.
![Image example of Trellobot alert](https://raw.githubusercontent.com/Angush/trellobot/master/example-alert.png "Image example of Trellobot alert")
## Setup
1. Clone repository.
2. Run `npm install`.
3. Configure `conf.json` file as desired ([see below](#confjson)).
4. Generate tokens and set up `.auth` file ([see below](#auth)).
5. All done. Run Trellobot with `node trellobot.js`.
## conf.json
There are several important values in here which inform Trellobot's operation. Here's what they're all for, and how to set them.
*(optional properties marked with * asterisks)*
Property | Explanation
---------------- | -----------
`boardIDs` | An array of board IDs (strings) determining on which boards Trellobot reports. IDs can be extracted from the URLs of your Trello boards. (eg. the board ID for [https://trello.com/b/**HF8XAoZd**/welcome-board](https://trello.com/b/HF8XAoZd/welcome-board) is `HF8XAoZd`).
`serverID` | An ID string determining which Discord server Trellobot uses. Enable developer mode in Discord and right click a server icon to copy its ID.
`channelID` | An ID string determining which channel on your Discord server Trellobot uses to post reports. Enable developer mode in Discord and right click a channel to copy its ID.
`pollInterval` | An integer determining how often (in milliseconds) Trellobot polls your boards for activity.
`prefix`* | A string determining the prefix for Trellobot commands in Discord. Currently unused. Defaults to `.` (period).
`contentString`* | A string included posted alongside all embeds. If you'd like to ping a certain role every time the bot posts, for example, you would put that string here.
`enabledEvents`* | An array of event names (strings) determining whitelisted events (ie. which events will be reported; if empty, all events are enabled). Eligible event names can be found [in the `events.md` file](https://github.com/angush/trellobot/blob/master/events.md).
`userIDs`* | An object mapping Discord IDs to Trello usernames, like so: `userIDs: {"TrelloUser": "1395184357104955", ...}`, so Trellobot can pull relevant user data from Discord.
`realNames`* | A boolean (defaulting to true) that determines whether Trellobot uses the full names or usernames from Trello (eg. `John Smith` vs `jsmiff2`)
You can refer to the `conf.json` included in the repository for an example.
## .auth
The `.auth` file is included as a template to save you time, but you will need to create the keys and tokens yourself to run Trellobot. Here's how:
Property | How to get the value
-------------- | ----------------------
`discordToken` | Create an app for Trellobot to work through on [Discord's developer site](https://discordapp.com/developers/applications/me/create), then create a bot user (below app description/icon) and copy the token.
`trelloKey` | Visit [this page](https://trello.com/1/appKey/generate) to generate your public Trello API key.
`trelloToken` | Visit `https://trello.com/1/connect?name=Trellobot&response_type=token&expiration=never&key=YOURPUBLICKEY` (replacing `YOURPUBLICKEY` with the appropriate key) to generate a token that does not expire. Remove `&expiration=never` from the URL if you'd prefer a temporary token.
That's all for now.
*i know the name is lame*