Unofficial webhook service and REST API for the Final Fantasy XIV Lodestone written in Ruby on Rails. You can find the original Sinatra implementation here.
All of this application's data is made available through a RESTful JSON API. See the documentation for details.
- Ruby (3.1)
- Rails (6.1)
- MariaDB / MySQL
git clone https://github.com/mattantonelli/lodestone
cd lodestone
bundle install
Create the MySQL databases lodestone_development
as well as a database user with access to them
- Create a new Discord app for user authentication. Take note of the client ID and secret.
- Set the redirect URI on the OAuth2 page of your app:
https://localhost:3000/webhook/save
- Set the redirect URI on the OAuth2 page of your app:
- Configure the credentials file to match the format below using your data.
rm config/credentials.yml.enc
bin/rails credentials:edit
mysql:
development:
username: username
password: password
production:
username: username
password: password
discord:
development:
client_id: 123456789
client_secret: abc123
production:
client_id: 234567890
client_secret: def456
bundle exec bin/rake db:migrate
bin/rake news:cache[na,,10]
bin/rake news:cache[eu,,10]
bin/rake news:cache[de,,10]
bin/rake news:cache[fr,,10]
bin/rake news:cache[jp,,10]
bin/rake news:reset_cache
Run whenever
to schedule the application's cronjobs.
bundle exec whenever -s 'environment=INSERT_ENV_HERE' --update-crontab
bin/rails server
FINAL FANTASY is a registered trademark of Square Enix Holdings Co., Ltd.
FINAL FANTASY XIV © SQUARE ENIX CO., LTD.