MetalAdventures/README.md

57 lines
1.8 KiB
Markdown

# Metal Adventures: Aides de jeu
Ce logiciel est un site web qui permet de faciliter l'utilisation de règles de Metal Adventures.
Le logiciel est à la fois un framework d'implémentation de règles de jeu, leur implémentation, et une interface web pour les utiliser de manière simple.
Les règles sont implémentées "rules sas writting".
Le logiciel utilise des "utilisateurs" pour enregistrer des séries pour ne pas avoir à retaper une configuration entière à chaque lancé de dès lors d'une partie/campagne.
## Installation
Have ruby 3 installed along with bundle (it should probably be shipped with ruby via your package manager).
```
bundle install
# 1. create you bot via https://discord.com/developers/applications
# 2. invite the bot
# https://discord.com/api/oauth2/authorize?client_id=XXX&permissions=534723950656&scope=bot%20applications.commands
echo DISCORD_TOKEN=XXXX > .env
echo DATABASE_URL=sqlite://dev.db >> .env
rake db:migrate
```
## Run discord
```
./src/discord/bot.rb
```
## Development
* [Database models, schemas, migrations](http://sequel.jeremyevans.net/rdoc)
* [Ruby doc](https://ruby-doc.org/core-3.1.0)
* Discordrb doc: [documentation](https://drb.shardlab.dev/v3.4.0/), [tutoral](https://github.com/shardlab/discordrb/wiki)
* [Game rules](https://share.sceptique.eu/MetalAdventures/)
* [Test documentation](https://docs.seattlerb.org/minitest/index.html) and [mocking documentation](https://github.com/freerange/mocha)
### Run tests
```
rake test
```
### Generate local dock
```
yard -- src
```
### Discord: Create a new plugin
1. Create a new file `src/discord/xxx_plugin.rb`
2. Make a class in it. The initialize method take one parameter (the bot).
3. Plug the module in the bot `src/discord/bot.rb` with `.plug`
4. Run the bot.