# 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 bundle exec rake db:migrate ``` ## Run discord ``` bundle exec ./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 ``` bundle exec rake test ``` ### Generate local dock ``` bundle exec 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.