Winnie is a Discord bot for authors. Winnie allows users to track goals, challenge each other to word wars and sprints, and get prompts to assist with their writing.
If you want to run Winnie on your server, you can either invite the public Winnie_Bot account or set up your own Discord bot with Winnie's code.
If you want to invite the public Winnie_Bot account to your server, go here.
- Node.js
- npm (Node Package Manager)
- Sign in to Discord
- Go to https://discordapp.com/developers/, and click on 'My Apps'
- Click on 'New App' to create a Discord
- Reveal the token under Bot/Token - you will need this in the next step
- Clone the Winnie_Bot repository onto your server.
- Run
npm install
to get package dependencies. - Edit the
config.json
file in Winnie's root directory as follows: {"token": "your bot's token", "storageUrl": "location of your MongoDB"} - Initialise MongoDB.
- Run
bash tz-script.sh
to download the IANA timezone data. - Run
node main.js
to initialise Winnie.
Click the 'Generate OAuth2 URL' button in the Discord Developer pane to generate your invite URL. Using the invite URL, you can invite your instance of Winnie to any Discord server on which you have administrator permissions.
In order to be able to set timezones, Winnie needs to have the Manage Roles permission turned on. Go to Server Settings > Roles, and select the role to which Winnie is assigned. Turn the Manage Roles permission on for that role.
- Discord.js - Discord API for Node.js
- ESLint - Linting
- MongoDB - Persistent storage
- mongoose - MongoDB framework
- node-gameloop - Timer
- timezone-js - Timezone management
- winston - Log management
Please report bugs by opening an issue on GitHub.
We welcome all contributors to Winnie. Your pull requests will be reviewed by the authors prior to merging. Please document your code, and play nicely with other contributors.
- Dawn E. Collett - Primary Developer - GitHub
- Robert W. McLeod - Server management assistance - GitHub
This project is licensed under the MIT License - see the LICENSE file for details
- Winnie is inspired by Timmy, ChatNaNo's IRC bot. Timmy can be found at https://github.com/utoxin/TimTheWordWarBot.
- Prompts were brainstormed by NaNo's Australia::Melbourne region.
Winnie's repository is located at https://github.com/lisushka/Winnie_Bot. Winnie's avatar, 'Tiny Cities', was created by Rachael Wheeler (Etlu-Yume on NaNo). Prints, notebooks, and other items featuring 'Tiny Cities' are available for purchase here.