57 lines
1.8 KiB
Markdown
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.
|